MCS-51的定时计数器
见下一节
2021/3/5
电气与信息工程学院
字节地址 88H
{ 0:停T0 计数 1:启T0 计数
{ 0:无T0 中断(硬件复 1:有T0 溢出中断
0:停T 1
计数5
2021/3/5
安徽理工大学
3 定时/计数器的初始化
(1)确定工作方式——对TMOD赋值。
若赋值语句为:MOV TMOD #10H
(2)预置定时或计数的初值——直接将初值写入TH0、TL0 或TH1、TL1。
1 >1
控制
重新输入
& TH0
(8位)
定时/计数方式2
12
2021/3/5
安徽理工大学
皮肌炎图片——皮肌炎的症状表现
• 皮肌炎是一种引起皮肤、肌肉、 心、肺、肾等多脏器严重损害的, 全身性疾病,而且不少患者同时 伴有恶性肿瘤。它的1症状表现如 下:
• 1、早期皮肌炎患者,还往往伴 有全身不适症状,如-全身肌肉酸 痛,软弱无力,上楼梯时感觉两 腿费力;举手梳理头发时,举高 手臂很吃力;抬头转头缓慢而费
电气与信息工程学院
11
2021/3/5
安徽理工大学
(3) 方式2
方式2是将两个8位计数器THX和TLX分成独立的两部分,初 始常数自动重新装入设置初值时同时送THX和TLX
振荡器
÷12
T0 TR0 GATE INT0
2021/3/5
电气与信息工程学院
C/T=0 C021/3/5
电气与信息工程学院
10
2021/3/5
安徽理工大学
(2) 方式1
唯一的差别是THX和TLX组成一个16位计数器。
振荡器
÷12
C/T=0 C/T=1
TL0 TH0 (8位)(8位)
TF0
中断
T0 控制
TR0 GATE
INT0
&
1 >1
定时/计数方式1时的逻辑电路结构图 2上021/例3/5中 X = 65536–50000 = 15536 = 3CB0H
安徽理工大学
第5章 定时/计数器
主 要 内 容:
5.1 定时/计数器的结构 5.2 工作方式 5.3 综合应用
2021/3/5
电气与信息工程学院
1
2021/3/5
安徽理工大学
5.1 定时/计数器的结构
INT1 INT0 (P3.3)(P3.2)
T1(P3.5)
T0(P3.4)
CPU
定时器1
(8DH) TH1
采用定时器1,方式2工作,因此,TMOD=20H。
2021/3/5
电气与信息工程学院
14
2021/3/5
安徽理工大学
可编得1s延时子程序如下:
DELAY:
LP1: LP2:
MOV R5,#28H ;置25ms计数循环初值
MOV R6,#64H ;置250μs计数循环初值
MOV TMOD,#20H ;置定时器1为方式2
LP2: MOV MOV DJNZ RET END
2021/3/5
电气与信息工程学院
R3,#14H TH0,#3CH TL0,#0B0H TR0 TF0,LP2 LP1 TH0,#3CH TL0,#0B0H R3,LP1
;置50ms计数循环初值 ;置定时器初值
;启动定时器0 ;查询计数溢出 ;未到50ms继续计数 ;重新置定时器初值
电气与信息工程学院
MOV MOV MOV MOV SETB SETB JBC SJMP MOV CLR NOP NOP SETB JBC SJMP MOV DJNZ RET
R3,#14H TMOD,#07H TH0,#06H TL0,#38H TR0 TR1 TF1,LP2 LP1 TH0,#06H P3.4
LLPPXX即12的=::T0H实111JSMM际0B=J0M6OOC填03VVP1H写1,0TLTT值0PTFHL0111L1应11,,,1=为01#L#0P81602H83BH。H=6318H
;查询计数溢出 ;未到5ms继续计数 ;重新置定时器初值
DJNZ R3,LP1
;未到1s继续循环
RET
;返回主程序
SJMP CONT
;T1引脚产生负跳变
;T1引脚恢复高电平 ;累加器加1 ;将16进制数转换成BCD数 ;点亮发光二极管 ;查询定时器1计数溢出 ;60s不到继续计数
2021/3/5
电气与信息工程学院
21
2021/3/5
安徽理工大学
DELAY:MOV MOV MOV SETB
LP1: JBC SJMP
DEMLAOYV:MTMOVODR3,,##0200H0 MOV TMOD,#00H
;置5ms计数循环初值 ;设定时器1为方式0
则X=定M–时计MMSE器OO数TB1VV值的=TTT初8HLR11值11,9,2#–#156803H0H0=3192=C7;;8H置启=0定动11时T010器01初11值1000B
2021/3/5
电气与信息工程学院
7
2021/3/5
安徽理工大学
5.2 工作方式
(1) 方式0
由THX的8位和TLX的低5位组成13位计数器
13位计数加1到全“1”,再加1就产生溢出, 置TCON的TFX位为1,同时计数器全变为“0”
2021/3/5
电气与信息工程学院
8
2021/3/5
安徽理工大学
P3.4 TF0,LP3 LP1 TL0,#38H R3,LP1
;置1000ms计数循环初值 ;置定时器0为方式3计数 ;置TH0初值 ;置TL0初值 ;启动TL0 ;启动TH0 ;查询TH0计数溢出 ;未到250μs继续循环 ;重置TH0初值 ;T0引脚产生负跳变 ;负跳变持续
;T0引脚恢复高电平 ;查询TL0计数溢出 ;200次未到继续计数 ;重置TH0初值 ;未到1s继续循环
电气与信息工程学院
2021/3/5
安徽理工大学
例5.2试用定时器1,方式2实现1s延时。
解:因方式2是8位计数器,其最大定时时间为: 256×1μs=256μs,为实现1s延时,可选择定时时间为250μs, 再循环4000次。定时时间选定后,可确定计数值为250,则 定时器1的初值为:
X=M–计数值=256–250=6=6H
2021/3/5
电气与信息工程学院
3
2021/3/5
安徽理工大学
1 工作方式控制寄存器TMOD
2021/3/5
电气与信息工程学院
4
2021/3/5
安徽理工大学
2 启停与中断控制器TCON
D7 D6 D5 D4 D3 D2 D1 D0 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8F 8E 8D 8C 8B 8A 89 88
MOV TL1,#0C4H
SETB TR0
;启动定时器1
DISP: MOV A,#00H ;计数显示初始化
MOV P1,A
2021/3/5
电气与信息工程学院
20
2021/3/5
安徽理工大学
CONT:ACALLDELAY
CLR
P3.5
NOP
NOP
SETB
P3.5
INC
A
DA
A
MOV
P1,A
JBC
TF1,DISP
;未到1s继续循环
22
2021/3/5
安徽理工大学
思考与练习
1 MCS-51单片机内设有几个定时/计数器?它们 是由哪些特殊功能寄存器组成?
2 定时/计数器作定时器用时,其定时时间与哪 些因素有关?作计数器用时,对外界计数频 率有何限制?
3 已知80C51单片机系统时钟频率为6MHZ,请 利用定时器T0和P1.2输出矩形脉冲,其波形如 下:
15
2021/3/5
安徽理工大学
(4)方式3:只适用于T0,TL0组成完整的8位定时/计数器;TH0
只作为定时器用,借用T1的控制位TR1和TF1;T1还可以设置为方式0~ 2,用于任何不需要中断的场合。
振荡器
1 12
fosc
T0
TR0 GATE
INT0
1 12
fosc
TR1
÷12
1 12
fosc
18
2021/3/5
安徽理工大学
5.3 综合应用
例5.4 用单片机定时/计数器设计一个秒表, 由P1口连接的LED采用BCD码显示,发光二极管 亮表示0,暗表示1。计满60s后从头开始,依次 循环。
解:定时器0工作于定时方式1,产生1s的定时。定时器 1工作在方式2,当1s时间到时,由软件复位T1(P3.5)脚, 产生负跳变,再由定时器1进行计数,计满60次(1分钟) 溢出,再重新开始计数。
C/T=0 C/T=1
TL0 (8位)
控制
&
1 >1
TTLH0 ((88位 位))
TF0
中断
TTFF10
中断
2021/3/5
电气与信息工程学院
16
2021/3/5
安徽理工大学
例5.3 用定时器0,方式3实现1s延时。
解:根据题意,定时器0中的TH0只能为定时器,定时时间可设为
250μs;TL0设置为计数器,计数值可设为200。TH0计满溢出后,用软 件复位的方法使T0(P3.4)引脚产生负跳变,TH0每溢出一次,T0引脚 便产生一个负跳变,TL0便计数一次。TL0计满溢出时,延时时间应为 50ms,循环20次便可得到1s的延时。
振荡器
÷12
T0
TR0 GATE INT0
C/T=0 C/T=1