第6章单片微机的定时器计数器原理及应用讲述.ppt

第6章单片微机的定时器计数器原理及应用讲述.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章单片微机的定时器计数器原理及应用讲述

* 例:watchdog使用的一段程序如下: T3 EQU 0FFH ;定时器T3的地址 PCON EQU 87H ;电源控制寄存器PCON的地址 WATCH_INTV EQU 156 ;看门狗的时间间隔(2.048×100ms) ?插在用户程序中对看门狗需要重新装入的地方: LCALL WATCHDOG;调用看门狗服务子程序 WATCHDOG:ORL PCON,#10H ;允许定时器T3重装 MOV T3,#WATCH_INTV ;装载定时器T3 RET * 6.4 定时器/计数器的应用编程 ?⒈ 定时器/计数器溢出率的计算 定时器/计数器运行前,在数据寄存器中预先置入的常数,称为定时常数或计数常数TC 其中: t:定时时间; Tc:机器周期 fosc:晶体振荡器频率; L:计数器的长度。 6.4.1 定时器的应用 * T0及T1: 方式0 L=13 213=8 192 方式1 L=16 216=65 536 方式2 L=8 28=256 TC:定时器/计数器初值,即定时常数或计数常数。 定时时间的倒数即为溢出率,即: * 根据要求的定时时间t、设定的定时器工作方式(确定L) 及晶体振荡频率fosc,可计算出TC值(十进制数),再将其转换成二进制数TCB,然后再分别送入THi、TLi。 * 对于T0、T1: 方式0时:TCB=TCH+TCL,TCH:高8位,TCL:低5位 MOV THi,#TCH ;送高8位 MOV TLi,#TCL ;送低5位(高3位为0) 方式1时:TCB=TCH+TCL,TCH : 高8位,TCL: 低8位 MOV THi,#TCH ;送高8位 MOV TLi,#TCL ;送低8位。 方式2时:TCB — 8位重装载 MOV THi,#TCB ;送高8位 MOV TLi,#TCB;送低8位。 * 例 .要求在 P1.0引脚上产生周期为2 ms的方波输出 已知晶体振荡器的频率为fosc=6MHz。可使用T0作定时器,设为方式0,设定1ms的定时,每隔1ms使P1.0引脚上的电平变反 (1) 解:定时常数计算 振荡器的频率fosc=6MHz,机器周期为2μs,方式0计数器长度L=13(213=8 192),定时时间 t=1ms=0.001s 定时常数: * TC为7692=1E0CH, 二进制数TCB=0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 B,取低13位,其中高8位TCH=F0H,低5位为TCL=0CH.计数长度为1E0CH=7692,定时为(8192—7692)×2μs=0.001S TMOD的设定 ? * ( 2) 编 程 ORG 0000H AJMP MAIN ORG 000BH ;T0中断矢量 AJMP INQP ORG 0030H MAIN: MOV TMOD,#00H ;设T0为定时器方式0 MOV TH0,#0F0H ;写定时常数(定时1ms) MOV TL0,#0CH * SETB TR0 ;启动 T0 SETB ET0 ;允许T0中断 SETB EA ;开放CPU中断 AJMP $ ;定时中断等待 ORG 2000 H ;T0中断服务程序 INQP:MOV TH0,#0F0H ;重写定时常数 MOV TL0,#0CH CPL P1.0 ;P1.0变反输出 RETI ;中断返回 ? * 6.4.2 计数器的应用 当TMOD寄存器中C/T位设置为“1”时,作为计数器使用,可对来自单片微机引脚T0或T1上的负跳变脉冲进行计数,计数溢出时可申请中断,也可查询溢出标志位TFx。 例.假如一个用户系统已使用了两个外部

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档