电子万年历的设计制作
- 格式:doc
- 大小:1.14 MB
- 文档页数:37
学号: 08808049接口技术课程设计报告题目:电子万年历的设计制作学院(系):机械与电子工程学院专业年级:电子信息工程2008级学生姓名:高仕涛指导教师:卢文华侯俊才郭文川完成日期: 2011年7月8日成绩:摘要:电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89C52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
在硬件与软件设计时,需要具有良好的基础知识和实践经验,每项功能实现时需要哪种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。
在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写。
万年历的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。
在单片机的选择上这里使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。
显示器使用3片带有八个共阳二极管显示器7SEG-MPX8-CA。
为了能更好的控制这三片显示器,这里使用了3片74HC164来驱动。
74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。
软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。
程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。
所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
最后在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计制作。
关键词:时钟电钟;DS1302;DS18B20;动态扫描;单片机电子万年历的设计制作目录一、设计要求与方案论证 (1)1.1设计要求: (1)1.2 系统基本方案选择和论证 (1)1.2.1单片机芯片的选择方案和论证: (1)1.2.2 显示模块选择方案和论证: (1)1.2.3时钟芯片的选择方案和论证: (2)1.2.4温度传感器的选择方案与论证: (2)1.3 电路设计最终方案决定 (2)二.系统的硬件设计与实现 (2)2.1 电路设计框图 (2)2.2 系统硬件概述 (2)2.3 主要单元电路的设计 (3)2.3.1单片机主控制模块的设计 (3)2.3.2时钟电路模块的设计 (4)2.3.3温度采集模块设计 (4)2.3.4 电路原理及说明 (5)2.3.5显示模块的设计 (6)三、系统的软件设计 (7)3.1程序流程框图 (7)3.2 子程序的设计 (10)3.2.1 DS18B20温度子程序 (10)3.2.2 读、写DS1302子程序 (10)四. 系统调试及仿真 (12)五、课程设计总结 (13)参考文献 (13)附录一:系统电路图 (14)附录二:系统程序清单 (15)电子万年历的设计制作一、设计要求与方案论证1.1设计要求:显示部分可采用大屏幕或液晶显示器,可显示当前时间,可用阴历、阳历显示年月日,时间可进行12小时或24小时两种方式,同时可进行定时等操作。
这里,可以将万年历的功能进行拓展,使其:1、具有显示年、月、日、星期、时、分、秒的功能;2、时间与阴、阳历能够自动关联;3、具有温度计功能;4、具备年、月、日、星期、时、分的设置功能。
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液晶显示屏.方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
所以采用了LED 数码管作为显示。
1.2.3时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM 做为数据暂存区,工作电压2.5V ~5.5V 范围内,2.5V 时耗电小于300nA.1.2.4温度传感器的选择方案与论证:方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D 转换。
此设计方案需用A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D 模块,降低硬件成本,简化系统电路。
另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
1.3 电路设计最终方案决定综上各方案所述,对课程设计的方案选定: 采用AT89C52作为主控制系统;DS1302提供时钟;DS18B20数字式温度传感器;LED 数码管动态扫描作为显示。
二.系统的硬件设计与实现2.1 电路设计框图2.2 系统硬件概述本电路是由AT89C52单片机为控制核心,具有在线编程功能,低功耗,能在AT89C52 主控制模 块 DS1302时钟模块LED 数码管动态扫描显示模块 温度采集模块键盘模块3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。
可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由3片7SEG-MPX8-CA,74ls138、74ls47译码器构成。
使用动态扫描显示方式对数字的显示。
2.3 主要单元电路的设计2.3.1单片机主控制模块的设计AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。
RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC (40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。
P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR 输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
图-1 AT89C52主控制系统AT89C52单片机为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 所示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进行操作。
如果在传送过程中RSTS 置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电动行时,在Vcc 大于等于2.5V之前,RST必须保持低电平。
中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。