文档详情

51单片机使用状态机的键盘程序(国外英文资料).doc

发布:2017-06-10约1.02万字共24页下载文档
文本预览下载声明
51单片机使用状态机的键盘程序(国外英文资料) I also have a keyboard program that USES a state machine, supporting single and double bonds Single key, keyboard, state, program, do the busy 1 - header file: KeyBoard. H # ifndef _Key_Board_h_ Pound sign define _Key_Board_h_ # define Key_Up 0x3E / / up arrow # define Key_Down 0x3D / / down arrow # define Key_Add 0x3B / / # define Key_Sub 0x37 / / subtract # define Key_Enter 0x2F / / enter # define Key_Return 0x1F / / return # define Key_LR 0x33 / / the key / / you can define other combination keys here... # define Key_NULL 0xFF / / no buttons / / declare several functions that need to be called outside Extern void Key_Board_Init (void); / / keyboard interface initialization Extern u8 Read_Key (void); / / read the key function, return the key value in the keyboard buffer Extern void Key_In (void); / / processing key input functions, which are called in the timer interrupt Extern void Key_Board_Test (void); / / keyboard interface test functions (used only in debug phase) # endif 2 - source file: KeyBoard. C / / # include includes.h / / public header files # include key_board.h / / keyboard buffer associated constant definition # define KeyBuffLen 8 / / define key-value ring buffer length 8 (buffer size is freely defined, as long as it is greater than 0) / / define a keyboard buffer structure Struct Struct_KeyBoardBuff { U8 buff [KeyBuffLen]; / / key-value ring buffer U8 in; / / write key values (timer interrupts) U8 out; / / read key value indicator (user read) } the Key; / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Function prototype: void Key_Board_Init (void) Function: initialize the keyboard interface, zeroing the key value buffer Incoming parameter: no Return parameter: no Global variables: direct operation of the keyboard buffer structure Set: mohanwei amo73@126.com Modification date: 2007-9-5 Note: it is invoked only once when it is i
显示全部
相似文档