基于51单片机的电子定时器论文.docx
- 文档编号:30701593
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:25
- 大小:265.90KB
基于51单片机的电子定时器论文.docx
《基于51单片机的电子定时器论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机的电子定时器论文.docx(25页珍藏版)》请在冰豆网上搜索。
基于51单片机的电子定时器论文
安徽大学江淮学院
本科毕业论文(设计)
(内封面)
题 目:
基于51单片机可定时电子时钟设计
学生姓名:
XXX 学号:
XXXXXX
院(系):
计算机科学与电子技术系专业:
通信工程
入学时间:
2008 年 9 月
导师姓名:
XXXX 职称/学位:
教授/博士
基于51单片机可定时电子时钟设计
摘要
21世纪是电子信息的世纪,电子行业发展迅速,定时器的应用也越来越广泛。
传统的定时器都是使用发条驱动式、电机传动式或电钟式等机械定时器。
基于单片机的电子定时器相对常规定时器来说,体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于多次使用。
本设计采用AT89C51单片机为核心,阐述了系统工作原理,给出了软件流程。
该电子定时器满足对电器的电源进行控制,同时要方便用户对电子定时器的操作。
随着电子定时器在我们大家生活中应用越来月广泛,定时器必然会在我们生活各个地方出现,本论文以电子定时器来像大家讲述其工作原理和主要部件。
为以后电子定时器在人们生活中的应用打下基础。
关键词:
单片机;定时器;继电器;液晶显示器
Electronicclockcanbetimedbasedon51single-chipdesign
Abstract
Twenty-firstCenturyisthecenturyofelectronicinformation,theelectronicindustryisdevelopingrapidly,thetimerisusedmoreandmorewidely.Thetraditionaltimeristousespringtodrivetype,motordrivetypeoraclocktypemechanicaltimer.Basedonsingle-chipelectronictimerrelativetoconventionaltimer,smallvolume,lightweight,lowcost,highprecision,longservicelife,safetyandreliability,convenientadjustment,issuitableformultipleuses.ThisdesignusestheAT89C2051MCUasthecore,elaboratedtheworkingprincipleofthesystem,givesthesoftwareflow.Theelectronictimerforelectricpowercontrol,atthesametimetofacilitatetheusersofelectronictimeroperation.Withtheelectronictimerapplicationinallofuslivingintheincreasinglywiderangeofmonths,thetimerisboundtovariousplacesinourlives,theelectronictimertoliketellyouitworksandthemaincomponents.Laythefoundationforfutureelectronictimerinpeople'slives
Keyword:
SCM;Timer;Relay;LCD
基于51单片机可定时电子时钟设计
引言
人们在日常生活中,经常碰到一些需要定时的事情,例如:
早晨起床的电子闹钟,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。
完成这种定时的定时器有多种多样,在一般的家用电器中可以采用机械定时器,但是这种定时器虽然结构简单,成本低,维修也比较方便,但是它的触头频繁接触和断开,大大的缩减了它的使用寿命,也不利于进一步全自动化。
在电子技术突飞猛进的今天,基于单片机的电子定时器一定会逐步取而代之,这是电子科技时代的趋势和必然。
1绪论
1.1课题的来源和意义
论文课题是通过导师精心筛选提出的,基于单片机的电子定时设计课题不一定很大,但需要通过亲手做一遍全过程,完成一个产品制作,这个过程的收获是很大的。
本课题的意义在于通过设计和制作本课题把在学校学习到的知识融会贯通并应用到实际当中。
做到学有所成,学有所用。
为以后以单片机为基础的更高水准的设计打下坚实的基础。
1.2电子定时器的应用
电子定时器在家用电器中经常用于延时自动关机、定时。
延时自动关机可用于:
收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。
定时可用于:
照相定时曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。
例如:
空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。
夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机。
方便节能。
定时器除了应用于家用电器外,还广泛地用于工业农业生产和服务设施,甚至军事等。
1.3电子定时器的发展前景
传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有试用时间继电器的。
相对于传统的定时器,电子定时器的体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。
所以电子定时器的发展必定大有前途。
同时随着现代电子技术的发展,电子定时器也在不断的进步,朝向着更多用途、更高精度、更小体积发展着。
同时电子定时器也比较小型轻巧,节能省电。
251单片机内部结构及计数原理
2.151单片机内部机构
51单片机内部有一个8位的CPU,同时CPU内部包含了运算器,控制器及若干寄存器。
图1:
单片机内部结构
依图可知,在虚线框内的就是CPU的内部结构了,8位的MCS-51单片机的CPU内部有数术逻辑单元ALU(ArithmeticLogicUnit)、累加器A(8位)、寄存器B(8位)、程序状态字PSW(8位)、程序计数器PC(有时也称为指令指针,即IP,16位)、地址寄存器AR(16位)、数据寄存器DR(8位)、指令寄存器IR(8位)、指令译码器ID、控制器等部件组成。
2.1.1运算器(ALU)的主要功能
A)算术和逻辑运算,可对半字节(一个字节是8位,半个字节就是4位)和单字节数据进行操作。
B)加、减、乘、除、加1、减1、比较等算术运算。
C)与、或、异或、求补、循环等逻辑运算。
D)位处理功能。
由于ALU内部没有寄存器,参加运算的操作数,必须放在累加器A中。
累加器A也用于存放运算结果。
2.1.2程序计数器PC
PC的作用是用来存放将要执行的指令地址,共16位,可对64KROM直接寻址,PC低8位经P0口输出,高8位经P2口输出。
也就是说,程序执行到什么地方,程序计数器PC就指到哪里,它始终是跟蹿着程序的执行。
我们知道,用户程序是存放在内部的ROM中的,我们要执行程序就要从ROM中一个个字节的读出来,然后到CPU中去执行,那么ROM具体执行到哪一条呢?
这就需要我们的程序计数器PC来指示。
程序计数器PC具有自动加1的功能,即从存储器中读出一个字节的指令码后,PC自动加1(指向下一个存储单元)。
2.1.3指令寄存器IR
指令寄存器的作用就是用来存放即将执行的指令代码。
在这里我们先简单的了解下CPU执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。
关于指令在单片机内部的执行过程,我们在后面将会以另一节课来进行详细的讲解。
2.1.4指令译码器ID
用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。
当指令送入译码器后,由译码器对该指令进行译码,根据译码器输出的信号,CPU控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确的执行程序所需要的各种操作。
2.1.5地址寄存器AR(16位)
AR的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器PC产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。
从上图中我们可以看到,地址寄存器AR通过地址总线AB与外部存储器相连。
2.1.6数据寄存器DR
用于存放写入外部存储器或I/O端口的数据信息。
可见,数据寄存器对输出数据具有锁存功能。
数据寄存器与外部数据总线DB直接相连。
2.1.7程序状态字PSW
用于记录运算过程中的状态,如是否溢出、进位等。
2.1.8时序部件
由时钟电路和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号
2.2计数原理
80C51单片机内部设有两个16位的可编程定时器/计数器。
可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。
在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。
2.2.1定时器/计数器的结构:
16位的定时/计数器分别由两个8位专用寄存器组成,即:
T0由TH0和TL0构成;T1由TH1和TL1构成。
其访问地址依次为8AH-8DH。
每个寄存器均可单独访问。
这些寄存器是用于存放定时或计数初值的。
此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。
这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。
TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。
当定时器工作在计数方式时,外部事件通过引脚T0和T1输入。
2.2.2定时计数器的原理:
16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。
当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。
显然,定时器的定时时间与系统的振荡频率有关。
因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。
如果晶振为12MHz,则计数周期为:
T=1/(12×106)Hz×1/12=1μs
这是最短的定时周期。
若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。
当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。
计数器在每个机器周期的S5P2期间采样引脚输入电平。
若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。
此后的机器周期S3P1期间,新的计数值装入计数器。
所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。
例如,如果选用12MHz晶振,则最高计数频率为0.5MHz。
虽然对外部输入信号的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。
当CPU用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用CPU的操作时间,除非定时器计满溢出,才可能中断CPU当前操作。
CPU也可以重新设置定时器工作方式,以改变定时器的操作。
由此可见,定时器是单片机中效率高而且工作灵活的部件。
综上所述,我们已知定时器/计数器是一种可编程部件,所以在定时器/计数器开始工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器。
将控制字写入定时/计数器的过程叫定时器/计数器初始化。
在初始化过程中,要将工作方式控制字写入方式寄存器,工作状态字(或相关位)写入控制寄存器,赋定时/计数初值。
控制寄存器定时器/计数器T0和T1有2个控制寄存器-TMOD和TCON,它们分别用来设置各个定时器/计数器的工作方式,选择定时或计数功能,控制启动运行,以及作为运行状态的标志等。
其中,TCON寄存器中另有4位用于中断系统。
2.2.3定时器/计数器方式寄存器TMOD:
定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。
TMOD的格式如图所示。
TMOD的高4位用于T1,低4使用于T0,4种符号的含义如下:
GATE:
门控制位。
GATE和软件控制位TR、外部引脚信号INT的状态,共同控制定时器/计数器的打开或关闭。
C/T:
定时器/计数器选择位。
C/T=1,为计数器方式;C/T=0,为定时器方式。
M1M0:
工作方式选择位,定时器/计数器的4种工作方式由M1M0设定。
图2:
工作方式介绍
定时器/计数器方式控制寄存器TMOD不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器0,高半字节定义为定时器1。
复位时,TMOD所有位均为0。
2.2.4定时器/计数器控制寄存器TCON:
TCON在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)为88H一8FH,由于有位地址,十分便于进行位操作。
TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。
TCON的格式如表1所示。
其中,TFl,TRl,TF0和TR0位用于定时器/计数器;IEl,ITl,IE0和IT0位用于中断系统。
表1:
寄存器TCON结构
TF1
TR1
TF0
TF0
ID1
IT1
IE0
IT0
各位定义如下:
TF1:
定时器1溢出标志位。
当字时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。
进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。
TR1:
定时器1运行控制位。
由软件清“0”关闭定时器1。
当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。
TF0:
定时器0溢出标志。
其功能及操作情况同TF1。
TR0:
定时器0运行控制位。
其功能及操作情况同TR1。
IE1:
外部中断1请求标志。
IT1:
外部中断1触发方式选择位。
IE0:
外部中断0请求标志。
IT0:
外部中断0触发方式选择位。
TCON中低4位与中断有关,我们将在下节课讲中断时再给予讲解。
由于TCON是可以位寻址的,因而如果只清溢出或启动定时器工作,可以用位操作命令。
例如:
执行“CLRTF0”后则清定时器0的溢出;执行“SETBTR1”后可启动定时器1开始工作(当然前面还要设置方式定)。
2.2.4定时器/计数器的初始化:
由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。
初始货的步骤一般如下:
1、确定工作方式(即对TMOD赋值);
2、预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1);
3、根据需要开放定时器/计数器的中断(直接对IE位赋值);
4、启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。
当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。
因为在不同工作方式下计数器位数不同,因而最大计数值也不同。
现假设最大计数值为M,那么各方式下的最大值M值如下:
方式0:
M=213=8192
方式1:
M=216=65536
方式2:
M=28=256
方式3:
定时器0分成两个8位计数器,所以两个M均为256。
因为定时器/计数器是作“加1”计数,并在计数满溢出时产生中断,因此初值X可以这样计算:
X=M-计数值
定时器/计数器的四种工作方式:
定T0或T1无论用作定时器或计数器都有4种工作方式:
方式0、方式1、方式2和方式3。
除方式3外,T0和T1有完全相同的工作状态。
下面以T1为例,分述各种工作方式的特点和用法。
工作方式0:
13位方式由TL1的低5位和TH1的8位构成13位计数器(TL1的高3位无效)。
工作方式0的结构见下图:
为定时/计数选择:
C/T=0,T1为定时器,定时信号为振荡周期12分频后的脉冲;C/T=l,T1为计数器,计数信号来自引脚T1的外部信号。
定时器T1能否启动工作,还受到了R1、GATE和引脚信号INT1的控制。
由图中的逻辑电路可知,当GATE=0时,只要TR1=1就可打开控制门,使定时器工作;当GATE=1时,只有TR1=1且INT1=1,才可打开控制门。
GATE,TR1,C/T的状态选择由定时器的控制寄存器TMOD,TCON中相应位状态确定,INT1则是外部引脚上的信号。
在一般的应用中,通常使GATE=0,从而由TRl的状态控制Tl的开闭:
TRl=1,打开T1;TRl=0,关闭T1。
在特殊的应用场合,例如利用定时器测量接于INT1引脚上的外部脉冲高电平的宽度时,可使GATE=1,TRl=1。
当外部脉冲出现上升沿,亦即INT1由0变1电平时,启动T1定时,测量开始;一旦外部脉冲出现下降沿,亦即INT1由l变O时就关闭了T1。
定时器启动后,定时或计数脉冲加到TLl的低5位,从预先设置的初值(时间常数)开始不断增1。
TL1计满后,向THl进位。
当TL1和THl都计满之后,置位T1的定时器回零标志TFl,以此表明定时时间或计数次数已到,以供查询或在打开中断的条件下,可向CPU请求中断。
如需进一步定时/计数,需用指令重置时间常数。
方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。
当TL0的低5位计数溢出时,向TH0进位,而全部13位计数溢出时,则向计数溢出标志位TF0进位。
⑵TMOD寄存器初始化
为把定时器/计数器1设定为方式0,则M1M0=00;为实现定时功能,应使C/T=0;为实现定时器/计数器1的运行控制,则GATE=0。
定时器/计数器0不用,有关位设定为0。
因此TMOD寄存器应初始化为00H。
⑶由定时器控制寄存器TCON中的TR1位控制定时的启动和停止TR1=1启动,TR1=0停止。
工作方式1:
1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。
与工作方式0基本相同,区别仅在于工作方式1的计数器TL1和TH1组成16位计数器,从而比工作方式0有更宽的定时/计数范围。
工作方式2
8位自动装入时间常数方式。
由TLl构成8位计数器,THl仅用来存放时间常数。
启动T1前,TLl和THl装入相同的时间常数,当TL1计满后,除定时器回零标志TFl置位,具有向CPU请求中断的条件外,THl中的时间常数还会自动地装入TLl,并重新开始定时或计数。
所以,工作方式2是一种自动装入时间常数的8位计数器方式。
由于这种方式不需要指令重装时间常数,因而操作方便,在允许的条件下,应尽量使用这种工作方式。
当然,这种方式的定时/计数范围要小于方式0和方式1。
当计数溢出后,不是像前两种工作方式那样通过软件方法,而是由预置寄存器TH以硬件方法自动给计数器TL重新加载。
变软件加载为硬件加载。
初始化时,8位计数初值同时装入TL0和TH0中。
当TL0计数溢出时,置位TF0,同时把保存在预置寄
存器TH0中的计数初值自动加载TL0,然后TL0重新计数。
如此重复不止。
这不但省去了用户程序中的
重装指令,而且也有利于提高定时精度。
但这种工作方式下是8位计数结构,计数值有限,最大只能到255。
这种自动重新加载工作方式非常适用于循环定时或循环计数应用,例如用于产生固定脉宽的脉冲,
此外还可以作串行数据通信的波特率发送器使用。
工作方式3
2个8位方式。
工作方式3只适用于定时器0。
如果使定时器1为工作方式3,则定时器1将处于关闭状态。
当T0为工作方式3时,THo和TL0分成2个独立的8位计数器。
其中,TL0既可用作定时器,又可用作计数器,并使用原T0的所有控制位及其定时器回零标志和中断源。
TH0只能用作定时器,并使用T1的控制位TRl、回零标志TFl和中断源,见下图。
通常情况下,T0不运行于工作方式3,只有在T1处于工作方式2,并不要求中断的条件下才可能使用。
这时,T1往往用作串行口波特率发生器(见1.4),TH0用作定时器,TL0作为定时器或计数器。
所以,方式3是为了使单片机有1个独立的定时器/计数器、1个定时器以及1个串行口波特率发生器的应用场合而特地提供的。
这时,可把定时器l用于工作方式2,把定时器0用于工作方式3下才可能使用。
图3TF1,TF0工作原理图
这时,T1往往用作串行口波特率发生器,TH0用作定时器,TL0作为定时器或计数器。
所以,方式3是为了使单片机有1个独立的定时器/计数器、1个定时器以及1个串行口波特率发生器的应用场合而特地提供的。
这时,可把定时器l用于工作方式2,把定时器0用于工作方式3。
3电子定时器的设计
3.1总体的设计要求
本文所涉及的电子定时器要求能定时给电器供电或断电,最大时间可以长达30h,操作使用方便,采用AT89C51单片机控制,4位共阳数码管显示时间,继电器做电器电源输出控制。
3.2系统硬件电路设计
3.2.1芯片的选择
硬件电路要实现对交流大电流电源的控制、定时时间的设定显示和到点提醒等功能。
若采用40脚的单片机有利于设计,但会增大电路板的体积。
本设计采用ATMEL公司的AT89C51单片机,芯片位20脚,体积小,工作电压范围宽(2.7V~6V)。
性价比比较高。
3.2.2交流控制接口电路
交流接口电路可以选择继电器控制,也可采用可控硅控制等。
本设计采用的是前一种——继电器控制。
3.2.3显示电路
显示电路采用4个共阳极LED数码管。
为了在定时达到分(钟)的时候能显示出时钟在计时,两个数码管之间增加一个发光二极管,以其闪烁来代表秒走动;为了使硬件电路简单,采用单片机直接驱动LED数码管(AT89C2051输出口能吸收20mA电流),用动态扫描法实现LED显示。
3.2.4报警电路
报警电路采用普通的5V成品蜂鸣器。
3.3系统程序的设计
程序采用模块化、结构化设计,并采用软件抗干扰,使软件的可靠性比较高,可维护性较强。
主要模块有:
主程序
菜单程序
到点工作程序
抗干扰程序
4重要元件及重要电路
4.1AT89C51的内部结构及功能和引脚说明
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中。
程序保密
89C51设计有2个程序保密位,保密位1被编程之后,程序存储器不能再被编程除非做一次擦除,保密位2被编程之后,程序不能被读出。
软硬件的开发:
89C51可以采用下面2种方法开发应用系统。
(1)由于89C51内部程序存贮器为Flash,所以修改它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 电子 定时器 论文