矩阵键盘的单个出发---代码简单,但是代码量较大,下一例将给出压缩后的代码
/***12个按键,每一个按键都会让蜂鸣器发出“嘀”的一声***/ #include "REG52.H" #define const_voice_short 40 #define const_key_time 20 void initial_myself(); void initial_peripheral(); void delay_long(unsigned int uiDelaylong); void T0_time(); void key_service(); void key_scan(); sbit key_sr1=P0^1; //第一行输入 sbit key_sr2=P0^2; //第二行输入 sbit key_sr3=P0^3; //第三行输入 sbit key_dr1=P0^4; //第一列输出 sbit key_dr2=P0^5; //第二列输出 sbit key_dr3=P0^6; //第三列输出 sbit key_dr4=P0^7; //第四列输出 sbit beep_dr=P1^5; unsigned char ucKeyStep=1; //按键扫描步骤变量 unsigned char ucKeySec=0; //被触发的按键编号 unsigned int uiKeyTimeCnt=0; //按键去抖动延时计数器 unsigned char