51单片机独立按键检测程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#define uchar unsigned char
#define uint unsigned int
sbit key=P3^3; //位定义与P3^3口相连的独立按键
uchar num;
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void key_scan()
{
if(key==0) //判断是否按键被按下
{
delay(1); //延时用以消除抖动
if(key==0) //再次判断按键是否依然是按下状态
{
while(!key); //等待按键松手
num++;
if(num==16)
num=0;
}
}
}
void main()
{
while(1)
{
key_scan(); //调用按键扫描程序
P1=~num; //将结果通过P1口小灯显示
}
}
/*
按键检测流程:判断按下,延时消抖再判断,等待按键松手再操作
注:此处可以将按键结果通过数码管显示,程序自己调整
*/