基于51单片机DS1302万年历课程设计报告



《基于51单片机DS1302万年历课程设计报告》由会员分享,可在线阅读,更多相关《基于51单片机DS1302万年历课程设计报告(19页珍藏版)》请在文档大全上搜索。
1、课程名称: 微机原理课程设计 题 目: 基于DS1302芯片万年历摘要DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒、分、时、日、日期.、月、年的信息,每月的天数和闰年的天数可自动调整时钟。本次课程设计的是使用专门的时钟芯片DS1302在数码管上显示的数字电子钟,并能通过按键对其进行调时和校准以及实现年月日。DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线 与之相连接,就可以实现STC-51
2、单片机对其进行读写操作,把读出的时间数据送到数码 管上显示。程序运行时,数码管将从当前时间开始显示,通过调节K2键和K3键可以分别对小时和分钟进行调整,调整后,时钟以新的时间为起点继续刷新显示,通过调节K1键可以切换年月日和时钟显示。关键字:STC-51单片机,DS1302,数码管,动态扫描,调时,切换,秒闪;目录一、设计任务与要求41.1设计任务41.2设计要求41.3发挥部分41.4创新部分4二、方案总体设计52.1设计目的52.2硬件功能描述52.3设计方案选择52.4总体设计62.5总体方案及基本工作原理6三、硬件设计73.1 STC89C51芯片73.2电源模块及晶振模块73.3 D
3、S130283.4数码管显示模块93.5蜂鸣器部分103.6按键部分11四、软件设计134.1软件流程图134.2 软件设计13主函数部分:13五、系统仿真和调试155.1 仿真软件简介155.2硬件调试155.3软件调试155.4使用说明16六、设计总结与体会186.1学习方面186.2工作方面18七、参考文献1919一、设计任务与要求1.1设计任务DS1302万年历;1.2设计要求利用DS1302生成万年历,时钟可调,通过四位数码管显示,并可实现秒闪功能,同时蜂鸣器闹铃;1.3发挥部分设置按键K3用来切换显示时钟和年月日;1.4创新部分只设置了两个按键K1和K2来调节时分,时钟到24归零,
4、分钟到60归零,分钟有长按迅速调节功能。二、方案总体设计此电子时钟利用AT89C51单片机和时钟芯片DS1302设计完成。2.1设计目的1、 通过对万年历的设计,进一步熟练掌握单片机编程的方法和思想。2、 通过对万年历的设计,掌握时钟芯片DS1302的使用方法。3、 通过对万年历的设计,进一步掌握独立式键盘的编程控制并认识独立式键盘在实际中的运用。4、 通过对万年历的设计,增强对单片机的兴趣及动手能力,并在此过程中学会对程序的逐步调试。5、 完成一个可调时,可秒闪的,可以切换显示的万年历时钟。2.2硬件功能描述数字时钟能够完成24小时计时,还有按键切换显示年月日的功能,计时初始值为11:45,
5、用户可以通过按键调整时钟的初值实现校时功能,时钟内设闹钟12:59,暂不支持取消。2.3设计方案选择1)计时方案:方案1:采用实时时钟芯片现在市场上有许多实时时钟集成电路,如:DS1287、DS2887、DS1302等,这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新没秒自动进行一次,不需要程序干预。因此,在工业实时调控系统中多采用者一类专用芯片来实现实时时钟功能。方案2:是用单片机内的可编程定时器利用单片机内部的定时记数器进行中断定时、配合软件延时实现时分秒的计时,该方案节省硬件成本,但程序设计比较复杂。2)显示方案:一个良好的显示模块对一个系统来说非常重要,
6、所有操作结果和计时结果,都要通过显示模块来显示出来,同时显示模块提供了良好的人机交互平台。常用的显示模式有LED 、8段数码管显示 、点阵显示和液晶显示。方案1:液晶显示屏(LED)具有轻薄短小,低耗电量,无辐射危险,平面直角显示以及形象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点,但由于液晶其成本偏高,在使用时,不能有静电干扰,否则易烧坏其液晶的显示芯片。方案2:LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小
7、数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。此课程设计采用DS1302芯片计时,LED数码管显示2.4总体设计总体框架图如图1图1 总体框架图利用DS1302芯片进行计时,并且可以
8、与单片机进行数据交换;4位8段数码管作为显示部分;3个按键实现输入;蜂鸣器用于闹钟提醒。2.5总体方案及基本工作原理由AT89C51的P0口8位控制数码管的段选,P2.4、P2.5、P2.6、P2.7四位控制数码管位选;DS1302芯片的I/O 、SCLK、 RST口分别连接单片机P1.5、P1.6、P1.7三口;3按键和蜂鸣器则分别连接P3.5、P3.6、P3.7、P1.4口。工作原理最基本部分是利用DS1302芯片的时钟功能,单片机只需要给DS1302初值,然后不断的从DS1302中读取数据并在数码管中显示,减少了单片机内部资源的占用。三、硬件设计3.1 STC89C51芯片STC89C5
9、1是一个低功耗,高性能CMOS8位单片机,片内含具有如下特点:40个引脚(引脚图如图1-1所示),4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDTC)电路,片内时钟振荡器。此外,STC89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有P
10、DIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。STC89C51单片机引脚图如图2图2 单片机引脚图本系统采用单片机STC89C51为控制核心,系统主要包括播放模块、按键控制模块和DS1302芯片模块。下面对各模块的设计逐一进行论证比较。3.2电源模块及晶振模块单片机复位时只要保持RST引脚接2us的高电平即可。在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移
11、,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。外接晶振引脚XTAL1和XTAL2接外部晶振和微调电容的一端。振荡电路的频率就是晶体的固有频率。晶振电路结合单片机内部电路产生单片机所需的时钟频率。晶振提高频率越高,单片机运行速度越快。单片机一切指令的执行都是建立在晶振提供的时钟频率上。另外此系统还设置了自锁开关用来控制整个电路。图3 电源模块和晶振模块图3.3 DS1302DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日