倒计时系统设计.docx
- 文档编号:24631313
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:41
- 大小:447.09KB
倒计时系统设计.docx
《倒计时系统设计.docx》由会员分享,可在线阅读,更多相关《倒计时系统设计.docx(41页珍藏版)》请在冰豆网上搜索。
倒计时系统设计
河南农业职业学院
专科毕业设计(论文)
题目倒计时系统设计
学生姓名
专业班级
所在系
指导教师
倒计时系统设计
摘要:
本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。
倒计时系统需要用到锁存器、矩阵键盘、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。
对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即采用KeiluVision3软件程序进行译码。
关键词:
倒计时器/单片机/矩阵键盘/KeiluVision3/LED数码显示器
THEDESIGNOFCOUNTDOWNSYSTEM
ABSTRACT:
Thispaperfocusesontheneedsofthecountdownsystemdesign,introducedtheMCS-51MCUofsomeofthebasicprinciples.Suchasthe51single-chipinterfacefunctions,interrupt,timerandsoon.Countdownsystemneedstouselatch,matrixkeyboard,LEDdigitaldisplayandothermajormodules,throughinteractionbetweendifferentmodulestocompletetheCountdowntotheinitialhardware.ThecountdowndeviceintheLEDdigitaldisplay,Inordertosimplifythecircuit,reducecosts,weadoptasoftware-basedinterfacemethod,namelyusingKeiluVision3softwareprogramfordecoding.
KEYWORDS:
Counter-down,SCM,Matrixkeyboard,KeiluVision3,LEDdigitaldisplay
目录……………………………………………………………………………..III
第一章引言
1.1课题开发的作用及意义
随着社会的发展人们对时间的要求越来越精确,而倒计时的应用也越来越广泛比如;奥运会开幕式的倒计时,篮球比赛的倒计时器,还有爆破时用的倒计时器等等。
现在单片机的应用在我们的生活中随处可见,这体现了它的重要性与实用性。
它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
本次设计的倒计时器就是采用的微控制计数的方法实现的。
计时器在单片机模块中是比较常见的的一个模块,计时器是一种用数字电路技术实现计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
本次设计的最大时间为365天,此次设计倒计时器为基础,还可以设计更多对日常生活密切相关的设备,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,都是以计时器为基础的。
通过对基于单片机控制的倒计时器的设计的过程中,让我对单片机的知识有一个初步解,在学习单片机基础知识的同时,结合C语言学习,实现一些简单的功能的设计,做到了主动学习和探索。
本设计不但节约成本,而且功能齐全,不但能实现倒计时器的功能,而且还能实现其他多种功能,如倒计时秒表、定时器等等。
而且由于本次这个基于
51单片机的365天倒计时器无论是硬件方面还是在软件程序设计方面都比较简单,所以还可以通过扩展完成其他的功能,而且功能的相互转换也非常简单。
若作为一个部件生产产品,有很大的挖掘价值,也非常有吸引力。
1.2发展方向
倒计时系统的任务,就是对某一设定日期进行倒数,在显示屏显示当前距离设定日期的时间;广泛应用于重大的节日或活动,以增强人们的关切程度和紧迫感
倒计时系统的开发在国内起步于80年代初期,至今已得到广泛的发展和应用。
期间,随着新材料技术、电子传感技术、数字通信技术、控制技术、微计算机技术、软件技术和网络技术的迅速发展,监测系统还朝着网络化、社会化、光缆传输、总线结构等方面发展。
而且随着超大规模数字集成电路、单片机技术的飞速发展,利用单片机及其它外围芯片实现对瓦斯的监测成为一种可能,并且成为一种发展趋势。
它具有体积小、操作简单、携带方便、功能较齐全等优点,而且性能价格比也很高,应用前景非常广泛。
第二章原理设计
2.1设计任务与要求
本项目是由单片机接收小键盘设定倒计时时间,倒计时时间最大范围是365天,由显示模块数码管显示剩余时间。
显示格式为XXX.XX.XX..XX,分别对应天,时,分和秒,精确到1秒的整数倍。
倒计时时间到,则由蜂鸣器发出报警声。
2.2方案设计与论证
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
现在,在许多领域中,定时器得到了广泛的应用,比如在体育比赛中的计时器;安全措施中的定时报警器;游戏中的倒计时;维持秩序的交通信号灯;红路灯,交通控制器,闹钟等等。
可见倒计时器在社会中的重要性。
当然,设计倒计时器的方法很多,以下是两个设计方案。
方案一:
基于AT89S51单片机的LCD液晶显示模块1602显示的倒计时器。
主要是以单片机来控制,用按键来设定倒计时初始时刻的值,LCD1602液晶作为显示模块来显示剩余的时间。
方案二:
基于AT89S51单片机的数码管显示模块显示的倒计时器。
主要是以单片机来控制,用按键来设定倒计时初始时刻的值,数码管作为显示模块来显示剩余的时间。
此电路对于倒计时器中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
方案比较:
通过以上两个方案,我们发现,方案二总体比方案一好。
首先方案一虽然硬件电路简单,但造价较高,且在编写程序实现所要求的功能时较难,而方案二所用的显示模块是比较熟悉的数码管,编写程序是相对容易,且电路造价不高,因此,综合考虑之后决定采用方案二。
2.3系统框图
LED数码管倒计时器以AT89S51单片机为核心,起着控制作用。
系统包括九位数码管显示电路,按键电路,复位电路,晶振电路,时钟电路以及蜂鸣器电路等组成。
倒计时的总体框图如下图1-1所示:
图1-1倒计时总体框图
有图1-1可以看出该系统的硬件部分设计是以单片机系统为核心,用于整个设计的数据处理及控制显示电路,由蜂铃器组成的报警电路的正常工作。
在这里我们选用ATMEL公司生产的8位单片机AT89S51,该种单片机与以往所采用的AT89C51相比新增加了很多功能,性能有了较大提升,片内4K的FLASH存储空间也能满足我们设计的要求,价格较之AT89C51基本不变甚至更低。
第三章器件的选择及介绍
3.1单片机AT89S51
AT89S51是一种低功耗高性能的8位单片机,片内带有一个4KB的Flash在线可编擦除只读存储器,它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统和51系列单片机兼容。
片内的存储器允许在线重新编程或用常规的非易失性存储器编程器来编程。
同时已具有三级程序存储器保密的性能。
在众多的51系列单片机中,要算ATMEL公司的AT89S51更实用,因为它不仅和MCU-51系列单片机指令、管脚完全兼容,而且它将通用CPU和在线可编程Flash集成在一个芯片上。
这种单片机对开发设备的要求很低,开发时间也大大缩短。
写入单片机的程序还可以加密,功能较之89C51更加强大,使用也更加灵活。
3.1.1主要功能特性
4KB的Flash在线可编擦除只读存储器,擦写可达1000次
具有断电标志POF具有两个数据指针DPTR0和DPTR1
兼容MCS-51指令系统32个双向I/O口
两个16位可编程定时/计数器振荡频率0~33MHZ
1个串行中断128x8bit内部RAM
两个外部中断源共6个中断源
可直接驱动LED包含3级程序锁定位
低功耗空闲和掉电模式具有片内看门狗定时器
由上可知与AT89C51相比,AT89S51具有更突出的优点,主要表现在:
新增加了在线可编程功能ISP,在现场程序调试和修改更加方便灵活;数据指针增加到两个,方便了对片外RAM的访问过程;新增加了片内看门狗定时器WDT,提高了系统的抗干扰能力;增加了断电标志;增加了掉电状态下的中断恢复模式。
3.1.2AT89S51的引脚说明
AT89S51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89S51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
图3-1AT89S51引脚图
VCC(40脚):
供电电压。
GND(20脚):
接地。
P0口(32脚~39脚):
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口(1脚~8脚):
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口(21脚~28脚):
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口(10脚~17脚):
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89S51的一些特殊功能口,P3口管脚备选功能如下表所示:
表3-1P3口第二功能
引脚
第2功能
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(外部数据存储器读选通信号输出端,低电平有效)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST(9脚):
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG(30脚):
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN(29脚):
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP(31脚):
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1(19脚):
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(18脚):
来自反向振荡器的输出。
3.1.3单片机定时器的使用
本系统所用到的AT89S52有3个16位的定时器,而本系统只用到了定时器0和定时器1,所使用的工作方式都是定时器工作方式1,方式1时16位计数结构的工作方式,计数器由TH0或TH1的全部8位和TL0或TL1的全部8位构成。
使用工作方式1功能时,定时时间计算公式是:
(65536-计数初值)*机器周期
机器周期=晶振周期*12
本系统所用到的定时器0的定时时间是1ms;定时器1的定时时间是10ms;而电路所用的晶振是12MHZ,算得一个机器周期为1us,因此由以上的公式可知定时器0的初值THO是0xFC,TLO是0x18;定时器1的初值TH1是0xD8,TL1是0xF0
3.2显示器件选择
LED数码管由于其成本低、驱动电路简单、配置灵活、与单片机接口简单等诸都优点,被广泛应用于单片机应用系统中。
因此我们选用LED数码管作为显示器件。
数码管的工作原理如下:
数码管由8个LED发光二极管组成,外形如图3-3所示。
a~g和dp为8个发光二极管,其中a~g用于显示字符,dp用于显示小数点。
当发光二极管正向导通时,借着点亮每一段的LED就可以显示出数字。
在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;而若将二极管的阴极连在一起,称为共阴极数码管,本设计采用的就是共阴极接法的数码管。
下图是八段数码管的引脚:
图3-3LED引脚图
各段码位的对应关系如下表:
表3-2段码位与显示位对应关系表
段码位
D7
D6
D5
D4
D3
D2
D1
D0
显示段
dp
g
f
e
d
c
b
a
字型和对应的共阴极段码如下表:
表3-3十六进制数及空白字符与P的显示段码
字型
共阴极段码
字型
共阴极段码
0
3FH
9
6FH
1
06H
A
77H
2
5BH
B
7CH
3
4FH
C
39H
4
66H
D
5EH
5
6DH
E
79H
6
7DH
F
71H
7
07H
空白
00H
8
7FH
P
73H
注:
(1)本表所列各字符的显示段码均为小数点不亮的情况;
(2)空白字符即没有任何显示
第四章硬件电路的设计
本设计分为硬件设计和软件设计,这两者相互结合,不可分离;从时间上看,硬件设计的绝大部分工作量是在最初阶段,到后期往往还要做一些修改。
只要技术准备充分,硬件设计的大返工时比较少的,软件设计的任务贯彻始终,到中后期基本上都是软件设计任务,随着集成电路技术的飞速发展,各种功能很强的芯片不断出现,是硬件电路的集成度越来越高,硬件设计的工作量在整个项目中所占的比重逐渐下降。
为使应硬件电路设计尽可能合理,应注意以下几个方面:
(1)尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的价格不断下降,并不一定比若干普通芯片的价格总和高。
(2)留有设计余地。
在设计硬件电路时,要考虑到将来修改扩展的方便。
因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小修改或扩展而被迫进行全面返工。
(3)程序空间,选用片内程序空间足够大的单片机,本设计采用AT89C51单片机。
(4)RAM空间,AT89C51内部RAM不多,当要增强软件数据处理功能时,往往觉得不足。
如果系统配置了外部RAM,则建议多留一些空间。
随着软件设计水平的提高,往往只要改变或增加软件中的数据处理算法,就可以是系统功能提高很多,而系统的硬件不必做任何更换就使系统升级换代。
只要在硬件电路设计初期考虑到这一点,就应该为系统将来升级足够的RAM空间,哪怕多设计一个RAM得插座,暂不插芯片也好。
(5)I/O端口;在样机研制出来进行现场使用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。
如有些新的信号需要采集,就必须增加输入检测端:
有些物理量需要控制,就必须增加输出端。
如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,但是需要用的时候就派上用场了。
第五章各部分电路介绍
5.1复位电路
复位是单片机的初始化操作,只需给AT89S52的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位,复位时,PC初始化为0000H,使单片机从OUT单元开始执行程序。
除了进入系统的正常初始化之外由于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位键使得RST脚为高电平,使单片机重新启动。
在系统中,有时会出现显示不正常,也为了调试方便,我们需要设计一个复位电路,AT89S52单片机复位电路共有上电复位、按键电平复位和按键脉冲复位。
本系统是的复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。
复位电路可由简单的RC电路构成,也可使用其它的相对复杂,但功能更完善的电路。
本系统采用的电路如图5-1所示。
工作原理是:
上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效的复位。
当时钟频率选用12MHz时,C取10uF,R取10KΩ。
上电自动复位电路由上电瞬间C与R构成充电电路,RESET端的电位与电源Vcc相同,随着充电电流的减少,RESET的电位逐渐下降。
图中RC时间常数越大,上电时RESET端保持高电平的时间越长,图中这组参数足以保证复位操作。
若复位电路失效,加电后CPU从一个随机的状态开始工作,系统就不能正常运行。
图中的按键S5的功能是按键复位,按下S5键时RST为高电平,只要保持10ms以上的高电平,就可以时单片机复位。
按键复位用在系统运行时的复位,使系统重新运行。
复位电路如下图所示。
图5-1复位电路原理图
5.2时钟电路
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统稳定性。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。
单片机必须在时钟的驱动下才能工作。
在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
本系统使用的是内部时钟方式。
时钟电路如下图5-2所示。
图5-2 时钟电路原理图
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。
电路中两个电容C1、C2的作用有两个:
一是帮助振荡器起振;二是对振荡器的频率进行微调。
本系统的C1、C2的值为30pf。
单片机在工作时,有内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。
其大小是时钟信号频率的倒数,f表示。
图5-2中的时钟频率为12MHz,即f=12MHz,则时钟周期为1/12us。
5.3按键电路
本系统的按键电路的作用是能够调整倒计时的初始值,倒计时是按天、时、分、秒顺寻排列显示的,用四个按键分别设定天、时、分、秒,所达到的效果是按一下对应的键时,所对应的值加一。
在程序中用K4对应天的设定,K3对应时的设定,K2对应分的设定,K1对应秒的设定。
另外K1按键不但作为可以设定秒的初值,还可以起到暂停倒计时运行的作用;即当系统在运行时,按K1键,系统暂停,如果继续按K1键,则秒的值增加,完成的是设定秒的功能。
同样,K4也有两个功能。
一个是设定天的初值,一个是起到开启系统的作用,即当系统处于暂停时,按K4键,则系统开始运行,如果继续按K4键,则完成的是设定天的初值的功能。
按键电路如下图5-3所示。
图5-3 按键电路原理图
5.4蜂鸣器电路
蜂鸣器电路是由一个有源蜂鸣器、一个电阻和一个开关三极管组成。
此电路的作用是倒计时时间到零时,蜂鸣器发出报警声。
在本系统中,是利用单片机的P2^1口来控制,P2^1为低电平时,三极管导通,蜂鸣器报警。
电路如下图5-4所示。
图5-4 蜂鸣器电路原理图
5.5数码管显示电路
显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。
在这里我们使用的是8段数码管显示(包含小数点),通常在显示上我们采用的方法一般包括两种:
一种是静态显示,另一种是动态显示。
其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多,所耗得电能较大;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。
在本设计中,为了减少端口资源,降低电能消耗,采用的是动态显示方法。
本系统的倒计时时间的最大范围是365天,要求精确到秒,显示格式是按天、时、分、秒的顺序即XXX.XX.XX.XX。
从格式可知数码管显示电路要用到9位数码管。
考虑到到数码管的段和位比较多,本系统选着了两个4位一体的共阳数码管和一个一位的共阳数码管。
数码管有段选和位选控制,在此电路中有9个位选,8个段选(每一个数码管的段选进行并联)。
分别用单片机的P3口和P2^0进行9个位的控制。
而用单片机的P0口来控制段。
电路如下图5-5所示。
图5-5 数码管显示电路原理图
第六章软件设计与流程图
本系统中,是利用软件和硬件相互结合,以实现电路功能。
软件在系统中起着举足轻重的作用,利用程序对硬件达到控制作用。
因此下面说明软件的实现。
6.1倒计时器主程序流程图
程序的的开始时初始化数码管的段选和位选,数码管不显示。
程序中用到了两个定时器,接下来先设定定时器0和定时器1的工作方式,并且给两个定时器装初值,定时器0的定时时间是1ms,用作扫描数码管显示,定时器1的定时时间是10ms,用作定时器时间的递减。
然后给定时器设定初值,开启定时器0。
最后进入死循环函数,在循环函数中,对按键进行扫描,如果有键按下,执行按键函数,并检查是否需要报警。
如果没有按键按下,则直接检查是否需要报警。
流程图如下图6-1所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 倒计时 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)