守时器/计数器的结构
守时器/计数器的本质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是守时器/计数器的作业方法寄存器,确认作业方法和功用;TCON是操控寄存器,操控T0、T1的发动和中止及设置溢出标志。
计数器输入的计数脉冲源
体系的时钟振动器输出脉冲经12分频后发生;
T0或T1引脚输入的外部脉冲源。
计数进程
每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU宣布中止请求(守时器/计数器中止答应时)。假如守时器/计数器作业于守时形式,则表明守时时刻已到;假如作业于计数形式,则表明计数值已满。
守时使用
用作守时器:此刻设置为守时器形式,加1计数器是对内部机器周期计数(1个机器周期等于12个振动周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy便是守时时刻t 。
计数运用
用作计数器:此刻设置为计数器形式,外部事情计数脉冲由T0或T1引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的凹凸电平持续时刻都必须大于1个机器周期。
作业方法寄存器(TMOD)
GATE:门控位。
GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以发动守时器/计数器作业;(即需求一个发动条件)
GATE=1时,要用软件使TR0或TR1为1,一起外部中止引脚也为高电平时,才干发动守时器/计数器作业,即需求两个发动条件。
C/T :守时/计数形式挑选位。
C/T =0为守时形式; C/T =1为计数形式。
M1M0:作业方法设置位。
计数器作业方法挑选
M1 M0 工 作 方 式 功 能 说 明
0 0 方法0 13位计数器
0 1 方法1 16位计数器
1 0 方法2 主动重装8位计数器
1 1 方法3 守时器0:分红两个8位
守时器1:中止计数
守时器/计数器的操控
操控寄存器TCON
TCON的低4位用于操控外部中止,已在前面介绍。TCON的高4位用于操控守时器/计数器的发动和中止请求。其格局如下:
TF1(TCON.7):T1溢出中止请求标志位。T1计数溢出时由硬件主动置TF1为1。CPU呼应中止后TF1由硬件主动清0。TR1(TCON.6):T1起/停操控位。1:发动 0:中止
TF0(TCON.5):T0溢出中止请求标志位,其功用与TF1类同。
TR0(TCON.4):T0起/停操控位。1:发动 0:中止
守时器/计数器的作业方法
方法1
方法1为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU宣布中止请求。
方法2
方法2的计数位数是16位,由TL0(TL1)作为低8位、TH0(TH1)作为高8位,组成了16位加1计数器 。
方法3
方法3为主动重装初值的8位计数方法。
在方法3下,当计数器计满255(FFH)溢出时,CPU主动把TH 的值装入TL中,不需用户干涉。因而特别适合于用作较准确的脉冲信号发生器。
方法4
方法4只适用于守时器/计数器T0,守时器T1方法3时相当于TR1=0,中止计数。
作业方法4将T0分红为两个独立的8位计数器TL0和TH0 。