网站大量收购独家精品文档,联系QQ:2885784924

单片机 第5章 MCS-51 单片机内部定时器(计数器).ppt

单片机 第5章 MCS-51 单片机内部定时器(计数器).ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说明 1. TL0、TH0 为两个独立的 8 位计数器; 2. TL0 使用原 T0 的资源(TR0、TF0、T0), 用法; (除计数器为 8 位外)同于 方式 0 、方式1。 TH0 使用原 T1 的控制位(TR1、TF1), T1只能用作不需要中断请求的定时 (TH0 无输入端) 。 3. T0 工作于方式 3 时: T1 可工作于 方式 0、1、2, 用 C//T 控制 T1 工作(计数、定时)运行 , 溢出时,可用于非中断方式(如 串行传送的波 特率发生器 等) 5.4.1 模式 0 的应用 [例5-1] 利用定时/计数器, 每隔 1ms 产生宽度为两个机器周期的负脉冲, 由 P1.0 送出。设时钟频率为 12 MHZ 。 计算定时器定时 1ms 的初值 X : ① 选用定时器 0,工作于模式 0 ②(213 –X)× 12/(12×106 ) = 1 ×10 -3 (213 –X)×10 -6 = 1×10 -3 X = 7192 D =11000B = 0E0H 18H ③ 送初值:0E0 → TH0 18H →TL0 程序清单:MOV TMOD,# 00H MOV TH0, # 0E0H MOV TL0, # 18H MOV IE, # 00H ; SETB TR0 LOOP: JBC TF0, LOOP1 ; SJMP LOOP LOOP1; CPL P1.0 ; SETB P1.0 MOV TH0, # 0E0H ; MOV TL0, # 18H SJMP LOOP 5.4.2 方式 1 的应用 P105 [例5-2] 利用 T0 模式 0 产生 25 HZ 的方波,由 P1.0 输出。 fosc = 12MHz 思路:采用模式1; 查询方式 ; 每隔 0.5 个周期使 P1.0 的电平变换一次。 计算: f = 25Hz , 即 周期 t = 40ms 计算初值 : (216 –X)× 1 ×10 -6 = 20 ×10 -3 X = 45536 D = 0B1E0H 源程序:ORG 0100H MOV TMOD, #01H MOV TH0, #0B1H MOV TL0, #0E0H SET TR0 LOOP: JNB TF0, $ CLR TF0 MOV TH0, #0B1H MOV TL0, #0E0H CPL P1.0 SJMP LOOP END [例 5-3] 利用 T1 模式 2 对外部信号计数。 要求:每计满 100次,将 P1.0 端取反。 思路:① 计数信号从 T1 (P3.5) 输入; ② 每计数 100 次, 置位 TF1, 申请中断; ③ 定时器没有输出端, 所以 采用 P1.0 进行输出。 源程序: MAIN: MOV TMOD, #60H ; MOV TL1, #9CH ; MOV TH1, #9CH MOV IE, #88H ; SETB TR1 ; HERE: SJMP HERE ; ORG 0100H ; CPL P1.0 RETI 5.4.5 定时/计数器综合应用 [例 5-5] 设 fosc = 6MHz 要求: 利用 T0

文档评论(0)

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

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

1亿VIP精品文档

相关文档