以AT89C51单片机为控制核心的低成本高精度倒计时系统设计

以AT89C51单片机为控制核心的低成本高精度倒计时系统设计,第1张

1 引 言

倒计时系统的任务, 就是对某一设定日期进行倒数, 并在显示屏显示当前至设定日期的时间, 以增强人们的关注度和紧迫感。开发实践表明: 以时钟芯片DS12C887为时钟模块、单片机AT89C51为控制模块的高精度倒计时系统具有精度高、能够长时间连续稳定地工作、使用方便的特点, 可较好满足实际需要。系统的硬件设计和软件设计如下。

2 系统的硬件设计

系统的控制模块由AT89C51单片机构成, 用于完成对串行口控制器的初始化和数据读写, 并对接收的各种数据进行识别、转储及显示。时钟芯片DS12C887提供高精度的年、月、日、时、分、秒时间,校准后直接与单片机相连。倒计时显示模块由LED数码管, 74HC595芯片和74LS245芯片组成。

系统总体框图如图1所示。

以AT89C51单片机为控制核心的低成本高精度倒计时系统设计,以AT89C51单片机为控制核心的低成本高精度倒计时系统设计,第2张

图1 系统总体结构图

2. 1 时钟模块及其与单片机的连接

时钟模块用于对时、分、秒、年、月、日和星期的计时, 由美国DALLAS 公司生产的时钟日历芯片DS12C887构成, 该芯片集成度高, 可提供年、月、日、时、分、秒, 设定每一时刻产生中断, 并且其外围电路设计简单, 性能好, 计时准确性高。DS12C887带有128字节RAM, 其中有11字节RAM 用来存储时间信息, 4字节RAM用来存储DS12C887的控制信息,为控制寄存器。用户可以在任何时候对其进行访问以对DS12C887进行控制 *** 作, 有113字节的通用RAM 供用户使用。用户还可对DS12C887进行编程以实现多种方波的输出, 并对内部的三路中断通过软件进行控制。DS12C887为双列直插式封装, 与单片机的连接为: AD0~ AD7双向地址/数据复用线与单片机的P0口相联, 用于向单片机交换数据; AS地址选通输入脚与单片机的ALE 相联用于对地址锁存, 实现地址数据的复用; CS片选线与单片机的P2. 6相联, 用于选通时钟芯片; DS数据选通读输入引脚与单片机的读选通引脚相联, 用于实现对芯片数据的读控制; R /W读/写输入与单片机的写选通引脚相联, 用于实现对时钟芯片的写控制;MOT 直接接地, 选用INTEL 时序; IRQ 引脚与单片机的INT1相连, 用于为时间的采集提供时间基准。

2. 2 显示模块的设计

单片机将读入的DS12C887时间信息经过程序处理, 输出显示信号到P1口, 显示信息包括倒计时信息(当前距离设定时间的天数)和当前时间的星期、时、分、秒信息。显示电路主要由9个LED 数码管, 9 片74HC595 芯片和一片74LS245芯片组成。

3 系统的软件设计

系统的主程序包括: 对单片机串行口的设置以及初始化→读取DS12C887时钟芯片→判断是否计算倒计时→显示。初始化12887为24小时制, BCD码, 不允许中断, 分配12887的始地址为B000H, A寄存器的地址为B00AH, B 寄存器的地址为B00BH, C寄存器的地址为B00CH, D寄存器的地址为B00DH, DS12887的内部分配如表1所示。

表1 DS12887的内部分配。

以AT89C51单片机为控制核心的低成本高精度倒计时系统设计,以AT89C51单片机为控制核心的低成本高精度倒计时系统设计,第3张

显示子程序首先通过模拟串行口读取DS12C887的数据, 然后利用74HC595 对数据进行显示。具体步骤为: 显示子程序将P1. 0 置位 将P1. 0送入段码 将P1. 1送入移位脉冲 将P1. 2送入锁存脉冲 返回主程序。倒计时子程序首先由单片机读DSl2C887的时间单元, 并将其存放在以69H 为起始的单元中, *** 作时先读取月份, 然后利用查表方法计算其下月份到预定时间的天数, 再利用查表方式判断其月份是31天、30天, 28天或29天,将查表得到的天数减去读取日期, 将二个天数相加就可得到实际天数。进行时、分、秒计算时, 可以直接利用预定时、分、秒减去读取的时、分、秒得到相差的时、分、秒, 完成后返回主程序。

4 结束语

综上, 所设计的倒计时系统由DS12C887构成时钟模块, 单片机AT89C51 对系统进行控制, 设定从模拟串行口读取DS12C887 的数据后, 再利用74HC595将数据送入数码管显示。系统经调试和参数整定后运行稳定可靠, 连续长期运行积累误差为零, 为高精度的倒计时系统。实践开发表明, 基于上述技术的倒计时系统具有结构紧凑、简单, 价格低廉, 可靠性高等特点, 便于实际应用。

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

原文地址: http://outofmemory.cn/dianzi/2619899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-10
下一篇 2022-08-10

发表评论

登录后才能评论

评论列表(0条)

保存