
程序:
ORG
00H
START:
MOV
A,P1
ANL
A,#0F0H
RR
A
RR
A
RR
A
RR
A
ORl
A,#0F0H
MOV
P1,A
SJMP
START
可以检测单个按键,也可以同时检测多个按键
过程:开始——读P1口数据到A——A中的数据右移4次——A中的内容和F0H相或——A中的数据送到P1口——回到开始
一个按键时程序如下:while(1)
{
if(key==0)//按键按下
{ delayms(20)//延时消抖
if(key==0)//再次判断按键是否按下
{
while(key==0)//按键没有抬起
{ led=!leddelayms(200)}//LED闪烁
}
}
else led=0
}
定时器让LED引脚输出高低变化的电平,在主函数里判断按键是否按下,如果按下就让LED引脚保持并关闭定时中断。第二种方法是 主函数里让LED引脚输出高低变化电平,按键用外部中断。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)