- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机第八章 定时器.ppt
定时器/计数器 两个16位定时计数器 相关的SFR:TMOD(工作方式)TCON(状态)。 定时功能时,每个机器周期定时器加1 计数功能时,在外部事件相应输入脚(T0和T1)产生负跳变,计数器加1。 定时器的控制字 定时器控制寄存器TCON (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 C/T方式寄存器TMOD(89H) GATA C/T M1 M0| GATA C/T M1 M0 注意:不能位寻址 定时工作过程 定时器的工作方式: 方式0:13位定时计数器 注意:TL0的低5位和TH0共同组成 方式1: 16位定时计数器 方式2: 自动重装入的8位定时计数器 溢出后(TF0=0)由TH0→TL0 方式3:T0成为两个独立的8位计数器 TL0作为定时计数器;TH0仅作定时器用 TL0的控制用原T0的,TH0用原T1的控制位 T1工作在方式0~2,溢出时送串行口,经常作为串行口波特率发生器 定时器/计数器的初始化 1 根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器响应的工作方式; 2 根据需要给C/T选送初值以确定需要的定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级; 4 给TCON送命令字以启动或禁止C/T的运行。 初值的计算 计数器初值: 设计数模值为M,计数初值设定为TC,计数器计满为零所需的计数值为C,则:TC=M-C (M=213,216,28) 定时器初值: T=(M-TC)T机器 几种工作方式的最大定时时间 若TC=0,定时时间为最大,设FOSC=12MHZ,几种工作方式下的最大定时时间为: 方式0: TMAX=8.192MS; 方式1: TMAX=65.536MS; 方式2、3: TMAX=0.256MS; 例:FOSC=12MHZ,试计算定时时间2MS所需的定时器的初值. 方式2、方式3 TMAX=0.256MS,所以必须将工作方式设在方式0或方式1: 方式0:TC=213-2MS/1US=6192=1830H TL0=10H,TH0=0C1H 方式1:TC=216-2MS/1US =63536=0F830H TL0=30H,TH0=0F8H 编程方式 采用查询方式:程序一直检测TF0(TF1),若TF0=1(TF1=1),说明定时时间到或计满数 采用中断方式:程序初始化时,设置定时器溢出中断允许后,内部硬件自动检测到TF0=1(TF1=1)时,自动响应中断,进入中断服务程序。 应用举例 例1 选用T1方式0产生500US的定时,在P1.1输出周期为1MS的方波; FOSC=6MHZ 注意:T0不用时的处理,一般置0方式,禁止进入方式3. 初值计算:T=500US=(213-TC)*2US,TC=7942 TC=7942D=8F06H 主程序 BEGIN:MOV TMOD,#0 MOV TL1,#06H MOV TH1,#0F8H SETB TR1 LOOP: JBC TF1,PF0 SJMP LOOP PF0: MOV TL1,#06H MOV TH1,#0F8H CPL P1.1 AJMP LOOP 例2??从P3.4T0输入低频脉冲,要求该脉冲每发生一次跳变时由P1.0输出一个500US的负脉冲,与此同时由P1.1输出一个宽为1MS的正脉冲. 先设T0为计数方式,当外部脉冲来一个负跳变时,计数加1,并产生溢出,TF0=1;检测到TF0=1时,即可设定T1为定时方式; T0设为方式2;初值设为0FFH即加1即刻产生溢出. ORG 0H SJMP BEGIN ORG 000BH AJMP TT1 ORG 0030H BEGIN:MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH CLR P1.1 Setb et0 Setb ea SETB P1.0 SETB TR0 S1:SJMP $ 中断服务程序 ORG 300H TT1:MOV TMOD,#20H MOV TH1,#0AH ;06H MOV TL1,#0AH ;06H SETB P1.1 CLR P1.0 SETB TR1 DEL2:JBC TF1,RP1 SJMP DEL2 RP1: SETB P1.0 DEL3:JBC TF1,RP2 SJMP DEL3 RP2: CLR P1.1 CLR TR1 RETI 例3:门控位的应用 GA
文档评论(0)