微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 89C52和DS12887做的倒计时器

89C52和DS12887做的倒计时器

时间:11-24 来源:互联网 点击:
今天有个同事说让我帮忙做个倒计时器,来控制1个继电器的开和关,不过要低功耗,正好以前做过个路灯控制器,是双继电器的,用的是STC89C52+DS12887+1602,就稍微改造了下电路,在解决了一些小bug后,顺利完工,我还是比较满意的。

具体的方法是把以前控制另一个继电器的管脚用来控制液晶的背光,由于他要求是键盘按下要求管脚感知高电平(不知道为啥),所以把键盘的电路也小改了下,最后改了下程序,下班前已经基本完成。

倒计时的思路是在DS12887非易失性RAM中写入定时的时、分、秒,那么设定的倒计时时间久不会丢失,然后判断时钟的秒位有没变化,如果变化了,将定时时间的秒位减1,减到-1将定时秒位赋59,然后分减1,小时也是同样,最后当定时的秒、分、时全为0时,则继电器断开,定时结束,还有一些显示方面的要求也满足了下他

该倒计时器的功耗主要来自液晶的背光,因此平时背光都关闭,当有键按下时,背光开启,待检测到无键按下10S后背光关闭,这个是用51定时器0的中断来做的。0.1ms产生一次中断,累计到10ms检测一次键盘状态,如果有键按下,就重新计时,否则累加到10S。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top