电子倒计时定时器设计毕业设计.docx
- 文档编号:14092332
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:43
- 大小:1.10MB
电子倒计时定时器设计毕业设计.docx
《电子倒计时定时器设计毕业设计.docx》由会员分享,可在线阅读,更多相关《电子倒计时定时器设计毕业设计.docx(43页珍藏版)》请在冰点文库上搜索。
电子倒计时定时器设计毕业设计
毕业设计(论文)
电子倒计时定时器设计
摘要
随着时代的进步,电子技术的发展,倒计时定时器得到了越来越广泛的应用,给人们日常的生活、学习、工作、娱乐带来便利,电子定时器相比普通的定时器来事具有体积小、重量轻、造价低、精度高等特点。
本设计主要采用51系列单片机,通过硬件电路设计和软件编程设计来实现,硬件主要包括主控模块,时间显示模块,键盘设置模块,报警器模块的设计,软件编程主要采用C语言,虽然程序条数比较多,但是设计起来比较方便,可通过Keils软件进行调试。
此次倒计时定时器采用单片机AT89S52为核心,利用时钟芯片DS1302来显示一天的时间,系统通电后利用数码管自动显示当前时间,通过键盘可以调整时间,分别对时、分、秒进行加减,也可以通过键盘转换成倒计时模式,最大倒计时时间为59分59秒,而且误差很小,当倒计时为零时蜂鸣器进行报警,指示灯变亮,倒计时功能关闭则显示当前时间,操作简单方便。
关键词:
时钟芯片;AT89S52;倒计时;DS1302
Abstract
Withtheprogressofthedevelopmentofelectronictechnology,thecountdowntimerhasbeenmoreandmorewidelytopeople'sdailylife,study,work,entertainmentconvenience,electronictimertimercomparedtoordinarythingshavesmallsize,lightweight,lowcostandhighaccuracy.
Thedesignismainly51seriesmicrocontroller,hardwaredesignandsoftwareprogrammingdesign,hardwarecontrolmodule,displaymodule,keyboardsettingsmodule,thealarmmoduledesign,softwareprogrammingusingClanguage,althoughtheprogramArticlenumber,butitwaseasiertodesign,Keilssoftwaredebugging.
ThecountdowntimermicrocontrollerAT89S52asthecore,DS1302clockchiptodisplaythetimeofday,thesystemispoweredonuseofdigitalcontrolautomaticallydisplaysthecurrenttime,thetimecanbeadjustedviathekeyboard,hours,minutes,secondsplusorminus,butalsokeyboardconvertedintocountdownmode,themaximumcountdowntimeof59minutes59seconds,andtheerrorisverysmall,thebuzzeralarmwhenthecountdowntozero,thelightison,thecountdownfunctionClosetodisplaythecurrenttime,simpleoperation.
KeyWords:
Clockchip;AT89S52;Countdown;DS1302
第1章绪论
课题的学术背景及其实际意义
倒计时定时器已经成为人们日常生活中必不可少的物品,随着技术的发展,广泛的应用于各个公共场所,给人们日常的生活、学习、工作、娱乐带来便利,但是由于原先简单的报时功能已经不能够被人们所满足,希望出一些新的功能新的产品来满足人们的需要,例如重要日子的倒计时、秒表等等,这些都能带来更大的方便。
而所有的这些都是以倒计时定时器为基础的。
因此,研究倒计时定时器有着非常重要的意义和实用价值。
电子定时器在家用电器中经常用于延时自动关机、定时。
延时自动关机可用于:
收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。
定时可用于:
照相定时曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。
例如:
空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。
夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机,方便节能。
定时器除了应用于家用电器外,还广泛地用于工业农业生产和服务设施等等。
相关领域的成果及存在的不足
在电子技术突飞猛进的今天,电子倒计时定时器也慢慢的被广大的家庭所接受,这些都方便了每个人的生活和工作。
传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有用时间继电器的。
相对于传统的定时器,电子定时器的体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。
所以电子定时器的发展必定大有前途。
同时随着现代电子技术的发展,电子定时器也在不断的进步,朝向着更多用途、更高精度、更小体积发展着。
课题来源及主要研究内容
本课题是通过老师挑选的几个课题当中自主选择的,虽然倒计时定时器已经很常见了,但是自己亲自动手制作,把所学到的知识应用的实际操作中,通过这个过程一定会有很大的收获,巩固加深了单片机应用的知识面,提高了自己的动手能力和解决问题的能力。
本课题主要研究的内容要了解电子倒计时定时器的基本结构原理,调研并查找相关资料,选择实现电子倒计时定时器的方案,进行完整的倒计时的硬件电路、系统软件以及实物结构的设计并进行电路仿真、软件编程、系统调试。
第2章倒计时定时器的结构、原理及设计方案
2.1单片机的发展概况
微型计算机的出现是电子数字计算机广泛应用到人们日常工作和生活领域中去的一个重大转折点。
它已经深入应用到非微型计算机所无法应用的领域,对社会产生了极大的影响。
单片微型计算机是微型计算机发展的一个重要分支,它以其独特的机构和性能,越来越普遍的应用到国民经济建设的各个领域。
单片机全称为单片微型计算机(SingleChipMicrocomputer)。
因为单片机主要用于控制系统中,所以又称微控制器(MicrocontrollerUnit,MCU)或嵌入式控制器(EmbeddedController)。
它具有嵌入式应用系统所要求的体系结构,微处理器,指令系统,总线方式,管理模式等。
他把计算机的基本部件都微型化集成到一块芯片上了,通常片内部都含有中央处理部件(CPU),数据存储器(RAM),程序存储器(ROM,EPROM,FlshROM),定时器/计数器和各种输入/输出(I/O)接口他们之间的相互连接结构
2.251单片机的内部结构
51单片机内部有一个8位的CPU,同时CPU内部包含了运算器,控制器及若干寄存器。
1、运算器(ALU)的主要功能
A)算术和逻辑运算,可对半字节(一个字节是8位,半个字节就是4位)和单字节数据进行操作。
B)加、减、乘、除、加1、减1、比较等算术运算。
C)与、或、异或、求补、循环等逻辑运算。
D)位处理功能(即布尔处理器)。
由于ALU内部没有寄存器,参加运算的操作数,必须放在累加器A中。
累加器A也用于存放运算结果。
例如:
执行指令ADDA,B
执行这条指令时,累加器A中的内容通过输入口In_1输入ALU,寄存器B通过内部数据总线经输入口In_2输入ALU,A+B的结果通过ALU的输出口Out、内部数据总线,送回到累加器A。
2、程序计数器PC
PC的作用是用来存放将要执行的指令地址,共16位,可对64KROM直接寻址,PC低8位经P0口输出,高8位经P2口输出。
也就是说,程序执行到什么地方,程序计数器PC就指到哪里,它始终是跟蹿着程序的执行。
我们知道,用户程序是存放在内部的ROM中的,我们要执行程序就要从ROM中一个个字节的读出来,然后到CPU中去执行,那么ROM具体执行到哪一条呢?
这就需要我们的程序计数器PC来指示。
程序计数器PC具有自动加1的功能,即从存储器中读出一个字节的指令码后,PC自动加1(指向下一个存储单元)。
3、指令寄存器IR
指令寄存器的作用就是用来存放即将执行的指令代码。
在这里我们先简单的了解下CPU执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。
关于指令在单片机内部的执行过程,我们在后面将会以另一节课来进行详细的讲解。
4、指令译码器ID
用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。
当指令送入译码器后,由译码器对该指令进行译码,根据译码器输出的信号,CPU控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确的执行程序所需要的各种操作。
5、地址寄存器AR(16位)
AR的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器PC产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。
从上图中我们可以看到,地址寄存器AR通过地址总线AB与外部存储器相连。
6、数据寄存器DR
用于存放写入外部存储器或I/O端口的数据信息。
可见,数据寄存器对输出数据具有锁存功能。
数据寄存器与外部数据总线DB直接相连。
7、程序状态字PSW
用于记录运算过程中的状态,如是否溢出、进位等。
例如,累加器A的内容83H,执行:
ADDA,#8AH ;累加器A与立即数8AH相加,并把结果存放在A中。
指令后,将产生和的结果为[1]0DH,而累加器A只有8位,只能存放低8位,即0DH,元法存放结果中的最高位B8。
为些,在CPU内设置一个进位标志位C,当执行加法运算出现进位时,进位标志位C为1。
8、时序部件
由时钟电路和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。
2.3设计要求、方案及框图
2.1.1设计要求
这个倒计时定时器的设计采用倒计时的方式,初始值由键盘设定,最大定时为59分59秒,4位LED显示时间,定时到进行声光报警。
2.1.2设计方案
(1)采用AT89C51单片机为核心,通过程序来实现时间的显示,用定时器实现闹钟功能的设定,通过LED数码管显示时间。
如图2-1:
图2-1系统框图
本设计采用AT89C51单片机不如AT89S52精确高,长时间工作会导致误差很大,并且C语言设计起来相当麻烦,调整起来麻烦而且不方便实现对系统的扩展。
(2)采用AT89S52单片机为核心,倒计时功能采用C语言编程利用单片机内部定时器来实现,通过时钟芯片DS1302利用LED数码管显示当前时间,并通过键盘控制模式的转换和时间的调整,当时间到了经行报警,这个设计使整个系统可编程,灵活性大大增加了,虽然多了个芯片但是加大了精度,因此选择这个方案。
2.1.3设计框图
利用单片机定时器及计数器产生定时效果通过编程形成倒计时效果,在通过LED数码管显示数据。
系统供电后,实现小时、分钟、秒的显示,通过按键校对时间、倒计时的设定和显示,当定时时间到的时候,单片机通过报警器实现声光报警。
如图2-2:
图2-2系统框图
第3章硬件电路设计
3.1ATS89C52单片机介绍
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。
使用Atmel公司高密度非 易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。
如图3-1
图3-1AT89S52引脚图
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4 个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚 第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.2时钟模块
3.2.1DS1302简介
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
如图3-2
图3-2DS1302引脚图
DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据传送的方法。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
3.2.2DS1302电路设计
本设计要求在不进行倒计时的时候可以显示一天的时间,所以采用的时钟芯片DS1302为核心来实现这个问题,DS1302的X1、X2端口连接一个32.768kHz的晶振,Vcc1、Vcc2连接电源,串行数据I\O端口连接单片机的P1.5引脚,串行时钟SCLK端口连接单片机的P1.6引脚,复位RST端口连接单片机的P1.4引脚。
电路图3-3:
图3-3DS1302电路设计
3.2.3时钟电路设计
时钟电路对单片机是不可缺的,单片机的每个功能都要以时钟电路为基础工作。
单片机内部自带一个时钟电路,外部接入定时控制元件即可构成一个稳定的自己振荡器。
其中机器周期共有12个振荡脉冲周期,因此,机器周期是时钟周期的12倍。
本实验使用的晶振是12MHz,则时钟周期为(1/12)us,机器周期为1us。
两个端口分别连在单片机XLAL1、XLAL2引脚上实验图3-4:
图3-4时钟电路
3.2.4时钟复位电路
复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本次实验用的是按键电平复位,利用电容的充放电公式来选择所需的电容、电阻,能保证复位信号高电平持续时间大于2个机器周期。
电路图3-4:
图3-5复位电路设计
3.3键盘模块
本设计要用数码管显示当前时间和倒计时时间,这就需要由键盘来设定,键盘分为独立连接式和矩阵式,本实验采用五个独立的键盘设计,连在单片机的P3口,第一个按键控制工作模式的选择,系统通电后显示当前时间,按下则显示倒计时状态,第二个按键为设置模式选择,不管是倒计时还是显示时间都能对当前的时间进行设置,第三、四个按键主要是对时、分、秒进行加减,第五个按键主要的功能是启动和停止倒计时。
电路设计如图3-5:
图3-6键盘模块设计
3.4显示模块
3.4.1LED数码管介绍
数码管是一种半导体发光器件,其基本元件是发光二极管。
图3-7LED数码管
数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
数码管的驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
①静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S521单片机可用的I/O端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
②动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
3.4.2LED数码管电路设计
本设计主要采用8位LED数码管显示,与单片机的I\O口连接,但是单片机的I\O口电流有限,只有几毫安,但是数码管的驱动电流要几十毫安到几百毫安,所以在实验中选择了单片机74LS245和单片机74LS138进行驱动和段选。
3.4.2.1单片机74LS245介绍和电路设计
74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据,还具有双向三态功能,既可以输出,也可以输入数据。
当单片机AT89SC52单片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 倒计时 定时器 设计 毕业设计