1、 I 摘摘 要要 本文借助电路仿真软件 Protues 对基于 AT89S51 单片机的电子万年历的设计方法及仿 真进行了全面的阐述。该电子万年历在硬件方面主要采用 AT89C51 单片机作为主控核心, 由 DS1302 时钟芯片提供时钟、1602LCM 点阵液晶显示屏显示。AT89C51 单片机是由 Atmel 公司推出的,功耗小,电压可选用 46V 电压供电;DS1302 时钟芯片是美国 DALLAS 公司 推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、 分、秒进行计时,还具有闰年补偿等多种功能,而且 DS1302 的使用寿命长,误差小;数 字显示是采用的
2、LED 液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒等 信息。此外,该电子万年历还具有时间校准等功能。在软件方面,主要包括日历程序、时 间调整程序,显示程序等。所有程序编写完成后,在 Keil 软件中进行调试,确定没有问 题后,在 Proteus 软件中嵌入单片机内进行仿真。 论文主要研究了液晶显示器 LCM 及时钟芯片 DS1302, 温度传感器 DS18B20 与单片机之 间的硬件互联及通信,对数种硬件连接方案进行了详尽的比较,在软件方面对日历算法也 进行了论述。 研究结果表明,由于万年历的应用相当普遍,所以其设计的核心在于硬件成本的节约 软件算法的优化,力求做到物美价廉,才
3、能拥有更广阔的市场前景。 关键词:关键词:单片机;DS1302;DS18B20;LCM1602 单片机在万年历的应用 II 目目 录录 第第1 1 章章 方案设计方案设计.1 1.1 单片机芯片的选择 1 1.2 显示模块选择方案和论证 1 1.3 时钟芯片的选择方案和论证 . 1 1.4 温度传感器的选择方案与论证 2 1.5 电路设计最终方案决定 2 第第 2 2 章章 系统的硬件设计与实现系统的硬件设计与实现 . 3 2.1 电路设计框图 3 2.2 系统硬件概述 3 2.3 主要单元电路的设计 . 4 2.3.1 AT89S51 单片机主控制模块的设计 . 4 2.3.2 单片机中断系
4、统. 6 2.3.3 时钟电路模块的设计 8 2.3.4 温度采集模块设计 9 2.3.5 显示模块的设计10 2.3.6 DS1302 原理及说明 11 2.3.7 LCM1602 工作原理及说明 .13 2.3.8 系统仿真电路 14 第第 3 3 章章 系统的软件设计系统的软件设计 .16 3.1 程序流程框图.16 3.2 子程序18 III 第第 4 4 章章 系统测试系统测试 19 4.1 硬件测试 19 4.2 软件测试 19 总结总结.19 致谢致谢 .21 参考文献参考文献22 附录:程序附录:程序 23 1 第第 1 章章 方案方案设计设计 1.1 1.1 单片机芯片的选择
5、单片机芯片的选择 本设计采用 AT89S51 芯片作为硬件核心,该芯片采用 Flash ROM,内部具有 4KB ROM 存储空间,相对于本设计而言程序空间完全够用。能于 3V 的超低压工作,而且与 MCS-51 系 列单片机完全兼容,而且运用于电路设计中时具备 ISP 在线编程技术,当在对电路进行调试 时,由于程序的错误修改或对程序的新增功能需要烧入程序时,避免芯片的多次拔插对芯 片造成的损坏。 1.2 1.2 显示模块选择方案和论证显示模块选择方案和论证 方案一: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文 字比较适合,如采用在显示数字显得太浪费,且价格也相
6、对较高,所以也不用此种作为显 示。 方案二: 采用 LED 数码管动态扫描,LED 数码管价格虽适中,对于显示数字也最合适,而且采用动 态扫描法与单片机连接时,占用的单片机口线少。但是由于数码管动态扫描需要借助 74LS164 移位寄存器进行移位,该芯片在电路调试时往往会有很多障碍,所以不采用 LED 数码管作为显示。 方案三: 采用 LCD 液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清 晰可见 3,对于电子万年历而言,一个 1602 的液晶屏即可,价格也还能接受,需要的接口线 较多,但会给调试带来诸多方便,所以此设计中采用 LCD1602 液晶显示屏作为显示模块。 1.3 1.3 时钟芯片的选择方案和论证时钟芯片的选择方案和论证 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、 单片机在万年历的应用 2 秒计数。采用此种方案虽然可以减少时钟芯片的使用,节约成本,但是,实现的时间误