第五章定时/计数器
定时/计数的结构及工作原理
一、定时/计数器的结构和原理
图 5‑1 TMOD、TCON与T0、T1的结构框图
控制信号
振荡器
÷12
加1计数器
TF
X
中断
T
X
端
C/
T = 0
C/
T = 1
图 5‑2 定时/计数器的结构框图
二、定时/计数器方式寄存器TMOD
表格 5‑1 方式选择位意义
0 0
方式0
13位计数器
0 1
方式1
16位计数器
1 0
方式2
自动再装入8位计数器
1 1
方式3
定时器0:分成两个8位计数器
定时器1:停止计数
TMOD格式如下:
M1 M0
工作方式
功能说明
定时器1
定时器0
D7
D6
D5
D4
D3
D2
D1
D0
GATE
C / T
M1
M0
GATE
C / T
M1
M0
三、定时控制寄存器TCON
定时器控制字TCON的格式如下:
TCON
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
定时/计数器的工作方式
一、方式0
当M1M0两位为00时,定时/计数器被选为工作方式0,其逻辑结构如图 5‑3 所示。
图 5‑3 T0(或T1)方式0结构
二、方式1
图 5‑4 T0(或T1)方式1结构
三、方式2
图 5‑5 T0(或T1)方式1结构
四、方式3
图 5‑7 T0方式3下和T1结构
一、方式0、方式1的应用
例5-1 选择T1方式0用于定时,,晶振fosc=6MHZ。
根据题意,µs取反一次即可得到1ms方波,因而T1的定时时间为500µs。
机器周期 T=12/fosc=12/6×106=2µs
设初值为X则: (213-X)×2×10-6 s =500×10-6 s
X=7942D=11**********B=1F06H
F
8
06
因为在作13位计数器用时,TL1高3位未用,应写0,X的低5位装入TL1的低5位,所以TL1=06H;X的高8位应装入TH1,所以TH1=F8H。
定时/计数器的应用
将T1设为定时方式0:GATE=0,C/T=0,M1M0=00;T0不用可为任意,只要不使其进入方式3,一般取0即可。故TMOD=00H。系统复位后TMOD为0,所以不必对TMOD置初值。下面计算500µs定时T1的初值:
MOV
TL1,#06H
;给TL1置初值
MOV
TH1,#0F8H
;给TH1置初值
SETB
TR1
;启动T1
;查询计数溢出否
LP1:
JBC
TF1,LP2
AJMP
LP1
LP2:
MOV
TL1,#06H
;重装初值
MOV
TH1,#0F8H
CPL
;输出取反
AJMP
LP1
;重复循环
源程序如下:
第五章定时器. 来自淘豆网www.taodocs.com转载请标明出处.