单片机AT89S52定时器计数器.pptx
1第8章定时器/计数器第一节概述第二节模式0、模式1及其应用第三节模式2及其应用第四节模式3及其应用第五节定时器/计数器2
第一节概述2回忆8051结构特点:由单一内部总线连接各功能模块,通过特殊功能寄存器(SFR)集中控制。嵌入式结构,不同型号引脚定义和SFR定义有所不同,因此,从两个方面来认识和掌握某一个功能模块。相关引脚功能相关SFR功能
8051定时器/计数器概况4040301两个16位定时计数器,最大计数范围:0000-FFFFH。相关引脚:T0、T1、INT0、INT1。相关的SFR:TMOD、TCON、TH0、TL0、TH1、TL1。4种工作方式。02
T0、T1:计数脉冲输入,定时方式时不用,作I/OINT0、INT1:与定时器运行控制有关,也可以无关,可编程设定T0、T1相关引脚
T0、T1相关SFR6
定时器/计数器原理7
定时功能:对固定频率的机器周期计数,每个机器周期定时器加1,计数速率=Fosc/1201计数功能:对外部引脚(T0和T1)上的负跳变计数,每产生 一个负跳变,计数器加1,要求高低电平均要大 于1Tm,计数速率Fosc/2401
以N位计数器构为核心,要解决以下问题:何时控制启动、停止计数?如何控制定时还是计数?如何控制定时/计数的长短?如何用查询或中断管理溢出事件?
GATE选通门:GATE=0时,只要TRx=1,计数器就开始工作;GATE=1时,只有INTx脚和TRx同时为“1”时,计数器才开始工作.主要用于测量INTx脚上高电平脉冲的宽度.C/T计数/定时方式选择位:C/T=1时,计数方式.即计数器的计数脉冲来自T0或T1引脚的外部事件.C/T=0时:定时方式,计数脉冲来自内部振荡频率fosc的12分频.模式寄存器TMOD(SFR的地址:89H,不可按位寻址)
M1、M0模式选择:分别对应四种模式.01M1M0=00,方式0:13位定时计数器02M1M0=01,方式1:16位定时计数器03M1M0=10,方式2:自动重装入的8位定时计数器04M1M0=11,方式3:T0成为两个独立的8位计数器05
定时/计数器4种模式比较12T=(M-TC)×t其中,T:定时时间,M:计数器的模,TC:计数初值,t:计数器计数脉冲的周期(对于定时方式t=fosc/12)。
13TF1,TF0定时器T1,T0的溢出标志:计数器溢出时硬件自动置位,即TFx=1,进入中断后再由硬件自动清除;TR1,TR0计数器T1,T0的控制位:由软件置位(计数器开始工作)或清零(计数器停止工作).IE1,IE0外部中断INT1,INT0的请求标志:当单片机检测到INTx引脚上有低电平或下降沿时,IEx=1,申请中断.IT1,IT0外中断触发类型控制:ITx=1时,外中断信号的下降沿触发IEx标志,ITx=0时,外中断信号的低电平触发IEx标志.控制寄存器TCON(SFR地址:88H)(LSB)(MSB)
BDACE第一节概述第三节模式2及其应用第五节定时器/计数器2第二节模式0、模式1及其应用第四节模式3及其应用
Timer/Counter0/1Mode0:13-BitCounter(Timer1shown)
Timer/Counter0/1Mode1:16-BitCounter(Timer0shown)
定时器/计数器运行控制方法17TR0=1;启动定时器T0运行TR0=0;停止定时器T0运行我们把这种控制定时器运行的方法叫软触发,最常用。1、设置GATE=0,则GATE=1,因此Y=TR0,这样:01进一步令TR0=1,则Y=INT0电平,这样:INT0为高电平,启动定时器T0运行INT0为低电平,停止定时器T0运行我们把这种控制定时器运行的方法叫硬触发,较少用,可以用来测量正脉冲的宽度。2、设置GATE=1,则GATE=0,因此Y=TR0*INT0电平,02
定时器/计数器的初始化方法181根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器的工作方式;(要考虑定时/计数范围,重装方式)2根据需要给C/T送初值以确定需要的定时时间或计数次数;(可选,缺省为0000)3根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级;(可选)4给TCON送命令字以启动或禁止C/T的运行。
初值的计算19计数器初值:设计数模值为M,计数初值设定为TC,计数器计满为零所需的计数值为C,则:TC=M-C(M=213,216,28)定时器初值:T=(M-TC)Tm,T为需要定时时间初值TC=M-T/Tm当定时或计数范围大