51单片机的电子万年历的设计
1 设计要求与方案论证 1
1.1 设计要求 1
1.2 系统基本方案选择和论证 1
1.2.1 单片机芯片的选择方案和论证 1
1.2.2 显示模块的选择方案和论证 2
1.2.3 时钟芯片的选择方案和论证 2
1.2.4 温度传感器的选择 2
1.2.5 电路设计最终方案决定 2
2 系统的硬件设计 3
2.2 系统硬件概述 3
2.3 主要单元电路设计 3
2.3.1 单片机主控制模块的设计 3
2.3.2 时钟电路模块的设计 4
2.3.3 温度采集模块的设计 5
2.3.4 显示模块的设计 5
3 系统的软件设计 6
3.1 程序流程框图 6
3.2 时间调整程序设计 7
3.3 温度数据采集与显示程序设计 8
3.3.1 基本功能实现程序 8
3.3.2 读出温度子程序 8
3.3.3 温度转换命令子程序 8
3.3.4 温度计算子程序 9
3.3.5 显示数据刷新子程序 9
4 proteus软件仿真 10
4.1 ProteusISIS简介 10
4.2 Proteus运行流程 10
4.3 Proteus功能仿真 10
5 结束语 14
致谢 15
参考文献 16
附录 17
引言
随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术 *51今日免费论文网|www.jxszl.com +Q: *351916072*
的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。
本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。
万年历是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于家庭,站台,机场,写字楼等公共场所,成为人们日常生活中必不可少的工具。数字钟的精度远远领先老式钟表,因为数字集成电路的日益发展和人们对石英晶体振荡器的广泛应用,钟表的数字化带给我们生活极大的方便,并且极大地拓宽了钟表的原有功能。因此,研究万年历并且对其进行扩大应用是具有非常现实意义的。
本系统采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD液晶显示,使人机交互简便易行。
1 设计要求与方案论证
1.1 设计要求
(1)显示公历日期功能(年、月、日、时、分、秒以及星期)(2)可通过按键切换年、月、日及时、分、秒的显示状态(3)可随时调校年、月、日或时、分、秒(4)可每次增、减1进行时间调节可动态完整显示年份,实现真正的万年历显示。(5)具有温度计功能。
1.2 系统基本方案选择和论证
1.2.1 单片机芯片的选择方案和论证
方案一:采用89C51芯片,采用Flash ROM,具备4KB ROM 存储空间,在3V的超低压下能够正常工作,完全兼容MCS-51系列单片机,但是运用于电路设计中时因为不具备ISP在线编程技术,在对电路调试时,由于程序的错误校正或对程序的新增功能需要烧入程序时,需要多次拔插芯片,会对其造成一定的损坏。
方案二:采用AT89C52芯片,其中ROM全部采用Flash ROM,在3V的超底压下能够正常工作,同时也完全兼容MCS-51系列单片机,内部存储器是8KB ROM存储空间,拥有89C51功能的同时在在线编程时也可进行擦除,在对电路调试时,当错误修改程序或对程序添加新功能需烧入程序时,不需要数次拔插芯片,因此不会损坏芯片。综合考虑,主控制系统选择方案二AT89C52芯片。
1.2.2 显示模块的选择方案和论证
方案一:采用LED数码管动态扫描,LED数码管拥有适中的价格,比较适合显示数字,当使用动态扫描法与单片机相连时,占用的单片机口线少,但焊接频繁较麻烦,附带驱动元件太多,容易出错,所以不予采用。
方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,适合显示文字,但显示数字会比较浪费,并且价格较高,所以也不采用。
方案三:采用LCD液晶显示屏,液晶显示屏能够大量显示文字,图形等,显示多样,清晰可见,虽然接线口较多,但是焊接简单。综合考虑,显示模块采用方案三LCD液晶显示屏。
1.2.3 时钟芯片的选择方案和论证
方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。这种方案虽然芯片使用会减少,节约了成本,但是产生时间误差较大。所以不采用。
方案二:采用DS1302时钟芯片实现时钟,DS1302芯片可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,拥有较高性能,精度高。综合考虑,采用方案二DS1302时钟芯片。
1.2.4 温度传感器的选择
方案一:采用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集两个电阻的变化分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:采用数字式温度传感器DS18B20。此类传感器为数字式传感器,且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低了硬件的成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。综合考虑,选择采用DS18B20作为温度传感器。
1.2.5 电路设计最终方案决定
综合以上各个方案所述,本设计总体方案选定: 采用AT89C52作为主控制芯片;DS1302作为时钟芯片来实现时钟;DS18B20作为温度传感器;LED数码管动态扫描作为显示模块。
2 系统的硬件设计
2.1 电路设计框图
图2-1电路设计框图
2.2 系统硬件概述
本电路以AT89C52单片机为控制核心,具备在线编程功能,功耗低,在3V 超低压下能正常工作;由DS1302提供时钟电路,它是一种高性能、低功耗、带RAM的4实时时钟电路,能够计算年、月、日、周、日、时、分、秒,可以对闰年进行补偿,工作电压2.5V~5.5V。通过三线接口能和CPU进行同步通信,可以通过突发方式一次传送多个字节的时钟信号或RAM数据。DS1302 内部有一个临时性存放数据的31*8的RAM寄存器,可产生年、月、日、周、日、时、分、秒,拥有较长的使用寿命,精度高并且低功耗等特点,同时具有掉电自动保存功能;显示部份由 LED数码管显示。使用动态扫描显示方式对数字显示。温度采集电路由DS1820构成。
2.3 主要单元电路设计
2.3.1 单片机主控制模块的设计
如图2-2所示,AT89C52 为 8 位通用微处理器,采用工业标准的 C51 内核,在内部功能及管脚排布上与通用的 8xC52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号 IR的接收解码及与主板 CPU 通信等。主要管脚有:XTAL1(19脚)为振荡器倒相放大器的输入,XTAL2(18脚)为振荡器倒相放大器的输出;RST/VPD(9 脚)为复位输入端,接上电容,电阻及开关构成上电复位电路,20引脚为接地端,40引脚为电源端。
原文链接:http://www.jxszl.com/dzxx/txgc/29376.html