第5章MCS51的定时计数器.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1 定时/计数器的结构 5.2 工作方式 5.3 综合应用 5.1 定时/计数器的结构 5.2 工作方式 5.3 综合应用 CONT:ACALL DELAY CLR P3.5 ;T1引脚产生负跳变 NOP NOP SETB P3.5 ;T1引脚恢复高电平 INC A ;累加器加1 DA A ;将16进制数转换成BCD数 MOV P1,A ;点亮发光二极管 JBC TF1,DISP ;查询定时器1计数溢出 SJMP CONT ;60s不到继续计数 DELAY:MOV R3,#14H ;置50ms计数循环初值 MOV TH0,#3CH ;置定时器初值 MOV TL0,#0B0H SETB TR0 ;启动定时器0 LP1: JBC TF0,LP2 ;查询计数溢出 SJMP LP1 ;未到50ms继续计数 LP2: MOV TH0,#3CH ;重新置定时器初值 MOV TL0,#0B0H DJNZ R3,LP1 ;未到1s继续循环 RET END 思考与练习 安徽理工大学 电气与信息工程学院 * 第5章 定时/计数器 主 要 内 容: TCON TMOD 基本原理 基本部件是两个8位的计数器(其中TH1,TL1是T1的计数器,TH0,TL0是T0的计数器) 两种工作模式:定时和计数通过TMOD中 C/T※位来控制。 定时:其计数脉冲来源于晶振(经12分频后提供)每个机器周期使定时器加1。 计数方式时:对外部事件计数,接相应的外部输入引脚T0(P3.4)或T1(P3.5)。在这种情况下,检测到输入引脚上的电平由高跳变到低时,计数器就加1。最高计数频率为晶振的1/24。 1 工作方式控制寄存器TMOD 2 启停与中断控制器TCON 字节地址 88H (1)确定工作方式——对TMOD赋值。 若赋值语句为:MOV TMOD #10H (2)预置定时或计数的初值——直接将初值写入TH0、TL0或TH1、TL1。 定时/计数器的初值因工作方式的不同而不同。设最大值为M,则各种工作方式下M值如下: 方式0:M=213=8192 方式1:M=216=65536 方式2:M=28=256 方式3:定时器0分为两个8位计数器,所以两个定时器的M值均为256。 因定时/计数器工作的实质是做“加1”计数,所以,当最大计数值M值已知时,初值X可计算如下: X=M–计数值 3 定时/计数器的初始化 定时器采用方式1定时,M=65536,如要求每50ms溢出一次,采用12MHz晶振,则计数周期T=1μs,计数值=50000,所以,计数初值为: X = 65536–50000 = 15536 = 3CB0H 将3C、B0、分别预置给TH1、TL1。 (3)根据需要开启定时/计数器中断——直接对IE寄存器赋值。 (4)启动定时/计数器工作——将TR0或TR1置“1”。 GATE=0时,直接由软件置位启动; GATE=1时,除软件置位外,还必须在外中断引脚处加上相应的电平值才能启动。例5-1中因GATE=0,所以直接由软件置位启动,其指令为: SETB TR1 (1) 方式0 由THX的8位和TLX的低5位组成13位计数器 13位计数加1到全“1”,再加1就产生溢出,置TCON的TFX位为1,同时计数器全变为“0” 定时/计数方式0时的逻辑电路结构图 解: 1)确定工作方式 2)预置定时或计数的初值 3)编得1s延时子程序如下: 例5.1 系统时钟频率12MHZ,用定时器1,方式0实现1s的延时。 X的实际填写值应为 X=0110001100011000B=6318H 即TH1=63H,TL1=18H。 则定时器1的初值 X=M–计数值=8192–5000=3192=C78H=0110001111000B MOV TMOD,#00H DELAY:MOV R3,#200 ;置5ms计数循环初值 MOV TMOD,#00H ;设定时器1为方式0 MOV TH1,#63H ;置定时器初值 MOV TL1,#18H SETB TR1 ;启动T1 LP1: JBC TF1,LP2 ;查询计数溢出 SJMP LP1 ;未到5ms继续计数 LP2: MOV TH1,#63H ;重新置定时器初值 MOV TL1,#18H DJNZ R3,LP1 ;未到1s继续循环 RET ;返回主程序 (2)

文档评论(0)

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

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

1亿VIP精品文档

相关文档