中易网

单片机键盘消抖,用延时消抖,汇编语言

答案:1  悬赏:0  
解决时间 2021-10-13 03:32
  • 提问者网友:雾里闻花香
  • 2021-10-12 13:48
单片机键盘消抖,用延时消抖,汇编语言
最佳答案
  • 二级知识专家网友:长青诗
  • 2021-10-12 14:10
一般是延时40ms到80ms之间,你可以取60ms试一下。用汇编或者C语言写一个延时程序就行,如果系统还要干别的时,比如扫描数码管显示什么的,等不了这么常时间,为了提高CPU的利用效率,你可以用定时器中断来延时,这样在定时器计数的时间内只要把键盘扫描使能关了,就可以让处理器干别的事了。延时到了再打开键盘使能就行了。
下边普通延时程序,晶振12M,一个时钟周期是12个机器周期的情冲下的延时60ms汇编子程序如下:
DELAY: ;延时60ms误差 0us
MOV R7,#07H
DL1:
MOV R6,#0A8H
DL0:
MOV R5,#18H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
下边同样硬件的情况下,C语言的延时子程序:
void delay(void) //延时60ms误差 0us
{
unsigned char a,b,c;
for(c=7;c>0;c--)
for(b=168;b>0;b--)
for(a=24;a>0;a--);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息