单片机课程设计多功能数字时钟.doc
《单片机课程设计多功能数字时钟.doc》由会员分享,可在线阅读,更多相关《单片机课程设计多功能数字时钟.doc(36页珍藏版)》请在三一办公上搜索。
1、单片机课程设计姓名: 题目:多功能数字时钟 完成日期:2011 年 12 月摘要多功能数字时钟的设计基于STC90C516RD+单片机系统,通过精确的时钟芯片计时,并通过单片机从时钟芯片内读出时间精确在液晶上显示。同时还能在红外遥控发射器与红外接收探头的配合下通过单片机系统对时钟芯片内的时间进行修改,并将修改后的时间写入时钟芯片进行精确计时。为了防止突然掉电时间复位的情况,每隔一定的时间通过单片机从时钟芯片里读出确定的时间并写入到掉电存储模块里面,这样即使掉电时间也能正常精确的进行计时。关键字:单片机;时钟;红外;掉电存储;目录单片机课程设计1摘要21 前言51.2背景51.2方案62 硬件方
2、面721 MCU722人机界面823 外围器件9231电源输入模块9232掉电存储模块9233时钟模块10234红外接收模块10235液晶模块113 软件设计1131 模块框图1132 总流程图1233 分模块流程图13331掉电存储模块流程图13332 DS1302时钟流程图14333 WD6122红外遥控发射流程图15334 HS0038红外接收探头流程图154 综合调试175 总结17附录1:实物图19附录2:源代码201 前言1.2背景 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现
3、代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。数字钟广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于集成电路的发展和
4、广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义但当前的数字钟存在诸多弊端。我们设计的液晶显示的时间简单明了而且读数快、时间准确显示到秒,所以液晶为显示器的时钟比指针式的时钟表现出了很大的优势。而机械式的依赖于晶体震荡器,可能会导致误差。数字钟DS1302的计时精度、稳定度远远超过老式机械钟。采用红外遥
5、控装置进行时间的重置,对一些比较高活不易接触的时钟显得更加方便。若设计了掉电存储功能,即使突然断电,时间仍旧精确计时,不会就此复位或者停止,当重新装上电源,时间准确现实当前时间,这是一个很大的优势,有很大的市场。我们希望做出一个能解决以上缺陷的数字时钟!1.2方案多功能数字钟是采用DS1302以 24小时计时方式实现对“时”、“分”、“秒”、“星期”、“日”、“月”、“年”数字显示的计时装置。根据LCD1602液晶显示原理来进行显示“时”、“分”、“秒”、“星期”、“日”、“月”、“年”,用DS1302实现精确计时、进位。数字钟通过从AT24C02读出时间,写入DS1302,DS1302自动运
6、行计时,读出DS1302的数并在LCD1602中显示,同时不停的将DS1302中的时间写入AT24C02中供掉电存。在执行程序过程中还要及时响应来自外部的红外中断信号,进行新的时间调整并写入DS1302,最终实现主程序的循环!2 硬件方面21 MCU 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的发
7、展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1、多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速I/O口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集
8、成在8位单片机中。2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采
9、用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格 单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。22人机界面单片机最小系统:图2.2.1 STC90C516RD+单片机系统23 外围器件231电源输入模块图2.3.1 电源输入232掉电存储模块图2.3.2 AT24C02掉电存储AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实
10、质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。233时钟模块 图2.3.23DS1302时钟DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实
11、时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vc
12、c2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数
13、据输入输出端(双向),SCLK为时钟输入端。234红外接收模块图2.3.4 HS0038红外接收红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本系统中我们采用红外一体化接收头HS0038,外观图如图3 所示。HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。HS0038 为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 s,
14、同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、5 V 电源、解调信号输出端。235液晶模块图2.3.5 LCD1602液晶显示3 软件设计31 模块框图 掉电存储 红外遥控MCU时钟模块 液晶显示 其它功能32 总流程图开始 从AT24C02寄存器读取时间将时间写入DS1302DS1302计时从DS1302读取时间将时间写入AT24C02LCD1602显示时间是否有红外中断信号Y N 红外遥控修改时间结束33 分模块流程图331掉电存储模块流程图开始发送起始信号发送从地址等到确认发送片内地址等待确认重复发送起始信号和从机地址等待确认开始读数据结束332 DS1
15、302时钟流程图开始变量初始化使DS1302不具备写保护复位并产生一个高电平 复位并产生一个高电平写DS1302地址写DS1302地址延时一段时间 延时一段时间向该地址写数据 向该地址写入数据地址增加 地址增加 Y NN数据是否写完? 数据是否写完? Y 显示数据结束333 WD6122红外遥控发射流程图开始键盘扫描程序否是否右键按下是读取用户码和键数据码22ms后遥控输出端启动输出结束334 HS0038红外接收探头流程图红外信号触发中断准备软件解码存储编码的时间周期到解码缓存区否判断是否到停止位 是 没有找到从停止位开始在编码缓存区寻找解码标准 已经找到对编码缓存区的编码周期进行二次重组把
16、二次重组的数据移位存入到6FH中通过6FH中的数据识别遥控器的按键位置把位置信息通过查表得到键值4 综合调试调试次数标准时间单位:S测试时间单位:S误差时间单位:S误差率16060002300300003600600004900900005150015000061800180010.05%73000300010.03%5 总结本次最终设计结果能通过单片机对时钟芯片读写时间,通过红外遥控器对时间(年、月、日、星期、时、分)进行修改,并能进行掉电存储。在一些细节上也有完善,在时间设置时能光标显示,这是取得的成绩;同时我们还存在各方面的不足:在程序调试过程中,进行时间设置时对闰年以及月份大小的保护与
17、光标显示发生冲突,最终没能调试成功。对红外技术明显不熟练,缺乏经验。对其功能扩展还可加上闹钟,整点报时,并伴随蜂鸣器工作。还可加上温度模块,采集实时温度并在液晶上显示,根据温度的等级可出现一些温馨提示语句。通过这样一次课程设计,带给我们一次单片机设计的全新体验。通过查找资料,设计,绘图等,在实践过程中,我们学到了不少知识,增强了自学能力,加深了对单片机系统的认识。我相信今后再遇到这样的设计问题,甚至是更大型的设计问题,我们都会充满信心的。从这个角度上说,这次的设计是很成功的。由于整体系统比较复杂庞大,个人的实际设计经验不足,加之时间匆忙,因此,在本设计中,也难免会出现错误和有部分环节不能很理想
18、的完成,希望老师们给予我们一些适当帮助和谅解。附录1:实物图附录2:源代码主程序:#define uint unsigned int#define uchar unsigned char#include at89x51.h#include lcd1602.c#includesbit ACC0 = ACC0;sbit ACC7 = ACC7;sbit T_CLK = P16; /*实时时钟时钟线引脚 */sbit T_IO = P35; /*实时时钟数据线引脚 */sbit T_RST = P17; /*实时时钟复位线引脚 */sbit scl=P15; /24c08 SCLsbit sda=P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 多功能 数字 时钟

链接地址:https://www.31ppt.com/p-4147554.html