完整版电子倒计时定时器设计毕业设计论文.docx
- 文档编号:8319644
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:31
- 大小:1MB
完整版电子倒计时定时器设计毕业设计论文.docx
《完整版电子倒计时定时器设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《完整版电子倒计时定时器设计毕业设计论文.docx(31页珍藏版)》请在冰豆网上搜索。
完整版电子倒计时定时器设计毕业设计论文
优秀论文审核通过
未经允许切勿外传
江苏信息职业技术学院
毕业设计(论文)
题目:
电子倒计时定时器设计
摘要
随着时代的进步,电子技术的发展,倒计时定时器得到了越来越广泛的应用,给人们日常的生活、学习、工作、娱乐带来便利,电子定时器相比普通的定时器来事具有体积小、重量轻、造价低、精度高等特点。
本设计主要采用51系列单片机,通过硬件电路设计和软件编程设计来实现,硬件主要包括主控模块,时间显示模块,键盘设置模块,报警器模块的设计,软件编程主要采用C语言,虽然程序条数比较多,但是设计起来比较方便,可通过Keils软件进行调试。
此次倒计时定时器采用单片机AT89S51为核心,利用时钟芯片DS1302来显示一天的时间,系统通电后利用数码管自动显示当前时间,通过键盘可以调整时间,分别对时、分、秒进行加减,也可以通过键盘转换成倒计时模式,最大倒计时时间为59分59秒,而且误差很小,当倒计时为零时蜂鸣器进行报警,指示灯变亮,倒计时功能关闭则显示当前时间,操作简单方便。
关键词:
时钟芯片;AT89S51;倒计时;DS1302
摘要1
第1章绪论5
1.1课题的学术背景及其实际意义5
1.2相关领域的成果及存在的不足5
1.3课题来源及主要研究内容5
第2章倒计时定时器的结构、原理及设计方案7
2.1单片机的发展概况7
2.251单片机的内部结构7
2.3设计要求、方案及框图9
2.1.1设计要求9
2.1.2设计方案9
2.1.3设计框图10
第3章硬件电路设计11
3.1ATS89C51单片机介绍11
3.2时钟模块13
3.2.1DS1302简介13
3.2.2DS1302电路设计14
3.2.3时钟电路设计15
3.2.4时钟复位电路15
3.3键盘模块16
3.4显示模块17
3.4.1LED数码管介绍17
3.4.2LED数码管电路设计19
3.5报警模块21
第4章软件程序设计22
4.1Keil软件介绍22
4.2软件程序流程图22
第5章系统调试25
结论30
参考文献31
附录32
附录1主程序32
附录2电路原理图49
附录3PCB图50
致谢51
第1章绪论
课题的学术背景及其实际意义
倒计时定时器已经成为人们日常生活中必不可少的物品,随着技术的发展,广泛的应用于各个公共场所,给人们日常的生活、学习、工作、娱乐带来便利,但是由于原先简单的报时功能已经不能够被人们所满足,希望出一些新的功能新的产品来满足人们的需要,例如重要日子的倒计时、秒表等等,这些都能带来更大的方便。
而所有的这些都是以倒计时定时器为基础的。
因此,研究倒计时定时器有着非常重要的意义和实用价值。
电子定时器在家用电器中经常用于延时自动关机、定时。
延时自动关机可用于:
收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。
定时可用于:
照相定时曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。
例如:
空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。
夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机,方便节能。
定时器除了应用于家用电器外,还广泛地用于工业农业生产和服务设施等等。
相关领域的成果及存在的不足
在电子技术突飞猛进的今天,电子倒计时定时器也慢慢的被广大的家庭所接受,这些都方便了每个人的生活和工作。
传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有用时间继电器的。
相对于传统的定时器,电子定时器的体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。
所以电子定时器的发展必定大有前途。
同时随着现代电子技术的发展,电子定时器也在不断的进步,朝向着更多用途、更高精度、更小体积发展着。
课题来源及主要研究内容
本课题是通过老师挑选的几个课题当中自主选择的,虽然倒计时定时器已经很常见了,但是自己亲自动手制作,把所学到的知识应用的实际操作中,通过这个过程一定会有很大的收获,巩固加深了单片机应用的知识面,提高了自己的动手能力和解决问题的能力。
本课题主要研究的内容要了解电子倒计时定时器的基本结构原理,调研并查找相关资料,选择实现电子倒计时定时器的方案,进行完整的倒计时的硬件电路、系统软件以及实物结构的设计并进行电路仿真、软件编程、系统调试。
第2章倒计时定时器的结构、原理及设计方案
2.1单片机的发展概况
微型计算机的出现是电子数字计算机广泛应用到人们日常工作和生活领域中去的一个重大转折点。
它已经深入应用到非微型计算机所无法应用的领域,对社会产生了极大的影响。
单片微型计算机是微型计算机发展的一个重要分支,它以其独特的机构和性能,越来越普遍的应用到国民经济建设的各个领域。
单片机全称为单片微型计算机(SingleChipMicrocomputer)。
因为单片机主要用于控制系统中,所以又称微控制器(MicrocontrollerUnit,MCU)或嵌入式控制器(EmbeddedController)。
它具有嵌入式应用系统所要求的体系结构,微处理器,指令系统,总线方式,管理模式等。
他把计算机的基本部件都微型化集成到一块芯片上了,通常片内部都含有中央处理部件(CPU),数据存储器(RAM),程序存储器(ROM,EPROM,FlshROM),定时器计数器和各种输入输出(IO)接口他们之间的相互连接结构
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
用于存放写入外部存储器或IO端口的数据信息。
可见,数据寄存器对输出数据具有锁存功能。
数据寄存器与外部数据总线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秒,8位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.1ATS89C51单片机介绍
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且。
外形及引脚排列如图所示
主要特性:
与MCS-51 兼容
·4K字节可编程闪烁存储器
·寿命:
1000写擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程IO线
·两个16位定时器计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向IO口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向IO口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向IO口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向IO口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚 备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 INT0(外部中断0)
P3.3 INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALEPROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的16。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EAVPP:
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加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-1
图3-1DS1302引脚图
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置为低电平,则会终止此次数据传送,IO引脚变为高阻态。
3.2.2DS1302电路设计
本设计要求在不进行倒计时的时候可以显示一天的时间,所以采用的时钟芯片DS1302为核心来实现这个问题,DS1302的X1、X2端口连接一个32.768kHz的晶振,Vcc1、Vcc2连接电源,串行数据I\O端口连接单片机的P1.5引脚,串行时钟SCLK端口连接单片机的P1.6引脚,复位RST端口连接单片机的P1.4引脚。
电路图3-2:
图3-2DS1302电路设计
3.2.3时钟电路设计
时钟电路对单片机是不可缺的,单片机的每个功能都要以时钟电路为基础工作。
单片机内部自带一个时钟电路,外部接入定时控制元件即可构成一个稳定的自己振荡器。
其中机器周期共有12个振荡脉冲周期,因此,机器周期是时钟周期的12倍。
本实验使用的晶振是12MHz,则时钟周期为(112)us,机器周期为1us。
两个端口分别连在单片机XLAL1、XLAL2引脚上实验图3-3:
图3-3时钟电路
3.2.4时钟复位电路
复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本次实验用的是按键电平复位,利用电容的充放电公式来选择所需的电容、电阻,能保证复位信号高电平持续时间大于2个机器周期。
电路图3-4:
图3-4复位电路设计
3.3键盘模块
本设计要用数码管显示当前时间和倒计时时间,这就需要由键盘来设定,键盘分为独立连接式和矩阵式,本实验采用五个独立的键盘设计,连在单片机的P3口,第一个按键控制工作模式的选择,系统通电后显示当前时间,按下则显示倒计时状态,第二个按键为设置模式选择,不管是倒计时还是显示时间都能对当前的时间进行设置,第三、四个按键主要是对时、分、秒进行加减,第五个按键主要的功能是启动和停止倒计时。
电路设计如图3-5:
图3-5键盘模块设计
3.4显示模块
3.4.1LED数码管介绍
数码管是一种半导体发光器件,其基本元件是发光二极管。
图3-6LED数码管
数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
数码管的驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
①静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的IO端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用IO端口多,如驱动5个数码管静态显示则需要5×8=40根IO端口来驱动,要知道一个89S521单片机可用的IO端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
②动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的IO线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的IO端口,而且功耗更低。
3.4.2LED数码管电路设计
本设计主要采用8位LED数码管显示,与单片机的I\O口连接,但是单片机的I\O口电流有限,只有几毫安,但是数码管的驱动电流要几十毫安到几百毫安,所以在实验中选择了单片机74LS245和单片机74LS138进行驱动和段选。
3.4.2.1单片机74LS245介绍和电路设计
74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据,还具有双向三态功能,既可以输出,也可以输入数据。
当单片机AT89SC52单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的RD和PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。
通过单片机74LS245来扩大电流输出来给数码管进行驱动,电路设计如图3-7:
图3-774LS245电路设计
3.4.2.2译码器74LS138介绍和电路设计
74LS138为3线到8线译码器,共有54LS138和74LS138两种线路结构模式。
当一个选通端(E1)为高电平,另两个选通端((E2))和(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。
比如:
A2A1A0=110时,则Y6输出端输出低电平信号。
利用E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
可用在8086的译码电路中,扩展内存。
因为本设计采用的8位数码管为共阴极数码管,单片机74LS138的I\O口输出是低电平,所以单片机和数码管可以配合在一起使用,来完成数码管的段选。
它的电路设计如图3-7:
图3-8单片机74LS138电路设计
3.5报警模块
本设计在倒计时时间到的时候为了提醒用户而采用的声光报警,电路主要有一个蜂鸣器、一个三极管组成,在倒计时完成时通过控制端口P3.0给三极管送入低电平使其导通,报警器报警,指示灯点亮。
如图3-6:
图3-9声光
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 电子 倒计时 定时器 设计 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)