MCS-51单片机的内部资源及应用-定时计数.pptVIP

MCS-51单片机的内部资源及应用-定时计数.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 MCS-51单片机的内部资源及应用 3.1 MCS-51单片机的并行I/O口应用 3.2 MCS-51单片机的中断系统 3.3 MCS-51单片机的定时器/计数器 3.4 MCS-51 单片机的串行通信 应用问题: 每秒数字自动加“1”,如何实现? 定时中断 如何实现动态显示? 每20ms去扫描刷新一次 利用定时器定时去完成! 3.3.1 定时器/计数器 (1)计数:计数是指对外部事件的个数进行计量。实质是对外部输入脉冲的个数进行计量。 实现计数功能的器件称为计数器。 (2)定时:定时器和计数器是一个部件, 计数器记录的是外界发生的事件; 定时器记录的是单片机内部提供的脉冲,这个脉冲是晶振脉冲经过12分频后的脉冲源。 MCS-51内部定时器/计数器 控制寄存器TCON (88H) 工作方式寄存器TMOD 工作方式寄存器TMOD 3.3.2 定时器/计数器的工作方式 3.3.2 定时器/计数器的工作方式 3.3.2 定时器/计数器的工作方式 定时器/计数器初始化的步骤 计数器初值的计算 计数器初值的计算例题 例:流水线上一个包装是12盒,要求每到12盒就产生一个动作,用计数器来实现控制,请计算应当预置的初值。 TC = M ? C,C=12,M=13,16,8,8 (1)方式0:13位 TC = M ? C = 2^13 ?12=8180=1FF4H 1 1111 1111 0100B, TH0=0FFH, TL0=14H (2)方式1:16位 定时器初值的计算 定时器/计数器应用举例 Li_333_1: 利用定时器T0定时,在P1.7端输出一方波,方波周期为20ms,已知晶振频率为12MHZ. 解:周期为20ms,定时为10ms=10000us 方式1( TMOD=01H ):16位 2^16-10000=55536=0D8F0H TH0=0D8H; TL0=0F0H 定时器/计数器应用举例1 源程序: ORG 0000H AJMP MAIN ORG OOOBH AJMP INTT0 ORG 0100H MAIN: MOV TMOD,#01H ;方式1,16位 MOV TL0,#0F0H ;2^16-10000us=0D8F0H MOV TH0,#0D8H MOV IE,#82H ;开中断,T0开中断 SETB TR0 ;启动T0 HERE: SJMP HERE ;循环等待 INTT0: MOV TL0,#0F0H MOV TH0,#0D8H CPL P1.7 RETI 定时器/计数器应用举例3(Li333-3) 用定时器1按方式1工作,每50ms中断一次,通过P1口控制8个发光二极管: 第1秒:1、3亮 第2秒:2、4亮 第3秒:5、7亮 第4秒:6、8亮 第5秒:1、3、5、7亮 第6秒:2、4、6、8亮 第7秒:8个全亮 第8秒:8个全灭 以后循环 实现: P1 第1秒:1、3亮: 05H 第2秒:2、4亮 0AH 第3秒:5、7亮 50H 第4秒:6、8亮 A0H 第5秒:1、3、5、7亮 55H 第6秒:2、4、6、8亮 AAH 第7秒:8个全亮 FFH 第8秒:8个全灭 00H 代码-1:主程序 ORG 0000H AJMP START ; 转入主程序 ORG 0001BH ; 定时器/计数器1的中断服务程序入口地址 AJMP TIME1 ; 跳转到定时器1中断服务程序处 ORG 0030H START: MOV SP, #60H ; 设置堆栈指针 MOV P1, #00H ; 关发光二极管LED(使其灭) MOV R0, #00 ;用于计次序 MOV R1, #20 ; 软件计数器20 MOV TMOD, # 10H ; 定时器/计数器1工作于方式1 MOV TH0, #3CH ; 设置定时器/计数器的初值:延时50ms MOV TL0, #0B0H

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档