数字电子时钟设计毕业设计.docx
《数字电子时钟设计毕业设计.docx》由会员分享,可在线阅读,更多相关《数字电子时钟设计毕业设计.docx(42页珍藏版)》请在冰豆网上搜索。
数字电子时钟设计毕业设计
数字电子时钟设计
河南工业职业技术学院
毕业设计
课题名称数字电子时钟设计
姓名
学号
班级
专业机电一体化
所在系机电工程系
指导教师
完成日期2013/11/26
毕业设计任务书
设计题目:
数字电子时钟设计
设计要求:
本设计主要为实现一款可正常显示时钟/日历、定时闹铃、LCD背光调节,一键恢复的多功能电子时钟。
采用AT89C51芯片作为核心,LCD液晶显示器,完成时钟/日历的基本功能。
设计任务:
1.设计硬件电路,画出电路原理图;
2.设计软件,编制程序,画出程序流程图;
3.调试程序,写出源程序代码;
4.写出详细毕业设计说明书(10000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。
设计进度要求:
第一周:
查阅资料并确定论文题目
第二周:
针对自己定的题目写出初步的设计方案
第三~五周:
根据自己的设计方案设计方案设计硬件和软件
第六~七周:
修改、完善设计,仿真,调试电路,整理论文
第八周:
毕业答辩
指导教师(签名):
摘要
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。
这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。
电子时钟主要是利用现代电子技术将时钟电子化、数字化,拥有时钟精确、体小、界面友好、可扩展能力强等优点,被广泛应用于生活和工作当中。
另外,在生活和工农业生产中也常常需要定时报警,这就需要电子时钟具有多功能性。
本人对当前电子时钟开发手段进行了比较和分析,最终决定了采用单片机技术实现多功能电子时钟。
设计采用AT89C51芯片作为核心,1602LCD液晶显示器,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。
这种实现方法的优点是电路简单,新能可靠,实时性好,时间精度高,操作简单编程容易。
该电子时钟可应用于一般的生活和工作中,也可通过改装提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
【关键词】电子时钟;AT89C51单片机;DS1302时钟日历芯片;LCD液晶显示器
一、概述
1.1数字电子时钟研究的背景和意义
时间是人类生活必不可少的重要元素,入过没有时间的概念,社会将不会有所法杖和进步。
从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要性,同时也代表着科技的进步。
致力于计时器的研究和充分发挥时钟的作用,竟有着重要的意义。
20实际末,电子技术获得了飞速的发展。
再起推动下现代电子产品几乎渗透到了社会的哥哥领域,有力的推动和提高的社会生产力的发展与信息化程度,同时也是现代电子产品性能进一步提升,产品的更新换代节奏谱也越来越快。
时间对人们来说是那么的宝贵,工作的忙碌性和繁杂容易使人们忘记当前的时间。
然而遇到重大事情的时候,一旦忘记时间,就会给自己或者是他人造成很大的麻烦。
平时我们要求上班准时,约会或者召开会议必然要提及时间、火车要准点到达,航班要准时起飞,工业生产中,很多环节都需要时间来确定工序替换时刻。
所以说能随时准确的指导时间并利用时间,是我们生活中必不可少的。
想知道时间,手表当然是很好的选择,但是在忙碌当中,我们还需要一个“助理”时不时的给我们体形式将,所以,计时器最好能够用有一个定时系统,随时提醒容易忘记时间的人。
最早能够定时、宝石的时钟属于机械式钟表,但这种时钟受到机械结构、动力合体技的限制,在功能性能以及在造价上都没有办法与电子时钟相比。
电子时钟是采用电子电路实现对时、分、秒进行数字显示的即使装置,广泛应用月个人家庭、车站、码头办公室等公共场所,成为人们日常生活活动中不可少的必须品。
由于数字集成电路的发展和石英晶体振荡器的广泛使用,是的数字时钟的精度远远查过老师钟表,钟表的数字化跟人们生产生活带来了极大的方便,而且大大的扩展了钟表原先的时钟功能。
诸如整点提示、定时报警、定时广播、自动启闭路灯,定时开关烘箱、同多动力设备、甚至各种定时电气的自动启动等,所有这些,都是以钟表数字化为基础的。
因此研究数字钟及扩大其应用,有着非常现实的意义。
1.2数字电子时钟系统实用功能分析
电子时钟主要是利用电子技术讲时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性强等优点,被广泛应用于生活和工作当中。
当今市场上的电子时钟品类繁多,外形小巧别致。
也有体型较大的,诸如公共场所的大型电子宝石器等。
电子时钟首相是数字化了的时间显示或报时,在此基础上,人们可根据不同场合的要求,在诗中上加置其他功能,比如定时闹铃,万年历等功能。
本设计电子时钟主要功能为:
1.具有显示和手动校对功能,24小时制,年、月、日显示和手动校正功能;
2.具有闹铃功能;
3.具有背光调节功能和一键恢复功能;
1.3文章结构分析
本设计在绪论里主要介绍数字时钟研究的背景和意义、系统实用功能的分析、本设计的章节结构安排及使用的技术。
把系统总体设计作为第二部分,在这部分里介绍了各种元器件以及芯片的选择;第三部分是硬件电路的设计;主要对AT89C51芯片的具体介绍,时钟电路,复位电路,时间显示电路、按键电路、供电电路、闹铃指示电路等几部分,这一部分是本设计的重点。
第四部分是系统软件设计,主要是用汇编语言对图形汉字编程设计;第五部分是对全文的总结。
第六部分是致谢,第七部分是参考文献。
二、系统总体分析
2.1数字时钟方案
数字时钟是本设计的最主要的部分。
根据需要,可利用两种方案实现。
方案一:
本方案采用Dallas公司的专用时钟芯片DS12887A。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
方案二:
本方案完全用软件实现数字时钟。
原理为:
在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。
该方案具有硬件电路简单的特点。
但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。
2.2显示屏模块方案
LED显示屏幕能实时显示高清晰度、色彩丰富的动态图像;显示与播放可与控制计算机显示器上的内容点点对应,LED显示屏上的图像色彩、缩放比例和显示尺寸,还可通过计算机任意调整LED电子显示屏是集微电子技术、计算机技术、信息处理于一体的大型显示屏系统。
它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点,但未处理器和LED发光二极管之间还需要处理芯片。
LCD显示屏幕是利用光的偏振现象来显示的,一般分为数字LCD和点阵LCD.前者用于显示简单的字符,后者能显示复杂的图像和自定义字符。
具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点LCD显示屏本身不发光可以靠反射投射光源发光的优点。
非常适合嵌入式系统,移动设备使用。
应用非常广泛。
基于设计需求选用LCD显示屏。
2.3数码管显示方案
方案一:
静态显示。
所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。
该方式每一位都需要一个8位输出口控制。
静态显示时较小的电流能获得较高的亮度,且字符不闪烁。
但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。
方案二:
动态显示。
所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。
利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。
显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。
调整参数可以实现较高稳定度的显示。
基于本设计选取的是动态显示。
2.4驱动电路的选择
驱动电路的选择采取并口输入,占用大量I/O口资源。
选取串口输入,I/O口资源使用较少。
所以我选用串口输入。
电路中行方向由AT89C51的p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。
为提供负载能力,接16个2N5551的NPN三极管驱动。
列方向则由4—16译码器74LS154完成扫描,它由89C51的P1.0---P1.3控制。
同样,驱动部分则是16个2N5401的三极管完成的。
2.5数字电子时钟工作原理
数字电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。
主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。
2.6电路图
经以上分析,电路图汇总如下:
图2-1整体电路图
三、硬件设计
本设计采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片信号发生器、时间显示电路、按键电路、供电电路、闹铃指示电路等几部分。
参考以下框图:
图3-1
3.1AT89C51芯片的简单论述
单片机是微型机的一个主要分支,他在结构上的最大特点是吧CPU、存储器、定时器和多种输入、输出接口电路集成在一块超大规模集成电路上芯片上。
就其组成的功能而言,一块单片机就是一台计算机。
单片机具有如下优点:
1.集成度高、体积小、有很高的可靠性;
2.控制功能强;
3.低功耗、低电压、便于生产便携式产品;
4.外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;
5.单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。
AT89C51单片机是一款低功耗,低电压,高性能CMOS8位单片机,片内含4KB(可经过1000次擦写周期)的Flash可编程可反复擦写的只读存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出应缴和指令系统都与MCS-51兼容。
片内的FLASH存储器允许在系统内可改编程序活用常规的非易失性存储器来编程。
英雌,AT89C51是一种功能强大,灵活性高且价格合理的单片机,可放比偶按在应用在各个控制领域。
AT89C51具有以下主要性能:
1.4KB可编程序FLASH存储器;
2.全静态工作:
0---24Hz;
3.128X8字节内部RAM;
4.32个外部双向输入/输出(I/O)口;
5.6个中断优先级;2个16为可编程定时计数器;
6.可编程床行通信;
7.片内时钟振荡器。
图3-2AT89C51引脚图
此外,AT89C51是采用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式—空闲方式(IdleMode)和掉电方式(PowerDownMode)。
在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。
在掉电方式中,片内振荡器停止工作,由于始终被“冻结”,使一切功能都暂停,只保
存片内RAM中的内容,直到下次硬件复位为止。
3.1.1管脚说明
P0口:
P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复用口。
作为输出口用时,能驱动8个TTL逻辑门电路。
对端口写“1”时,被定义为高阻输入。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1口是一个带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在Flash编程和程序校验期间,P1接收低8位地址。
部分端口还有第二功能,如表1所示:
端口引脚
第二功能
P1.5
MOSI(用于ISP编程)
P1.6
MISO(用于ISP编程)
P1.7
SCK (用于ISP编程
表1
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O口, P2口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据寄存器(例如执行MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
在Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3口:
P3口是一个带有内部上拉电阻的双向8位I/O口, P3口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写“1”时,它们被内部的上拉电阻拉高并可作为输入端口。
作输入口使用时,被外部信号拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
P3口还接收一些用Flash闪速存储器编程和程序校验的控制信号。
端口引脚
第二功能
P3.0 RXD
(串行输入口)
P3.1 TXD
(串行输出口)
P3.2 0INT
(外中断0)
P3.3 INT1
(外中断1)
P3.4 T0
(定时/计数器0)
P3.5 T1
(定时/计数器1)
P3.6 WR
(外部数据存储器写选通)
P3.7 RD
(外部数据存储器读选通)
表2
3.2时钟电路设计
系统时钟应用了实时时钟日历芯片DS1302,其连接如图,该硬件电路设计简单,抗干扰能力强。
如图下图AT89C51单片机P1.7直接DS1302的RST端,上电后,AT89C51的P1.7脚自动输出高电平,P1.6作为串行时钟接口,P1.5作为始终数据的I/O。
DS1302的晶振选用32768Hz,电容推荐值为6pF。
因为振荡频率较低,也可以不接电容,对计时精度影响不大。
图2-3时钟电路
DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。
它经过一个简单的串行接口与微处理器通信。
实时时钟/日历提供秒、分、时、日、周、月和年等信息。
对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。
时钟的运行可以采用24<小>时或带AM/PM的12小时格式。
工作电压宽达2.5~5.5V。
采用三线接口与CPU进行同步通信, 并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个33x8的用于临时性存放数据的RAM寄存器。
DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
3.2.1引脚定义
X1、X2:
晶振接入管脚。
晶振频率32.768kHz。
RST:
复位引脚。
高电平启动输入/输出,低电平结束输入/输出。
I/O:
数据输入/输出引脚。
SCLK:
串行时钟输入引脚。
GND:
接地引脚
Vcc1:
在单电源与电池供电的系统中提供低电源,并提供低功率的电磁备份.Vcc1在双电池系统中提供主电源。
在这种运行方式中,Vcc1里连接到后备电源,以便在没有主电源的情况下能保存时间信息以及数据。
DS1302由Vcc1或Vcc2中较打大者供电。
当Vcc2>(Vcc1+0.2V)时,Vcc2给DS1302供电;当Vcc2<Vcc1时,DS1302由Vcc1供电。
3.3显示电路设计
就时钟而言,通常了采用LCD显示或者LED显示。
对于一般的短时LCD,需要专门的驱动电路,但是电路设计简单,连接方便,数字感应信号强,软件编程简单,节省I/O接口,
如下图:
图2-4显示电路
3.3.1LCD显示基本原理
LCD显示屏有点阵图形式液晶由M×N个显示单元组成显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。
这就是LCD显示的基本原理。
1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带背光 的厚,是否带背光在应用中并无差别 1602LCD 主要技术参数:
显示容量:
16×2 个字符 芯片工作电压:
4.5—5.5V 工作电流:
2.0mA(5.0V) 模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
3.3.2引脚功能说明
1602LCD 采用标准的 14脚(无背光)或 16脚(带背光)接口,各引脚接口说明如表所示:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
3.4复位电路设计
根据功能需要,本时钟需要设置一下功能键:
校对选择键(主键),加1操作键(+1),减1操作键(-1)。
按照键盘与CPU的连接方式可分为独立式键盘和矩阵式键盘,独立式键盘是各个按键相互独立,每个按键占用一个I/O口线,每根I/O口线上的按键不会影响其他I/O口上的按键工作状态。
独立式键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口,在按键数量较多时,I/O口浪费较大,且电路结构复杂。
矩阵式键盘社和按键较多的时候使用。
由于本设计的电子时钟最多需要3分按键,若采用矩阵式键盘会有按键浪费,故采用多历史键盘。
键盘电路如下图:
对于内置上拉电阻的I/O引脚来说,外界上拉电阻式没有意义的。
键盘是为了完成时钟/日历校正的显示功能。
由此电子时钟要求具有闹铃功能,所以设计有闹铃电路,进行声音闹铃。
图2-5复位电路
校对选择键(主键)按下后进入校对状态,+1键对时间日期进行加1和右移功能,-1键对时间日期进行减1和左移功能。
3.5闹铃、背光电路设计
闹铃可直接采用蜂鸣器闹铃,如当前时刻与闹铃时间相同,单片机向蜂鸣器送出信号,蜂鸣器哦发生。
采用蜂鸣器结构简单,控制方便,只是铃声单一。
背光电路采用绿色的LED背光,即使在暗处不开灯也可以看清时间。
电路参考下
图2-6闹铃、背光电路图
四、软件程序设计
4.1程序流程图
4.2主程序设计
第一次上电,系统向进行初始化,1602LCD液晶显示为当前时间、年、月、日和星期。
单片机开始调用键盘扫描程序、DS1302程序、1062程序、闹铃程序和背光程序并循环。
4.3子程序设计
4.3.1实时时钟日历子程序设计
该程序主要实现对DS1302写保护,对年、月、日、时、分、秒等的寄器的读写操作。
在在读写程序中都执行了关中断指令,因为在串行通信时对时序的要求比较高,而且在此是用1602液晶显示器,所以在通信过程中最好保证传输的连续性,不要允许中断。
4.3.2显示子程序设计
单片机直接驱动1602液晶芯片,编程也简单。
单片机的串行输入数据,由读入读出信号控制。
4.3.3键盘扫描子程序
本设计要求简单,按键采用独立式按键接入。
程序对键盘的扫描方式有:
随机扫描、定时扫描和终端扫描。
在随机扫描方式中,CPU完成某种特定任务后,即执行键盘扫描程序,以确定键盘有无按键接入,然后根据按键功能转去之星相应的操作。
在之星键盘按键规定的功能中不理睬键盘的输入。
定时扫描方式与随机扫描方式基本相同,只是利用CPU内的定时中断,每个一定时间扫描有无按键信号输入,键盘反应速度较快,在处理键盘功能过程中,可以通过键盘命令进行干预,如取消、暂停等操作。
由于本设计中AT89C51单片机在系统的主要任务是接受DS1302和1602的数据并送出显示,完成时钟/日历校对和日期/星期的控制。
该单片机完全有能力完成以上工作,所以采用随机扫描键盘方式,系统也能正常运行。
单片机扫描完键盘,得到键值,并根据键值转入执行相应任务,以实现按键功能。
入过没有按键按下,择程序将键盘值清零,返回主程序