第十八讲计数/定时器的应用
教学方法: 讲授法
授课时数: 2学时
教学目的:
1、GATE的用法
2、掌握定时/计数参数的计算方法
3、掌握定时/计数器工作模式的确定
教学重点:
定时/计数器的初
教学难点:
GATE的用法
教学环节:
组织教学:(5分钟) 检查学生人数,强调课堂纪律和要求,自我介绍
组织教学:检查学生人数,进入上课状态。
复习旧课:1、定时/ 计数器的控制位有哪些?分别在何处?
2、计数初值如何计算?
讲授新课:
§4-2 定时/ 计数器应用
TMOD GATE C//T M1 M0 GATE C//T M1 M0
TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
例2、设fosc = 6MHz,利用单片机内定时/计数器及P10口线输出1000个脉冲,脉冲周期为2ms,试编程。
解:
P10 ·
T1 2ms
T = 12×1/fosc = 2us
选取T0定时;T1计数。
设T0采用中断方式产生周期为2ms方波,T1对该方波计数,当输出至第1000个脉冲时,使TF1置1。
在主程序中用查询方法,检测到TF1变1时,关掉T0,停止输出方波。
T0、T1参数的确定:
T0模式0、定时:脉宽为脉冲周期的一半
所以,X = 213-1ms / 2us = 0001 1110 0000 1100B
TH0 = 0F0H
TL0 = 0CH
T1模式1、计数:N = 1000
则 X = 65536-1000 = 64536 = 0FC18H
(若选模式0也可以,此时X = 7192=1C18H)
程序:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TOS
ORG 1000H
MAIN: MOV TMOD,#50H;T0定时,模式0;T1计数,模式1
MOV TL0,#0CH
MOV TH0,#0F0H
MOV TL1,#18H
MOV TH1,#0FCH
SETB TR1
SETB TR0
SETB ET0
SETB EA
WAIT: JNB TF1,WAIT;查询1000个脉冲计够没有?没有等待。
CLR EA
CLR ET0
ANL TCON,#0FH ; 停T0、T1
SJMP $
TOS:MOV TL0,#0CH
MOV TH0,#0F0H
CPL P10
RETI
END
例3、脉冲参数测量——GATE功能的使用。
电路连接如下图所示。
脉冲高电平(计数)长度值存于21H、20H中,
脉冲低电平长度存于23H、22H中。
解: 复习GATE的用法:
GATE = 0时,TRi = 1,即可启动Ti定时/ 计数
GATE = 1时,TRi = 1,且/INTi =1,才启动定时/ 计数。
ORG 0000H
LJMP MAIN
ORG 2000H
MAIN:MOV TMOD,#99H ;T0、T1均工作在定时,
; 模式1,GATE=1
MOV A,#00H ;T0、T1赋计数初值00H,定时最长时间
;为00
第18讲 计数定时器的应用 来自淘豆网m.daumloan.com转载请标明出处.