1(日历实时时钟的设计)课程设计说明书一、设计内容及要求要求通过128*64LCD模块与单片机的接口,能显示数字(如时间)、字符(如英文)、汉字(如“电子信息工程系”)和图形等。二、设计原始资料单片机原理及应用教程范立南2006年1月单片机原理及应用教程刘瑞新2003年07月三、设计完成后提交的文件和图表1.计算说明书部分1)方案论证报告打印版或手写版2)程序流程图3)具体程序22.图纸部分:具体电路原理图打印版四、进程安排教学内容学时地点资料查阅与学习讨论1天单片机实验室分散设计5天单片机实验室编写报告3天单片机实验室成果验收1天单片机实验室五、主要参考资料《电子设计自动化技术基础》马建国、孟宪元编清华大学出版2004年4月《实用电子系统设计基础》姜威2008年1月《单片机系统的PROTEUS设计与仿真》张靖武2007年4月3指导老师成绩答辩小组成绩总成绩4目录摘要......................................................................7前言.......................................................................81概论....................................................................81.1概述..................................................................81.2时钟日历的特性........................................................82系统原理与硬件设计...................................................92.1硬件选择.............................................................102.2AT89C51单片机简介....................................................102.3时钟芯片介绍.........................................................152.4LED简介..............................................................203程序设计..............................................................224调试过程及数据分析..................................................264.1KEIL调试.............................................................264.2实验台调试...........................................................265结果分析..............................................................306心得体会..............................................................307致谢...................................................................308参考文献...............................................................285摘要本次单片机课程设计利用DS12C887日历实时时钟实现年月日时分秒的显示。本次课程设计需要用到CPU模块、8279键盘与显示模块、时钟模块(DS12C887)。DS12C887这种时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新在计算机汇编语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。此外,这种时钟芯片带有锂电池做后备电源,具备永不停止的计时功能和可编程方波输出功能,可用作实时测控系统的采样信号等。这种时钟芯片内部还带有非易失性RAM,可用来存放需长期保存但有时也需变更的数据。本次设计中的LED数码管电子时钟电路采用24小时制记时方式,日期和时间用16位数码管显示。设计采用AT98C51单片机,使用5V电源供电,并且在按键的作用下可以进入省电(不显示LED数码管)和正常显示两种状态。本次设计采用AT89C51单片机的扩展芯片和UNL2003芯片做驱动,由多块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。关键词:DS12C887、AT89C51、时钟日历6前言一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。除此之外还广泛应用办公自动化领域、商业营销领域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。本次设计根据AT89C51单片机系统扩展的基本原理和方法、常用总线标准和典型接口电路的应用,结合本次设计的题目要求进行系统扩展,通过单片机驱动时钟芯片DS12887进行年、月、日、时、分、秒显示,最后通过74LS154译码和ULN2003驱动LED动态显示的方式完成设计任务,设计论文中附有电路图、程序清单、各数据存储单元的所在地址和输入输出口对应表。因水平有限,难免有疏落不足之处,恳请老师和同学能给予批评指正1概论1.1概述随着电子技术的迅速发展,特别是随着大规模集成电路产生而出现的微型计算机,给人类生活带来了极大的方便。走入家庭,从洗衣机、微波炉到音响、汽车,到处都可以见到单片机应用的踪影。如果说微型计算机技术的出现使现代科学研究得到了质的飞跃,那么也可以毫不夸张的说:“单片机技术的出现则是给现代工业测控领域带来了一次新的工业革命”。目前,单片机以其可靠性高和智能性等特点被广泛应用到工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等领域中,并已经进入家庭,因此,单片机技术的开发和应用水平已经逐步成为一个国家自动化发展水平的标志之一。1.2时钟日历的特性DS12887时钟芯片(RTC)可提供一个实时时钟、日历、三个可屏蔽中断(共用一个中断输出)、可编程方波输出和114字节的电池备份静态RAM。DS12887在24引脚模块DIP封装内集成了晶体和锂电池。DS12887在地址32h内增加了世纪字节。对于少于31天的月份,所有器件的日期能够在月末自动调整,带有闰年补偿。该器件可配置为24小时或12小时格式,带AM/PM指示。精确的温度补偿电路用于监视的VCC状态。一旦检测到主电源失效,器件可自动切换到备用电源,在主电源掉电时还可以保持有效的时间和日期。该器件通过一个复用的字节宽度接口访问,支持Intel和Motorola模式,具有以下特点:(1)直接替代IBMAT计算机时钟/日历;(2)RTC可显示秒、分、时、日、月、年信息,具有润年补偿,有效期至2099年;(3)用二进制或BCD表示时间;(4)具有AM、PM标示的12小时模式或24小时模式;(5)夏时制选择;(6)可选择Motorola或Intel总线时序;(7)接口配合软件可寻址128RAM;7(8)14字节时钟与控制寄存器;(9)114字节通用、电池备份RAM(DS12C887和DS12C887A为113字节);(10)清除RAM功能;(11)总线兼容的中断请求;(12)三路中断可分别通过软件屏蔽与检测;(13)周期可设置在122µs至500ms;(14)时钟终止刷新周期标志;(15)可选的工业级温度范围;(16)可编程的方波输出信号;(17)可选择28引脚PLCC表面贴装封装;(18)自动电源失效检测和切换电路。2系统原理与硬件设计本次的设计题目是电子万年历设计,要求实现年、月、日、时、分、秒的正常显示,需要硬件和软件的结合来实现。本次设计利用时钟日历芯片DS12887的特性和AT89C51单片机的功能利用实现的。时钟芯片在电源的作用下向通过P2口向AT89C51单片机输入时间信号,AT89C51单片机在接受到时间信号后通过P0将信号送到单片机另一扩展芯片ULN2003,驱动LED数码管显示,同时将信号通过P1口送往单片机的扩展芯片74LS154,当送出第一个段码时,单片机输出的位码是0001,而经过4-16译码器74LS154后就是1111111111111110,这时就选中了第一个数码管显示;……当送出第十六个段码时,单片机输出的位码是1111,4-16译码器输出0111111111111111,这时就选中了第十六个数码管显示,从而74LS154将接收到的地址信号译码后动态驱动相应的LED,由于LED数码管的公共端由74LS154分时选通,这样,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式。根据设计的要求万年历要显示年、月、日、时、分、秒的显示就需要16个显示数码管。根据设计要求,用按键来实现省电和正常显示的切换,当按键按下时进入省电模式,否则正常显示。在明确本次设计思路之后,画出设计框图,总体框图如图2.1所示。图2.1设计总体框图2.1硬件选择(1)时钟芯片选择选用DS12887时钟芯片。(2)单片机的选择选用AT89C51单片机,并配备11.0592MHz晶振,复位电路采用上电复位。8(3)显示电路选择采用软件译码动态显示,P3.0-P3.3作数码管的位选口。P1.0-P1.6作数码管的段选口。考虑直接用单片机I/O口作位选时驱动功率不够,因此采用UNL2003作驱动,共阴极数码管显示。(4)电源选择采用直流5V电源供电。(5)选择器的选择采用4线——16线译码器74LS154。2.2AT89C51单片机简介AT89C51单片机是一种低功耗,高性能的片内含有4KB可编程/擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与AT89C51引脚和指令系统完全兼容。芯片上的FPEROM允许在线编程或采用通用的非易失存储编程器对存储器重复编程。AT89C51单片机带有2K字节闪烁可编程可擦除只读存储器的单片机,其内部的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51单片机是一种高效微控制器,也为嵌入式控制系统提供了一种灵活性高且价廉的方案,这就显示出了AT89C51单片机的优越性。2.2.1单片机的构成AT89C51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件,AT89C51单片机单片机内包含下列几个部件:(1)一个8位CPU;(2)一个片内振荡器及时钟电路;(3)4K字节ROM程序存储器;(4)128字节RAM数据存储器;(5)两个16位定时器/计数器;(6)可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;(7)32条可编程的I/O线(四个8位并行I/O端口);(8)一个可编程全双工串行口;(9)具有五个中断源、两个优先级嵌套中断结构。其内部机构框图如图2.2所示:图2.2MCS-