11
~~~~~~目录~~~~~~
一、设计要求与方案论证 ………………………………………………………………………4 1.1 设计要求 ……………………………………………………………………………………4 1.2 系统基本方案选择和论证 …………………………………………………………………4 1.2.1单片机芯片的选择方案和论证 …………………………………………………………4 1.2.2 显示模块选择方案和论证 ………………………………………………………………4 1.2.3 时钟芯片的选择方案和论证 ……………………………………………………………4 1.2.4 温度传感器的选择方案与论证 …………………………………………………………5 二.系统的硬件设计与实现………………………………………………………………………5 2.1 电路设计框图 ………………………………………………………………………………5 2.2 系统硬件概述 ………………………………………………………………………………5 2.3 主要单元电路的设计 ………………………………………………………………………6 2.3.1单片机主控制模块的设计 ………………………………………………………………6 2.3.2时钟电路模块的设计 ……………………………………………………………………6 2.3.3温度采集模块设计 ………………………………………………………………………7 2.3.4 电路原理及说明 …………………………………………………………………………7 2.3.5显示模块的设计 …………………………………………………………………………8 三、系统的软件设计 ……………………………………………………………………………9 3.1程序流程框图 ………………………………………………………………………………9 四. 指标测试……………………………………………………………………………………11 4.1 测试仪器……………………………………………………………………………………11 4.2硬件测试……………………………………………………………………………………11 4.3软件测试……………………………………………………………………………………11 4.4测试结果分析与结论………………………………………………………………………12 4.4.1 测试结果分析……………………………………………………………………………12 4.4.2 测试结论…………………………………………………………………………………12 五、作品总结……………………………………………………………………………………12 六、致谢词………………………………………………………………………………………12 参考文献…………………………………………………………………………………………13 附录一:系统程序清单…………………………………………………………………………15
11
12
一、设计要求与方案论证 1.1 设计要求: 1.1.1基本功能
设计一个能够显示年、月、日、时、分、秒、星期功能的数字万年历。 采用LED或LCD显示年、月、日、时、分、秒、星期,并具备以下功能。 (1)能够任意设定年、月、日、时、分、星期; (2)能够任意设定报时时间; (3)能够区分平年、闰年、大小月份; 1.1.2发挥部分
(1)能够完成掉电保护(停电后保持时钟正常运行,但可以不显示); (2)夜间自动关闭LCD显示; (3)具有温度显示功能。 1.2 系统基本方案选择和论证 1.2.1单片机芯片的选择方案和论证: 方案一:
采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二:
采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用AT89S52作为主控制系统.
12
13
1.2.2 显示模块选择方案和论证: 方案一:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。但所需数码管太多焊接困难极易出错。所以不采用LED数码管作为显示。 方案二:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示. 方案三:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,本设计所需显示较多且需要文字。所以在此设计中采用LCD液晶显示屏. 1.2.3时钟芯片的选择方案和论证: 方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
1.2.4温度传感器的选择方案与论证: 方案一:
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
13
14
方案二:
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。 1.3 电路设计最终方案决定
综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;数字式温度传感器;LCD液晶显示屏作为显示。
二.系统的硬件设计与实现 2.1 电路设计框图
LCD液晶显示模块 AT89S52 键盘模块 主控制模 DS1302时钟模块 2.2 系统硬件概述
本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V
超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份为LCD液晶显示屏,能够实现字符与数字同时显示的功能。
块 温度采集模块 14
15
2.3 主要单元电路的设计 2.3.1主要单元电路的设计
AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端. 如图-1 所示
图-1 主控制系统
2.3.2时钟电路模块的设计
图-2示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传
15