单片机数字钟设计时的消抖问题

单片机数字钟设计时的消抖问题,第1张

其实,消抖与数字钟没有什么关系,与定时器更没有关系。,

消抖是针对按键的,因电子钟中要用按键,用来调时,也要用定时器,所以,你才误把这三者联系在一起了。

按键是金属片机械接触的,所以,在按下的时候,会因为机械抖动,产生多次的接触,本来是只按一次,应该是接触一次的,但实际上是接触很多次,还是未知的。造成的现象就是,本来按一下键,但却好像 按了n 次一样,这就是所谓的抖动。

消抖动就是克服按键的多次接触,保证每次按键只识别出一次接触。

消抖动的 方法就是写程序时,每当判断有按键按下后,先延时一段时间,再判断一次,如果还保证有按键才有效。这样写

if(key==0) //第一次判断按键被按下,key就是按键

{

delay()//延时

if(key==0) //第二次判断按键被按下

{

//从这开始写按键后程序

while(key==0) //等待按键松开

}

}

当按钮按下或松开时,会向单片机CPU 输入一个0电平或1电平,CPU 根据接收到的0或1电不平信号,决定具体的 *** 作。但是,在在键的按下和松开时,开关的机械触点会产生抖动,一般抖动时间是5 ~10ms 左右,抖动的波形如图2.2.1在拉动期间CPU 不能按收到稳定的电平而无法作出正确的判断,因此,需在对按钮进行去抖动处理。

图2.2.1 按钮时,产生抖动的波形示意图

为了消除抖动,如图2.2.2所示,是利用反相器集成电路来实现消除抖动功能的。当开始按钮按下时,反相器的①端为低电平,尽管按下按钮会产生抖动,但由于反相器的作用,在②端会产生一个稳定的高电平。在按钮松开的过程中,由于①变为高电平,同样由于反相器的作用,在②端会产生一个稳定的低电平。停止消抖动电路原里一样。

CD4511译码器电路

硬件消抖电路

74LS14

程序控制芯片 AT89C51

模拟交通发光管电路,四路方向灯。三基色发光管8只 LED 四方向数码管

6MHZ 时钟电路

803与8051仿真切换电路

控制按钮

电源指示灯,CPU 指示灯电路

电源


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10956132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存