《基于AT89S52单片机的万年历设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于AT89S52单片机的万年历设计毕业设计.docx(53页珍藏版)》请在第一文库网上搜索。
1、洛阳师范学院单片机原理及应用课程设计报告基于AT89S52单片机万年历的设计院系储息技术学院专业计算机科学与技术学生姓名杨烁琪班级11级计科班学号111114013指导教师赵秀英完成日期2015年1月20日摘要电子万年历是一种非常广泛日常计时工具。它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3-5V电压供电。此次是基于52系列的单片机进行的电子万年历设计,相比传统的万年历来说,精确度更高。
2、可以显示温度、年、月、日、时、分、秒及周信息,具有可调整日期和时间功能。对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件方面进行同步设计。硬件部分主要由单片机,1ED显示电路,以及调时按键电路等组成。在单片机的选择上使用了AT89S52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用共阴极的数码管。使用MAX7219来驱动显示,然后并行输出。软件方面主要包括日历程序、时间调整程序、温度程序、显示程序等。程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。所有程序编写完成后,在kei1软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
3、关键词:时钟芯片、MAX7219DS18B20动态扫描、单片机。摘要11绪论41.1 设计背景41.2 设计思想41.3 计框图52系统硬件设计62.1最小化电路设计62.1.1主控芯片简介62.1.2复位电路、晶振电路设计72.2Jiiiizjvf*92.2.1显示器简介92.2.2驱动芯片简介112.2.3mizj*162.3温度采集电路设计172. 3.1温度采集芯片简介173. 3.2温度采集电路212. 4实时时钟电路设计212. 4.1时钟芯片简介223. 4.2时钟电路223系统软件设计253.1主程序流程图253. 2系统子程序的设计264. 2.1送显示流程图263. 2.2
4、时钟流程图273. 2.3温度采集流程图294系统仿真294. 1仿真软件简介295. 2彳Ifj336. 3仿真结果3537致谢参考文献37附录一38附录二391绪论1.1 设计背景随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级
5、。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他口常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。目前流行的计算机日历程序,比较典型的是Windows各版本中的日历程序以及基础于该程序所开发的各种应用程序中的日历程序。然.而,这些程序都千篇一律的局限在一个很短的时间范围内。(WindOWS各个版本一般都局限在1980年至2099年这一范围内),但是,在很多情况下,一个时间跨
6、度较大的日历程序是很有参考价值的,本程序在这种背景下开始编辑,其中集成了国际通用日历和中国农历,此外还可以显示星期和加载了部分节日,显示本机准确日期等功能。1.2 设计思想众所周知,地球绕太阳公转,公转一周历时365天5小时48分46秒。现代国际上普遍采用罗马历法,在罗马历法中人为地规定一年365天,也就是我们所说的平年,为了弥补每一年多出的5小时48分46秒,同时又规定4年中有一年是闰年,闰年为366天(平年的2月份为28天,而闰年的2月份为29天),这样4年有365*3+366=1461天,而地球绕太阳公转4周历时1460天23小时15分4秒,这样,每4年又产生了44分56秒的误差,为了减
7、小影响,历法上又规定,每400年中只存在97个闰年,这样400年中共有365*400+97=146097天,而地球绕太阳公转400周历时146096天21小时6分40秒,较好的弥补了这一缺陷,这样几乎3300年才产生一天的误差。1.3 设计框图本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V.采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。品振电路是给主控模块提供脉冲信号;温度的采集由DS18B20构成;显示部分由8个数码管,
8、MAX7219译码器构成。使用动态扫描显示方式对数字的显示。本设计系统框图如图1.1所示。图1.1基于AT89S52单片机的电子万年历系统框图2系统硬件设计2.1 最小化电路设计在单片机使用中有必须的最小化电路,它是单片机工作的前提。其中包括电源电路、晶振电路、复位电路。下面就简单介绍最小化电路。2.1.1 主控芯片简介(1)主要功能的简介 拥有灵巧的8位CPU和在系统可编程F1ash 晶片内部具有时钟振荡器(传统最高工作频率可至12MHz) 内部(RoM)程序存储)为8KB 内部(RAM)数据存储器为256字节 32个可编程I/O口线 8个中断向量源 三个16位定时器/计数器 三级加密程序存
9、储器 全双工UART串行通道(2)引脚功能简介33333333311234567890图2.1AT89S52单片机的引脚图VCC:电源IE端输入,接+5V。VSS:电源地端。XTA11:单芯片系统时钟的反相放大器输入端。XTA12:系统时钟的反相放大器输出端,一般在设计上只要在XTA11和XTA12上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:重置引脚,高电平动作。EA/Vpp:”EA”表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPRoM中)来执
10、行程序。A1E/PROG:A1E是表示地址锁存器启用信号。PSEN:此为“ProgramStoreEnab1e”的缩写,其意为程序储存启用。PORTO(P0.0P0.7):端口0是一个8位宽的开路汲极(C)PenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,PO在当做I/O用时可以推动8个1S的TT1负载。PORT1(P1.0-P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个1STT1负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数
11、据。PORT3(P3.0-P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TT1负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INTO,外部中断O输入。P3.3:INT1,外部中断1输入。P3.4:TO,计时计数器O输入。P3.5:T1,计时计数器1输入。P3.6:WR,外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周
12、期的高电平时间。A1E/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/EA/VPP:当/EA保持低电平时,在此期间外部程序存器(Ooooh-FFFFH),不管是否有内部程序存储器。.2.1.2复位电路、晶振电路的设计单片机工作需要3个基本条件:接电源、接石英晶体振荡器和复位电路。如图2.2所示。图2.2单片机的基本电路输出(1)接电源将单片机第40脚VCC接电源+5V,第20脚VSS接地(电源负极),为单片机工作提供电源。由于AT89S52片内带有程序存储器,当使用片内程序存储器时要将EA(31脚)接高电平,即接到电源+5V。(2)接石英晶体振荡器将单片机第19
13、脚(XTA11)与18脚(XTA12)分别接外部晶体的两个引脚,由石英晶体组成振荡器,保证单片机内部各部分有序工作。图2.3晶振电路单片机运行程序的速度与振荡器的频率有关。单片机在读、写操作时都需要消耗一定的时间。机器周期是指单片机完成一个基本操作所用的时间,当外接石英晶体为12MHZ时,1个机器周期为1ms;当外接石英晶体为6MHz时,1个机器周期为1ms。(3)复位电路在实际应用中,复位电路有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位如图2.4所示。上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位电路如图2-4(a)所示。上电瞬间RST引脚获得高电平,随着电
14、容C1的充电,RST引脚的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为:品振为12MHZ时,C1为IOuF,R1为8.2K;晶振为6MHz时,电容C1为22uF,R1为1K上电与按键均有效的复位电路如图2.4(b)所示。上电与按键均有效的复位电路原理与上电复位原理相同,不同的是上电与按键均有效的复位电路在单片机运行期间,能用按键来控制复位操作晶振为6MHz时,电容C1为22uF,R2为2002.4(a)上电复位电路图2.4(b)上电与按键均有效复位电路本设计中使用后者电路复位,就是可以在单片机运行期间可以人工的
15、复位。这样是比较方便。2.2显示电路设计.2.2.1显示器的简介发光二极管1ED是简单常用的输出设备,通常用来指示机器的状态或其它信息。它的优点是价格低,寿命长,对电压电流的耍求低及容易实现多路等,因而在测量控制仪器中获得了广泛的应用。1ED是近似于恒压的元器件,到导电时(发光)的正向压降一般约为16V或2.4V,反向击穿电压一般5V0工作电流通常在10-20mA,故电路中需要串联适当的限流电阻。发光强度基本上与正向电流成正比。发光效率和颜色取决于制造的材料,一般常用红色,偶尔也用于黄色或绿色。多个1ED可接成共阴或共阳极形式。通过驱动器接到系统的并行输出口上,由CPU输出适当的代码来点亮或熄灭相应的1EDo发光二级管显示驱动(点亮)的方法有如下2种:静态驱动方法:即给欲点亮的1ED通过恒定的定流。这种驱动方法需要显示的位数增加时,所需的逻辑部件及连线也相应增加,成本也增加。动态驱动方法:是给欲