📄 code.c
字号:
//按键扫描码定义,当前只包括了从a到z一共26个字母的扫描码,根据需要可以增加,比如增加阿拉伯数字0-9的扫描码
#define _A_M 0X1c //以下后缀是M的对应扫描码中的通码,后缀为B的对应断码
#define _A_B 0Xf0,0x1c
#define _B_M 0X32
#define _B_B 0Xf0,0X32
#define _C_M 0X21
#define _C_B 0Xf0,0x21
#define _D_M 0X23
#define _D_B 0XF0,0X23
#define _E_M 0X24
#define _E_B 0XF0,0X24
#define _F_M 0X2B
#define _F_B 0XF0,0X2B
#define _G_M 0X34
#define _G_B 0XF0,0X34
#define _H_M 0X33
#define _H_B 0XF0,0X33
#define _I_M 0X43
#define _I_B 0XF0,0X43
#define _J_M 0X3B
#define _J_B 0XF0,0X3B
#define _K_M 0X42
#define _K_B 0XF0,0X42
#define _L_M 0X4B
#define _L_B 0XF0,0X4B
#define _M_M 0X3A
#define _M_B 0XF0,0X3A
#define _N_M 0X31
#define _N_B 0XF0,0X31
#define _O_M 0X44
#define _O_B 0XF0,0X44
#define _P_M 0X4D
#define _P_B 0XF0,0X4D
#define _Q_M 0X15
#define _Q_B 0XF0,0X15
#define _R_M 0X2D
#define _R_B 0XF0,0X2D
#define _S_M 0X1B
#define _S_B 0XF0,0X1B
#define _T_M 0X2C
#define _T_B 0XF0,0X2C
#define _U_M 0X3C
#define _U_B 0XF0,0X3C
#define _V_M 0X2A
#define _V_B 0XF0,0X2A
#define _W_M 0X1D
#define _W_B 0XF0,0X1D
#define _X_M 0X22
#define _X_B 0XF0,0X22
#define _Y_M 0X35
#define _Y_B 0XF0,0X35
#define _Z_M 0X1A
#define _Z_B 0XF0,0X1A
#define _NULL_M 0
#define _NULL_B 0
//扫描码存储格式,在单片机程序存储区
unsigned char code
_A_[]={_A_M,0,_A_B,0}, //各数组扫描码通码和断码之间用0隔开,在发送扫描码时如果当前数组元素为0则表示发送完成(通码或者断码)
_B_[]={_B_M,0,_B_B,0},
_C_[]={_C_M,0,_C_B,0},
_D_[]={_D_M,0,_D_B,0},
_E_[]={_E_M,0,_E_B,0},
_F_[]={_F_M,0,_F_B,0},
_G_[]={_G_M,0,_G_B,0},
_H_[]={_H_M,0,_H_B,0},
_I_[]={_I_M,0,_I_B,0},
_J_[]={_J_M,0,_J_B,0},
_K_[]={_K_M,0,_K_B,0},
_L_[]={_L_M,0,_L_B,0},
_M_[]={_M_M,0,_M_B,0},
_N_[]={_N_M,0,_N_B,0},
_O_[]={_O_M,0,_O_B,0},
_P_[]={_P_M,0,_P_B,0},
_Q_[]={_Q_M,0,_Q_B,0},
_R_[]={_R_M,0,_R_B,0},
_S_[]={_S_M,0,_S_B,0},
_T_[]={_T_M,0,_T_B,0},
_U_[]={_U_M,0,_U_B,0},
_V_[]={_V_M,0,_V_B,0},
_W_[]={_W_M,0,_W_B,0},
_X_[]={_X_M,0,_X_B,0},
_Y_[]={_Y_M,0,_Y_B,0},
_Z_[]={_Z_M,0,_Z_B,0},
_NULL_[]={_NULL_M,0,_NULL_B,0};
/*按键扫描码存储区地址数组,通过修改排列顺序可改变按键定义。比如当前第一行第一列对应字母a,第一行第二列对应
字母b,第一行第三列对应字母c,如果将kk[]改为kk[]={_C_,_B_,_A_,..............},则第一行第一列将对应字母c,以此类推
在对键盘进行扫描时通过扫描的行和列可以计算出当前扫描到的按键的位置,每一位置对应按键扫描码存储区地址数组的一个数组,
*/
typedef unsigned char code *tt;
tt code kk[]={
_A_,
_B_,
_C_,
_D_,
_E_,
_F_,
_G_,
_H_,
_I_,
_J_,
_K_,
_L_,
_M_,
_N_,
_O_,
_P_,
_Q_,
_R_,
_S_,
_T_,
_U_,
_V_,
_W_,
_X_,
_Y_,
_Z_,
_NULL_};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -