基于AT89S52单片机的万年历设计.docx
- 文档编号:1955470
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:51
- 大小:621.53KB
基于AT89S52单片机的万年历设计.docx
《基于AT89S52单片机的万年历设计.docx》由会员分享,可在线阅读,更多相关《基于AT89S52单片机的万年历设计.docx(51页珍藏版)》请在冰豆网上搜索。
基于AT89S52单片机的万年历设计
师学院
单片机原理及应用课程设计报告
基于AT89S52单片机万年历的设计
院系
信息技术学院
专业
计算机科学与技术
学生
烁琪
班级
11级计科班
学号
111114013
指导教师
秀英
完成日期
2015年1月20日
摘要
电子万年历是一种非常广泛日常计时工具。
它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3---5V电压供电。
此次是基于52系列的单片机进行的电子万年历设计,相比传统的万年历来说,精确度更高。
可以显示温度、年、月、日、时、分、秒及周信息,具有可调整日期和时间功能。
对单片机的理论基础和外围扩展知识进行了比较全面准备。
在硬件与软件方面进行同步设计。
硬件部分主要由单片机,LED显示电路,以及调时按键电路等组成。
在单片机的选择上使用了AT89S52单片机,该单片机适合于许多较为复杂控制应用场合。
显示器使用共阴极的数码管。
使用MAX7219来驱动显示,然后并行输出。
软件方面主要包括日历程序、时间调整程序、温度程序、显示程序等。
程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。
所有程序编写完成后,在keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机进行仿真。
关键词:
时钟芯片、MAX7219、DS18B20、动态扫描、单片机。
摘要1
1绪论4
1.1设计背景4
1.2设计思想4
1.3设计框图5
2系统硬件设计6
2.1最小化电路设计6
2.1.1主控芯片简介6
2.1.2复位电路、晶振电路设计7
2.2显示电路设计9
2.2.1显示器简介9
2.2.2驱动芯片简介11
2.2.3显示电路16
2.3温度采集电路设计17
2.3.1温度采集芯片简介17
2.3.2温度采集电路21
2.4实时时钟电路设计21
2.4.1时钟芯片简介22
2.4.2时钟电路22
3系统软件设计25
3.1主程序流程图26
3.2系统子程序的设计27
3.2.1送显示流程图27
3.2.2时钟流程图28
3.2.3温度采集流程图29
4系统仿真30
4.1仿真软件简介30
4.2软件仿真过程34
4.3仿真结果36
致37
参考文献37
附录一38
附录二39
1绪论
1.1设计背景
随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。
二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。
第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。
第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。
第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!
因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。
目前流行的计算机日历程序,比较典型的是Windows各版本中的日历程序以及基础于该程序所开发的各种应用程序中的日历程序。
然而,这些程序都千篇一律的局限在一个很短的时间围。
(Windows各个版本一般都局限在1980年至2099年这一围),但是,在很多情况下,一个时间跨度较大的日历程序是很有参考价值的,本程序在这种背景下开始编辑,其中集成了国际通用日历和中国农历,此外还可以显示星期和加载了部分节日,显示本机准确日期等功能。
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秒的误差,为了减小影响,历法上又规定,每400年中只存在97个闰年,这样400年中共有365*400+97=146097天,
而地球绕太阳公转400周历时146096天21小时6分40秒,较好的弥补了这一缺陷,这样几乎3300年才产生一天的误差。
1.3设计框图
复位电路
晶振电路
电源电路
主控模块
ATS8952
按键扫描模块
驱动电路
LED显示模块
18B20温度检测模块
1302时钟芯片模块
本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
晶振电路是给主控模块提供脉冲信号;温度的采集由DS18B20构成;显示部分由8个数码管,MAX7219译码器构成。
使用动态扫描显示方式对数字的显示。
本设计系统框图如图1.1所示。
图1.1基于AT89S52单片机的电子万年历系统框图
2系统硬件设计
2.1最小化电路设计
在单片机使用中有必须的最小化电路,它是单片机工作的前提。
其中包括电源电路、晶振电路、复位电路。
下面就简单介绍最小化电路。
2.1.1主控芯片简介
(1)主要功能的简介
●拥有灵巧的8位CPU和在系统可编程Flash
●晶片部具有时钟振荡器(传统最高工作频率可至12MHz)
●部(ROM)程序存储)为8KB
●部(RAM)数据存储器为256字节
●32个可编程I/O口线
●8个中断向量源
●三个16位定时器/计数器
●三级加密程序存储器
●全双工UART串行通道
(2)引脚功能简介
图2.1AT89S52单片机的引脚图
VCC:
电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
重置引脚,高电平动作。
EA/Vpp:
"EA"表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
ALE/PROG:
ALE是表示地址锁存器启用信号。
PSEN:
此为"ProgramStoreEnable"的缩写,其意为程序储存启用。
PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
PORT1(P1.0~P1.7):
端口1也是具有部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
PORT3(P3.0~P3.7):
端口3也具有部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器容的读取或写入控制等功能。
其引脚分配如下:
P3.0:
RXD,串行通信输入。
P3.1:
TXD,串行通信输出。
P3.2:
INT0,外部中断0输入。
P3.3:
INT1,外部中断1输入。
P3.4:
T0,计时计数器0输入。
P3.5:
T1,计时计数器1输入。
P3.6:
WR,外部数据存储器的写入信号。
P3.7:
RD,外部数据存储器的读取信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
/EA/VPP:
当/EA保持低电平时,在此期间外部程序存器(0000H-FFFFH),不管是否有部程序存储器。
.2.1.2复位电路、晶振电路的设计
单片机工作需要3个基本条件:
接电源、接石英晶体振荡器和复位电路。
如图2.2所示。
图2.2单片机的基本电路
(1)接电源
将单片机第40脚Vcc接电源+5V,第20脚Vss接地(电源负极),为单片机工作提供电源。
由于AT89S52片带有程序存储器,当使用片程序存储器时要将EA(31脚)接高电平,即接到电源+5V。
(2)接石英晶体振荡器
将单片机第19脚(XTAL1)与18脚(XTAL2)分别接外部晶体的两个引脚,由石英晶体组成振荡器,保证单片机部各部分有序工作。
图2.3晶振电路
单片机运行程序的速度与振荡器的频率有关。
单片机在读、写操作时都需要消耗一定的时间。
机器周期是指单片机完成一个基本操作所用的时间,当外接石英晶体为12MHz时,1个机器周期为1ms;当外接石英晶体为6MHz时,1个机器周期为1ms。
(3)复位电路
在实际应用中,复位电路有两种基本形式:
一种是上电复位,另一种是上电与按键均有效的复位如图2.4所示。
上电复位要求接通电源后,单片机自动实现复位操作。
常用的上电复位电路如图2-4(a)所示。
上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。
RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
该电路典型的电阻和电容参数为:
晶振为12MHz时,C1为10uF,R1为8.2KΩ;晶振为6MHz时,电容C1为22uF,R1为1KΩ。
上电与按键均有效的复位电路如图2.4(b)所示。
上电与按键均有效的复位电路原理与上电复位原理相同,不同的是上电与按键均有效的复位电路在单片机运行期间,能用按键来控制复位操作晶振为6MHz时,电容C1为22uF,R2为200Ω
图
2.4(a)上电复位电路图2.4(b)上电与按键均有效复位电路
本设计中使用后者电路复位,就是可以在单片机运行期间可以人工的复位。
这样是比较方便。
2.2显示电路设计
.2.2.1显示器的简介
发光二极管LED是简单常用的输出设备,通常用来指示机器的状态或其它信息。
它的优点是价格低,寿命长,对电压电流的要求低及容易实现多路等,因而在测量控制仪器中获得了广泛的应用。
LED是近似于恒压的元器件,到导电时(发光)的正向压降一般约为1.6V或2.4V,反向击穿电压一般≥5V。
工作电流通常在10---20mA,故电路中需要串联适当的限流电阻。
发光强度基本上与正向电流成正比。
发光效率和颜色取决于制造的材料,一般常用红色,偶尔也用于黄色或绿色。
多个LED可接成共阴或共阳极形式。
通过驱动器接到系统的并行输出口上,由CPU输出适当的代码来点亮或熄灭相应的LED。
发光二级管显示驱动(点亮)的方法有如下2种:
●静态驱动方法:
即给欲点亮的LED通过恒定的定流。
这种驱动方法需要显示的位数增加时,所需的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89S52 单片机 万年历 设计