- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 定时与中断系统;定时/计数器;8DH
8CH
8BH
8AH;TMOD(89H);TCON(88H);1;1、确定并设置工作方式——对TMOD赋值;1、确定并设置工作方式——对TMOD赋值;2、确定并设置定时器计数初值——直接将初值写入TH0、
TL0或TH1、TL1;0 0 0 1;解:2、确定并设置计数初始值,并写入TH0、TL0
X=最大计数值-所需计数值
方式1最大计数为M=65536,延时时间50000us需要计数50000次
X=65536-5000=3CB0H
指令为: MOV TH0,#3CH
MOV TL0,#0B0H;解:3、启动定时器0
指令:SETB TR0
最终初始化程序如下:
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0;例2:如果想用定时器1实现100ms的延时,又该工作在什么方式下,初始化程序又如何呢?;解:2、确定并设置计数初始值,并写入TH1、TL1
X=最大计数值-所需计数值
方式1最大计数为M=65536,延时时间50000us需要计数5000次
X=65536-50000=3CB0H
指令为: MOV TH1,#3CH
MOV TL1,#0B0H;解:3、启动定时器1
指令:SETB TR1
最终初始化程序如下:
MOV TMOD,#01H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB TR1;; 解:因方式0采用13位计数器,其最大定时时间为:
8192×1 ?s = 8.192 ms
所以,定时时间不可能像实训5步骤1)那样选择50 ms
可选择定时时间为5 ms,再循环200次
定时时间选定后,再确定计数值为5000,则定时器1的初值为:
X = M-计数值= 8192-5000 = 3192= C78H =
0110001111000B
因13位计数器中TL1的高3位未用,应填写0,TH1占高8位,
所以,X的实际填写值应为
X = 0110001100011000B = 6318H
即TH1 = 63H,TL1 = 18H,又因采用方式0定时,故TMOD = 00H。; 可编写1 s延时子程序如下:
DELAY: MOV R3,#200 ;置5 ms计数循环初值
MOV TMOD,#00H ;设定时器1为方式0
MOV TH1,#63H ;置定时器初值
MOV TL1,#18H
SETB TR1 ;启动T1
LP1: JBC TF1,LP2 ;查询计数溢出
SJMP LP1 ;未到5 ms继续计数
LP2: MOV TH1,#63H ;重新置定时器初值
MOV TL1,#18H
DJNZ R3,LP1 ;未到1 s???续循环
RET ;返回主程序;方式2;例5.2 试用定时器1,方式2实现实训5步骤1)中1 s的延时。
解:因方式2是8位计数器,其最大定时时间为:
256×1 ?s = 256 ?s
为实现1s延时,可选择定时时间为250?s,再循环4000次。
定时时间选定后,可确定计数值为250
则定时器1的初值为:
X = M-计数值=256-250 = 6 = 6H
采用定时器1,方式2工作,因此,TMOD =20H;可编写1 s延时子程序如下:
DELAY: MOV R5,#28H ;置25 ms计数循环初值
MOV R6,#64H ;置250 ?s计数循环初值
MOV TMOD,#20H ;置定时器1为方式2
MOV TH1,#06H ;置定时器初值
MOV TL1,#06H
SETB TR1 ;启动定时器
LP1: JBC TF1,LP2 ;查询计数溢出
SJMP LP1 ;无溢出则继续计数
文档评论(0)