《单片机(c语言版)定时器计数器》.pptVIP

  • 15
  • 0
  • 约1.07万字
  • 约 50页
  • 2020-01-25 发布于天津
  • 举报
第6章 AT89S51单片机的 定时器/计数器 ;;图6-1 AT89S51单片机的定时器/计数器结构框图 ;6.1.1 工作方式控制寄存器TMOD AT89S51定时器工作方式寄存器TMOD用于选择工作模式和 工作方式,字节地址为89H,不能位寻址。 8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE—门控位 GATE=0时,仅由运行控制位TRx (x?=?0,1)来控制定时器运行 GATE=1时,用外中断引脚INT0*(或INT1* )上的电平与运行控制位TRx共同控制定时器运行。 ;(2)M1、M0—工作方式选择位 M1、M0的4种编码,对应于4种工作方式的选择。 (3)C/T* —计数器模式和定时器模式选择位 C/T*=0,为定时器工作模式,对单片机的晶体振荡器12分频后的脉冲进行计数。 C/T*=1,为计数器工作模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数。;6.1.2 定时器/计数器控制寄存器TCON TCON字节地址为88H,可位寻址,位地址为88H~8FH。 (1)TF1、TF0—计数溢出标志位。 当计数器计数溢出时,该位置“1”。使用查询方式时,应注意查询有效后,使用软件及时将该位清“0”。使用中断方式时,中断请求标志位在进入中断服务程序后由硬件自动清“0”。 (2)TR1、TR0—计数运行控制位。 TR1位(或TR0位)=1,启动定时器工作。 TR1位(或TR0位)=0,停止定时器工作。 该位可由软件置“1”或清“0”。;6.2 定时器/计数器的4种工作方式 6.2.1 方式0——M1M0=00 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。;图6-4 定时器/计数器方式0逻辑结构框图;GATE位决定定时器的运行控制取决于TRx一个条件,还是取决于TRx和INTX*(x=0,1)引脚状态这两个条件。 (1)GATE=0时,仅由TR0控制与门的开启。与门输出1时,控制开关接通,计数开始; (2)GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制。 当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。; ; ; ;*;6.3 对外部输入的计数信号的要求 当定时器/计数器工作在计数器模式时,计数脉冲来自外部输入引脚T0或T1。当输入信号产生由1至0的跳变(即负跳变)时,计数器值增1。 由于确认一次负跳变花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。;*;时间常数的计算 时间常数:定时器/计数器T0或T1的初始计数值,在T0或T1被启动后,每个机器周期使计数器中的计数值加1,计数器产生溢出后。 定时时间:计数器溢出时间,时间常数越大,定时时间就越短;时间常数越小,定时时间就越长。时钟的频率越高,定时时间越短;时钟的频率越低,定时时间越长。 ; 设系统时钟的频率为fosc,计数器的初始值为N,定时器工作于方式1,则定时时间: T=(216-N)×12/fosc (1) 如果定时器工作于方式2或方式3,定时时间为: T=(28-N)×12/fosc (2); 例如:系统的时钟频率是12MHz,在方式1下,如果希望定时器/计数器T0的定时时间T为10ms,则初值N =216-T=65536-10000=55536 ;MCS-51单片机的定时器是可编程的,但在进行定时或计数之前要对程序进行初始化,具体步骤如下: (1)确定工作方式字:对TMOD寄存器正确赋值; (2)确定定时初值:计算初值,直接将初值写入寄存器的TH0、TL0或TH1、TL1; 初值计算:设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T T为计数周期,是单片机的机器周期。 (模式0-M为213,模式1-M为216,模式2和3-M为28) (3)根据需要,对IE置初值,开放定时器中断; (4)启动定时/计数器,对TCON寄存器中的TR0或TR1置位,置位以后,计数器即按规定的工作模式和初值进行计数或开始定时。;6.4.1 P1口外接的8只LED每0.5s闪亮一次。 【例6-1】在AT89S51单片机的P1口上接有8只LED(电路见图4-7)。下

文档评论(0)

1亿VIP精品文档

相关文档