片微机的定时器计数器原理及应用.ppt
《片微机的定时器计数器原理及应用.ppt》由会员分享,可在线阅读,更多相关《片微机的定时器计数器原理及应用.ppt(60页珍藏版)》请在三一办公上搜索。
1、51单片机IO端口操作的一个有趣现象:我想实现P1.1端口跟随P1.4端口同步输出,都是驱动LED,P1.4端口使用定时器定时翻转,主循环程序随时判断P1.4状态,同步驱动P1.1。程序如下:,看来没问题,可是下载到单片机中,只见OUT闪烁,LED根本不动,奇怪?,FLAG BIT 00H,CPL FLAGMOV C,FLAGMOV OUT,C,MOV C,FLAG,第六章 单片微机的定时器/计数器原理及应用,6.1 概述6.2 定时器/计数器T0、T16.3 定时器/计数器T26.4 监视定时器(看门狗)T36.5 定时器/计数器的应用编程,定时或计数方法:1硬件法:定时功能完全由硬件电路完
2、成,不占用CPU时间。2软件法:软件定时是执行一段循环程序来进行时间延时。3可编程定时器计数器:通过软件编程来实现定时时间的改变,通过中断或查询方法来完成定时功能或计数功能。,6-1 概述,6-1 概述,定时器资源:80C51包含有两个16位的定时器计数器:T0和T1;80C52包含有三个16位的定时器计数器:T0、T1、T2在80C51系列的部分产品(如Philips公司的80C552)中,还包含有作看门狗的8位定时器T3。,定时器计数器的核心是一个加1计数器其基本功能是计数加1。,计数是对单片微机的T0、T1(或T2)引脚上输入的一个1到0的跳变进行计数增l。定时是对单片微机内部的机器周期
3、进行计数,从而得到定时。波特率发生器80C51的定时器/计数器还可用作串行接口的波特率发生器。,T0、T1 的内部结构简图:,6.2 定时器计数器T0、T1,图61 定时器/计数器T0、T1的内部结构框图,T0、T1 的方式寄存器TMOD,6.2.1 与定时器计数器T0、T1有关的特殊功能寄存器-TMOD、TCON、TH、TL、IE、IP,D7 D6 D5 D4 D3 D2 D1 D0,T1,T0,GATE门控位 图62CT:功能选择位,定时时钟脉冲:1/12fosc,最高计数频率:1/24fosc,M1、M0:工作方式选择位。,定时器计数器T0、T1 的控制寄存器TCON,T0、T1 的数据
4、寄存器TH1、TL1,TH0、TL0,定时器/计数器中断 中断允许寄存器IE 中断矢量 中断优先级寄存器IP,T0:有4种工作方式可选(方式0,1,2,3)T1:有3种工作方式可选(方式0,1,2)方式0-13位定时器/计数器(M10、M00)最大计数值213=8192,当fosc=12MHZ时,Tmax=8192S,6.2.2 定时器计数器T0、T1 的工作方式,B=TRx(GATE+INTx),方式1-16位定时器/计数器(M10、M01),最大计数值216=65535,当fosc=12MHZ时,Tmax=65535S,方式2-8位定时器/计数器自动重装载(M11、M00),优点:定时初值
5、可自动恢复,TH中存放初值;缺点:计数范围小,最大计数值为28=256适用于需要重复定时,而定时范围不大的应用场合,比如:作为串行口波特率发生器使用,方式3-仅T0有此方式,T1无方式3,中断矢量000BH,中断矢量001BH,T0方式3下的T0 在方式3情况下,T0被拆成二个独立的8位计数器TH0、TL0。TL0:8位定时/计数器,使用T0原有的控制寄存器资源:TF0,TR0,GATE,C/T,INT0,中断矢量等;TH0:8位定时器,占用T1的中断溢出标志TF1,运行控制开关TR1,中断矢量001BH,只能对片内机器周期脉冲计数,T0方式3情况下的T1 T1由于其TF1、TR1被T0的TH
6、0占用,计数器溢出时,只能将输出信号送至串行口,即用作串行口波特率发生器。,定时器/计数器T0方式3时,T1的逻辑结构图,80C52中的T2:16位功能:自动重装载和捕获能力相关寄存器:8位计数器TL2、TH2,控制寄存器T2CON,模式寄存器T2MOD,捕获寄存器RCAP2L(低字节)和RCAP2H(高字节)。计数脉冲源:两个-内部机器周期及 T2(P10)端输入的外部计数脉冲。工作方式:3种-自动重装载、捕获和波特率发生器方式引脚T2是外部计数脉冲输入端引脚T2EX是外部控制信号输入端。,6.3 定时器计数器T2,控制寄存器 T2CON,6.3.1 T2中的特殊功能寄存器,TF2T2 溢出
7、标志,T2溢出时置位并申请中断,软件清除。在波特率发生器方式下,即RCLK1或TCLK1时,定时器溢出不对TF2置位。EXF2T2外部标志,EXF2要靠软件来清除当EXEN21,且T2EX引脚上出现负跳变而造成捕获或重装载时EXF2置位,申请中断。若已允许T2中断,CPU将响应中断,转向中断服务程序。,RCLK:接收时钟标志,软件置位或清除用以选择T2或T1作串行口接收波特率发生器。RCLK1时,用T2溢出脉冲作为串行口的接收时钟;RCLK0时,用T1的溢出脉冲作接收时钟。TCLK:发送时钟标志,软件置位或清除用以选择T2或T1作串行口发送波特率发生器。TCLKl时,用T2溢出脉冲作为串行口的
8、发送时钟;TCLK0时,用T1的溢出脉冲作发送时钟。EXEN2:T2外部允许标志,软件设置或清除允许或禁止用外部信号来触发捕获或重装载操作。EXEN2l时,若T2未用作串行口的波特率发生器,则在T2EX端出现的信号负跳变时,将造成T2捕获或重装载,并置EXF2标志为 1,请求中断。EXEN20时,T2EX端的外部信号不起作用,TR2:T2运行控制位。软件设置或清除C/T2:T2的定时器方式或计数器方式选择位。C/T20时,定时器工作方式。计数脉冲的频率为1/12fosc C/T21时,计数器工作方式,下降沿触发。计数脉冲自T2引脚输入,每当外部脉冲负跳变时,计数器值增1。CPRL2:捕获重装载
9、标志。CPRL2l选择捕获功能,这时若EXEN21,且T2EX端的信号负跳变时,发生捕获操作。CPRL20,选择重装载功能,这时若T2溢出或在EXEN21条件下 T2EX端信号负跳变,都会造成自动重装载操作。当RCLKl或TCLKl时,CPRL2控制位不起作用,T2 被强制工作于重装载方式。重装载发生于T2溢出时,常用来作波特率发生器。,方式控制寄存器T2MOD,T2OE:T2输出允许位。当T2OE1时,允许时钟输出至T2引脚。仅对80C5480C58有定义。DCEN:向下计数允许位DCEN=1,T2向下(减)计数 DCEN=0,T2向上(加)计数,数据寄存器:TH2、TL2 T2有一个16位
10、的数据寄存器,是由高8位寄存器TH2和低8位寄存器TL2所组成。它们都只能字节寻址,相应的字节地址为CDH和CCH。复位后,这两个寄存器全部清零。,捕获寄存器:RCAP2H、RCAP2L T2中的捕获寄存器是一个16位的数据寄存器,由高8位寄存器RCAP2H和低8 位寄存器RCAP2L所组成,相应的字节地址为CBH和CAH。捕获寄存器RCAP2H和RCAP2L,用于捕获计数器TL2、TH2的计数状态,或用来预置计数初值的。TH2、TL2和 RCAP2H、RCAP2L之间接有双向缓冲器(三态门)。复位后,两个寄存器全部清零。,T3俗称看门狗(watchdog),它的作用是强迫单片微机进入复位状态
11、,使之从硬件或软件故障中解脱出来。,6.4 监视定时器(看门狗)T3,定时器初值的计算 定时时间=脉冲数脉冲周期(机器周期)定时时间t=(2L-初值TC),6.5 定时器/计数器的应用编程 6.5.1 定时器的应用,L与工作方式有关,13、16、8,定时器溢出率为定时时间的倒数,fosc=12MHZ时,1机周=1S;fosc=6MHZ 时,1机周=2S,解:工作方式0:213500S/2S=8192-250=7942=1F06H TL0=00110B=06H TH0=11111000B=F8H,【例】已知晶振6MHz,要求定时0.5ms,试分别求出T0工作于方式0、方式1、方式2时的定时初值。
12、,工作方式1:T0初值=216-500s/2s=65536250=65286=FF06H TH0=FFH;TL0=06H。,工作方式2:T0初值=28-500s/2s=256-250=6 TH0=06H;TL0=06H。,从上例中看到,方式0计算定时初值比较麻烦,根据公式计算出数值后,还要变换一下,容易出错,不如直接用方式1,且方式0计数范围比方式1小,方式0完全可以用方式1代替,方式0与方式1相比,无任何优点。,解:分析 采用方式0定时时间 t1ms=1000S定时常数:TC=213-1000/2=8192-500=7692=11110000 01100B用定时器T0:TMOD=00H,TH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 定时器 计数器 原理 应用
链接地址:https://www.31ppt.com/p-5784030.html