基于51系列单片机的实时日历和时钟显示设计.docx
- 文档编号:11168044
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:57
- 大小:342.27KB
基于51系列单片机的实时日历和时钟显示设计.docx
《基于51系列单片机的实时日历和时钟显示设计.docx》由会员分享,可在线阅读,更多相关《基于51系列单片机的实时日历和时钟显示设计.docx(57页珍藏版)》请在冰豆网上搜索。
基于51系列单片机的实时日历和时钟显示设计
河南机电高等专科学校
综合实训论文
实训题目:
单片机毕业设计论文
系部:
电子通信工程系
专业:
应用电子
班级:
2011级应电113班
学生姓名:
学号:
110415249
2013年11月1日
摘要
本设计是基于51系列的单片机进行的实时日历和时钟显示设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
实时日历和时钟显示的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89S52单片机,LED显示电路,以及调时按键电路等组成,系统通过LED显示数据,所以具有人性化的操作和直观的显示效果。
软件方面主要包括时钟程序、键盘程序,显示程序等。
本系统以单片机的汇编语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及日期显示功能。
所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词:
AT89S52;DS1302;LED
摘要……………………………………………………………………………….......…I
绪论…………………………………………………………...…………………………1
1.课题研究的意义…………………………......................………………………….1
2.本文研究的目的………………………………………......................…………….1
3.课题研究的主要内容……………………………….....................………………..2
第1章概述(含单片机的发展及其应用)…………….........................……………3
第2章设计方案论…………………………………….........................………………5
2.1功能……………………………………………...........................…………………5
2.2方案确定…………………………………………...........................……………….5
2.4电路设计最终方案确定……………………………..............................…………….7
第3章主控制器和外围器件…………………….........................…………………....8
3.1AT89S52单片机……………………………….........................................…………………...8
3.2DS1302时钟芯片……………………………….........................................………………….8
3.3数码管LED……………………………………........................................…………………..12
3.4译码器74HC138…………………………........................................………………………...13
3.5锁存器74LS244……………………………........................................….…………………...13
第4章硬件设计……………………………........................…………………………14
4.1电路设计框图………………………………..........................................……………………..14
4.2系统概述……………………………………………...........................................………….....14
4.3电源设计……………………………………………...........................................…………….15
4.4单片机的复位电路………………………………….........................................……………...15
4.5单片机系统的晶振电路……………………………........................................………………16
4.6主电路设计………………………………………..........................................………………..17
第5章软件设计……………………………….......................……………………….18
5.1主程序设计………………………………………..........................................………………..18
5.2键盘子程序设计……………………………………........................................……………...20
5.3日历时钟子程序设计…………...................................................................…………………23
5.4显示子程序设计………………………………….........................................………………..24
第6章系统调试……………………………….......................……………………….25
6.1软件调试………………………………..........................................……………………….....25
6.2硬件调试……………………………………...........................................………………….....26结论/展望………………………….......................…………………..............………...27
心得体会……………….......................…………………………………..............….…28
致谢………………………………...........................………………………...................29
参考文献……………………………..........................……………………….…...........30
附录………………………………...........................………………………...................31
附录Ⅰ硬件电路图…………………….....................……………………….………....31
附录Ⅱ主程序源代码…………………....................……………………….……….....32
附录Ⅲ外文翻译原文………………....................………………………….……….....33
附录Ⅳ外文翻译译文………………...................………………………….…………..36
绪论
1.课题研究的意义
当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。
为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。
钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。
因此在这里,可以把一些辅助功能加入钟表中去,与此同时带动了数字钟的发展。
数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
2.本文研究的目的
随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。
现代的数字钟不仅需要数字电路技术而且需要模拟电路技术和单片机技术,增加了数字钟的功能,即多功能数字时钟。
它不仅能实现普通时钟显示标准时间的功能,并在此基础上增加了更多显示功能;通过对它的多功能设计使它具有了环境温度检测、语音和闹铃提示功能;而且在它的设计可以采用键盘控制,通过相应按键可以进行当前时间调整、定时时间输入、切换当前显示等数字钟的调整工作;同时还可以开发许多特殊功能,例如过压报警、光强报警等。
而且随着科学技术的发展它还可以开发更多更加完善的功能,充分满足人们对数字钟功能上的需要,必将深受人们欢迎,这也就成为了本文研究的目的。
3.课题研究的主要内容
一、基础设计部分
设计制作一个24小时制多功能数字钟,此数字钟具有时间设置(小时、分钟和秒)、日期设置(日、月、星期、年)、定时时间设置、闹铃的开启与关闭、当前时间调整、当前日期调整、整点语音提示和定时时间到蜂鸣器蜂鸣提示等功能,并采用5V直流电源供电。
二、发挥与创新部分
1、设置了8*2多功能按键。
2、具有键盘切换显示功能。
3、能够实现温度的测量与采集。
4、设置了语音提示功能。
5、设有光强报警。
第1章概述
在日新月异的21世纪里,家用电子产品得到了迅速发展。
许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。
单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。
并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。
用单片机来控制的小型家电产品具有便携实用,操作简单的特点。
时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?
这就要求人们不断设计出新型时钟。
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟有两方面的含义:
一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:
DS1302,DS12887,X1203等都可以满足高精度的要求。
本文设计的日历和时钟的显示广泛用于小型智能家用电子产品,如电子钟。
利用单片机进行控制,实时时钟芯片DS1302进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。
电子钟既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。
因而,此设计具有相当重要的现实意义和实用价值。
1.单片机的发展及其应用
单片机又称微控制器,是在一块硅片上集成了各种部件化微型计算机,这些部件包括中央处理器CPU、数据存贮器RAM、程序存贮器ROM、定时器/计数器和多种I/O接口电路。
单片机体积小、重量轻、具有很强的灵活性而且价格不高,越来越得到广泛的应用。
8051在小中型应用场合很常见,已成为单片机领域的实际标准。
80年代中期,Intel公司将8051内核使用权以专利互换或出售形式转给世界许多著名IC制造厂商,如PHILIPS、西门子、AMD、OKI、NEC、Atmel等,这样8051就变成有众多制造厂商支持的、发展出上百个品种的大家族。
90年代,PHILIPS推出支持16位计算的X4系列。
XA系列是16位单片机,又可完全兼容8051的指令系统。
Intel推出的80C51也是与8051在机器代码级兼容,这样保证了8051用户到21世纪技术的领先性。
随着硬件的发展,8051软件工具已有C级编译器及实时多任务操作系统(RIOS),单片机的程序设计更简单、更可靠、实时性更强。
因而8051系列是单片机教学的首选机型。
而有内部可擦写RAM的89C51/52是目前我们常用的芯片。
第2章设计方案论证
2.1功能要求
1、能显示年、月、日、时、分、秒、星期
2、能对时间进行手动修正
3、采用24小时制
4、使用LED显示时间参数
5、上电后,电子钟显示“2010年1月1日”
“1时1分1秒星期1”
对时,分,秒,日,月,年高位为0时做消隐处理,只显示单个数字以增强其可读性。
2.2方案确定
2.2.1单片机芯片的选择方案和论证
方案一:
采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用AT89S52作为主控制系统.
2.2.2显示模块选择方案和论证
方案一:
采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。
方案二:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。
方案三:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
所以采用了LED数码管作为显示。
2.2.3时钟芯片的选择方案和论证
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
2.2.4电路设计最终方案确定
综上各方案所述,对此次作品的方案选定:
以单片机AT89S52为主控制器,时间数据是通过时钟芯片DS1302来读取,并通过LED数码管显示出来,并用键盘来完成对当前时间的调整。
第3章主控制器和外围器件
3.1AT89S52单片机
AT89S52是一种低功耗、高性能CMOS8位微控制器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
并具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
3.2DS1302时钟芯片
3.2.1DS1302芯片介绍
低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。
这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。
采用DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控系统中。
在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。
记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。
传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。
而在系统中采用DS1302则能很好地解决这个问题。
DS1302的性能特性
·实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;
·用于高速数据暂存的31×8位RAM;
·最少引脚的串行I/O;
·2.5~5.5V电压工作范围;
·2.5V时耗电小于300nA;
·用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;
·简单的3线接口;
·可选的慢速充电(至VCC1)的能力。
DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。
它经过一个简单的串行接口与微处理器通信。
实时时钟/日历提供秒、分、时、日、周、月和年等信息。
对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。
时钟的运行可以采用24h或带AM(上午)/PM(下午)的12h格式。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302有主电源/后备电源双电源引脚:
VCC1在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;VCC2在双电源系统中提供主电源,在这种运用方式中,VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。
DS1302由VCC1或VCC2中较大者供电。
当VCC2大于VCC1+0.2V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电。
DS1302数据操作原理
DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。
无论是读周期还是写周期,开始8位指定40个寄存器中哪个被访问到。
在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。
时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。
图3-1DS1302管脚图
如果在传送过程中置RST为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。
上电运行时,在VCC>=2.5V之前,RST脚必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
DS1302的管脚图如图3-1所示,表3-2为各引脚的功能。
引脚号
引脚名称
功能
1
VCC2
主电源
2,3
X1,X2
振荡源,外接32768HZ晶振
4
GND
地线
5
RST
复位/片选线
6
I/O
串行数据输入/输出端(双向)
7
SCLK
串行时钟输入端
8
VCC1
后备电源
表3-2DS1302引脚功能表
DS1302的控制字如图3-3所示。
控制字节的最高有效位(位7)必须是逻辑1;如果它为逻辑0,则不能把数据写入到DS1302中。
位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。
位5~1(A4~A0)指示操作单元的地址。
最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。
控制字节总是从最低位开始输入/输出。
图3-3控制字节的含义
为了提高对32个地址的寻址能力(地址/命令位1~5=逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。
位6规定时钟或RAM,而位0规定读或写。
在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。
在多字节方式中,读或写从地址0的位0开始。
必须按数据传送的次序写最先的8个寄存器。
但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节。
不管是否写了全部31字节,所写的每一字节都将传送至RAM。
数据读写程序如图3-4所示。
≈
SCLK
K
≈
RST
I/O
5
7
1
3
5
7
2
1
0
2
4
6
0
≈
4
6
R/C
A2
A3
A0
A1
R/W
A4
1
≈
DATA
I/O
BYTE
DATA
I/O
BYTE
图3-4数据读写程序
DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3-5,其中奇数为读操作,偶数为写操作。
表3-5片内时钟数据寄存器
寄存器
命令码
数据范围
寄存器中各位的内容
名称
地址
写
读
7
6
5
4
3
2
1
0
秒
00H
80H
81H
00~59
CH
秒数据
分
01H
82H
83H
00~59
0
分数据
时
02H
84H
85H
01~12
或00~23
12/
24
0
10/
AP
时数据
日
03H
86H
87H
01~28,29
30,31
0
0
日数据
月
04H
88H
89H
01~12
0
0
0
月数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 系列 单片机 实时 日历 时钟 显示 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)