51单片机定时器/计数器
⑶ GATE —— 门控位
GATE=0,运行只受TCON中运行控制位TR0/TR1的控制。
GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。只有当INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。
TMOD字节地址89H,不能位操作,设置TMOD须用字节操作指令。
(三). 定时/计数器工作方式
⒈ 工作方式0
13位计数器,由TL0低5位和TH0高 8位组成,TL0低5位计数满时不向TL0第6位进位,而是向TH0进位,13位计满溢出,TF0置“1”。最大计数值213 = 8192。
初值确定:TH0=(8192-5000)/32;TL0=(8192-5000)%32;进行5ms的延时。12M晶振。
⒉ 工作方式1
16位计数器,最大计数值为216 = 65536。
初值确定:TH0=(65536-50000)/256;TL0=(65536-50000)%256;进行50ms的延时。12M晶振。
⒊ 工作方式2
8位计数器,仅用TL0计数,最大计数值为28= 256,计满溢出后,一方面使溢出标志TF0 = 1;另一方面,使原来装在TH0中的初值装入TL0。
优点:定时初值可自动恢复;缺点:计数范围小。
适用于需要重复定时,而定时范围不大的应用场合。
初值确定:TH0=TL0=256-200进行200us的延时。12M晶振。
⒋ 工作方式3
方式3仅适用于T0,T1无方式3。
⑴ T0方式3
在方式3情况下,T0被拆成二个独立的8位计数器TH0、TL0。
① TL0使用T0原有的控制寄存器资源:TF0,TR0,GATE,C/T,INT0,组成一个8位的定时/计数器;
② TH0借用T1的中断溢出标志TF1,运行控制开关TR1,只能对片内机周脉冲计数,组成另一个8位定时器(不能用作计数器)。
⑵ T0方式3情况下的T1
T1由于其TF1、TR1被T0的TH0占用,计数器溢出时,只能将输出信号送至串行口,即用作串行口波特率发生器。
(四)、定时/计数器的应用
⒈ 定时器/计数器初始化的主要内容
(1) 选择工作方式:通过对方式寄存器TMOD进行设置
(2) 给定时器赋初值
(3) 根据需要设置中断控制字
(4) 启动定时器
1. 定时器/计数器初值设定方法
(1)根据定时长短,选择工作方式
(2)计算定时/计数初值
80C51定时/计数初值计算公式:
其中: N与工作方式有关: 方式0时,N=13;方式1时,N=16;方式2、3时,N=8。
机周时间与主振频率有关:机周时间=12/fosc,fosc=12MHZ时,1机周=1mS; fosc=6MHZ 时,1机周=2mS。
尘埃粒子计数器相关文章:尘埃粒子计数器原理
评论