杨双义 郑州工业应用技术学院 河南新郑 451150
【文章摘要】
随着电子技术的日新月异,电子产品已经运用到我们生活的方方面面。在当今这个时代,时间更是如生命般宝贵,有时候由于种种原因我们会把重大的事情忘得一干二净,故此我们急需一款简单便捷的电子产品来听行我们。本设计是根据单片机原理开发的的自动报时系统。自动报时系统以AT89C51 单片机为核心部件, 采用独立式按键来进行时间调整以及闹钟设置,用共阳极数码管来实现时间的动态显示,该设计采用DS1302 时钟芯片,动态缓冲器74LS240 作为数码管的动态扫描控驱动制, 用单片机I/O 口外接门74LS06 做为数码管的位选信号的驱动。
【关键词】
单片机;自动报时;时钟;动态
0 引言
电子技术已经走进千家万户,近些年集成电路的发展大家也是有目共睹的。我们用的电脑、电视,小至我们用的手机、话筒、耳机等等都是近些年产生的比较实用的电子产品。有时候由于工作的忙碌和生活的琐事往往让我们忘记要做的事情,事情不大则罢,一旦事情重大,我们将是追悔莫及。比如说我们现在用到最多的交通工具——电动车,但我们给电动车充电时,如果充满了忘记了断电,轻则电动车损坏,重则将会引起火灾,后果不堪设想。因此,很有必要设计一个比较便捷简单的自动报时系统来随时提醒那些容易忘记时间的人们。自动报时器的数字化给人们生产生活带来了极大的方便,而且很大的优化了原先中标的自动报时功能。比如可以自己进行报警时间的设定,闹铃的准时性,以及时间程序的可编程性,大大减少了外围部件,有效的降低了产品成本。另外自动报时系统应用的也比较广泛,比如自动关闭电源,手机使用中某个特定时间的闹铃提醒等。
1 系统电路设计原理
本电路以AT89C51 单片机为核心部件,其ROM 为4KB, 由于其程序存储器比较充足;我没没必要对其进行外部扩展, 起内部有128B 的数据存储器,也不必再进行外部扩展,而且外部扩展RAM 和大的影响单片机处理数据的速度,得不偿失。本设计采用6 位LED 显示和4 个独立按键,用P1 接口外接74LS240 作LED 动态扫描的段码控制驱动信号, 用P0 接口的P0.0-P0.5 外接一反相门电路74LS06 做为 LED 的位选信号驱动,数码管的8 根段选线与74LS240 的输出端连接;LED 共阳极端与74LS06 的输出端相连;按键与P2.7、P2.6、P2.5、P2.4 相连。DS1302 时钟芯片接口分别由P1.0、P1.1、P1.2 进行控制,P3.6 与闹钟蜂鸣器相连。
1.1 按键控制电路
单片机系统开发时,往往只需要很少的按键向系统反馈信号。在这种情况下,我们只需将按键直接与一根I/O 口线连接。
1.2 自动报时系统的按键工作原理
本系统中按键采用的是四个独立按键,一个功能键,一个数字调整键,一个为取消键,用这三个键来调整时间;另外一个键,用来进行定时时间设定。
1.3 时钟芯片DS1302 介绍
DS1302 是美国DALLAS 公司推出的一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V ~ 5.5V。采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302 内部有一个31×8 的用于临时性存放数据的RAM 寄存器。DS1302 是DS1202 的升级产品,与DS1202 兼容,但增加了主电源/ 后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
2 系统的软件设计
2.1 主程序模块
本模块包括主程序和按键控制程序两部分,首先读时间并对定时时间经性判断。主程序初始化后,对DS1302 读时间; 读完之后与定时时间进行比较;之后对按键进行逐个扫描检测是否进入按键程序中;再读时间完成程序循环。流程图如2.1 所示。
2.2 显示程序模块
采用动态扫描的方式进行显示,位码控制哪一个数码管来显示,段码控制这个数码管哪个笔段显示,一位显示完成后判断六位是否已经显示完,没有显示完继续显示下一位,显示完了重新开始循环。流程图如图2.2 所示。
2.3 按键程序模块
按键程序开始,判断是否有键按下,如果没有,则调用延时重新判断,如果有, 调用去抖动程序,再一次判断有键按下没有,如果没有返回延时程序;如果有,则判断键号,入栈,判断键释放没有,没有,判断继续,释放了,则输入键号送至累加器,返回主程序。流程图如图2.3 所示。
【参考文献】
[1] 李传军. 单片机原理及应用. 郑州. 河南科技出版社,2006
[2] 饶庆
[3] 陈立国, 陈宇等. 单片机原理及应用. 北京: 机械工业出版社,2001
[4] 朱善军等. 单片机接口技术与应用. 北京. 清华大学出版社,2005
[5] 刘和平,刘跃. 单片机原理及应用. 重庆. 重庆大学出版社,2004
[6] 徐玮. 沈建良. 单片机快速入门. 北京. 北京航空航天大学出版社,2008
[7] 杨西明. 朱骐. 单片机编程与入门. 北京. 机械工业出版社,2004
[8] 楼然苗. 李光飞.51 系列单片机设计实例. 北京. 北京航空航天大学出版社,2003
【作者简介】
杨双义(1987-),男,河南开封人,大学本科,研究方向:电子电气。
图2.1 主程序流程图
图2.3 按键程序流程图
图2.2 显示子程序流程图008