特别注意:
P3_1代表K1
P3_0代表K2
P3_2代表K3
P3_3代表K1。
unsigned char KeyNumber = 0;
if(P3_1==0){ //表示如果按键按下
Delay(20); //延时20ms用来消抖
while(P3_1==0); //while空程序,手一直按住按键,程序一直卡在这里,直到松手跳出此循环
Delay(20); //再次延时20ms消抖
KeyNumber=1;} //记录键码值
类比上方代码,把它封装成一个函数方便调用。
#include <REGX52.H>
#include "Delay.h"
unsigned char Key()
{
unsigned char KeyNumber = 0;
if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);KeyNumber=1;}
if(P3_0==0){Delay(20);while(P3_0==0);Delay(20);KeyNumber=2;}
if(P3_2==0){Delay(20);while(P3_2==0);Delay(20);KeyNumber=3;}
if(P3_3==0){Delay(20);while(P3_3==0);Delay(20);KeyNumber=4;}
return KeyNumber;
}
版权声明:本文为weixin_63135906原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。