欢迎来到天天文库
浏览记录
ID:43403110
大小:164.01 KB
页数:6页
时间:2019-09-30
《51_单片机多功能电子时钟的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、51单片机多功能电子时钟的设计摘要:本设计开发了一款具有日期、时间、星期和气温同步显示功能的电子时钟.工作原理是主控MCU读取实时时钟芯片DS1302,经MCU处理,送LCD显示,关键字:DS1302电子时钟1.课题分析随着电子技术的发展,电子技术为人们的生活带来了越来越大的方便.本课题旨在借助实时时钟芯片DS1302和51单片机设计一个多功能的电子时钟.2.方案论证2.1时间部分:方案一、利用单片机内部定时器产生秒信号,通过软件处理得到时间信息,送LCD显示.方案二、利用通用串行实时时钟芯片DS1302产生时间信息,利用MCU读取时间信息,送LCD显示.方案一电路结构简单,
2、可控性强,但断电后时间数据完全消失,再次上电后需重新设定,且由于电路本身缺陷和附加干扰较多,时间误差较大.方案二电路结构简单,时间精度较高,由于使用串行数据传输,节省MCU资源,但DS1302无内置电池,掉电后,数据丢失,重新上电后需对时.我们认为方案二满足设计需求.2.2主控部分选用单片微控制器AT89C52作为主控.系统方案方框图如图2.1所示.图2.1系统方案3.方案实现3.1器件简介(1)AT89C52AT89C52是ATMEL公司生产的通用低功耗8位CMOS微控器,具有8051内核和8KB的可编程Flash程序存储空间以及256字节RAM.有32个通用IO口线和全双
3、工串口,两个数据指针、两个16位可编程计数器/定时器、8个2级优先级中断源,具有片内时钟电路,通过简单的外接器件即可实现时钟电路.(2)DS1302DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的
4、外部引脚分配如图1所示及内部结构如图2所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。图1DS1302的外部引脚分配①DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如图3所示。图3DS1302有关日历、时间的寄存器小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示PM。在24小时模式时,位5
5、是第二个10小时位。秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。②DS1302有关RAM的地址DS1302中附加31字节静态RAM的地址如图4所示。图4③DS1302的工作模式寄存器所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器如图5所示。图5(3)LCD16023.2硬件电路
6、设计1)AT89C52最小系统电路图3.8AT89C52单片机最小系统电路由震荡电路,复位电路和单片机构成最小系统.震荡电路为单片机提供工作时钟,由石英晶体和补偿电容构成.由于语音部分需要1200bps波特率,石英晶体选取11.0592MHz,保证波特率零误差,补偿电容选取30pF瓷片电容.复位电路在上电时为单片机提供复位信号,由10uF电容和10K电阻构成的RC充电电路构成,当系统复位上电瞬间,电源通过电阻R为电容充电,在电阻上得到下降的指数充电电压,由高电平经过一段时间到达低电平,提供单片机需要的高脉冲复位信号.电源部分电容为去耦电容.EA拉高,MCU上电后,从内部程序存
7、储器开始执行.3.3软件设计(1)功能分析根据课题要求,软件应该能实现以下功能:1)驱动LCD1602显示.2)从DS1302中读取时间数据,并写入调时信息和闹钟信息.3)扫描键盘,实现人机交互,满足用户调时、定闹的需求.(2)设计流程1)主程序流程图如图所示图3.13主程序流程图主程序作用是当系统上电后,首先对系统进行初始化(包括MCU的串行通信设置和LCD的初始化)然后读取时间信息和温度信息,检查是否需要更新时间缓冲存储区,如果系统处于正常显示模式,则更新时间缓存区,并同步显示,若系统处于调整时间模
此文档下载收益归作者所有