- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.2 定时器/计数器 5.2.1 定时方法概述 1 软件定时 2 硬件定时 3 可编程定时器定时 5.2.2 定时器/计数器的定时和计数功能 T0是由两个特殊功能寄存器TH0(8CH)和TL0(8AH)组成。 T1是由两个特殊功能寄存器TH1(8DH)和TL1(8BH)组成。 每个定时器都可由软件设置为定时工作方式或计数工作方式。由TMOD设置和TCON控制。 每个定时器都可由软件设置为 定时工作方式或 计数工作方式。由特殊功能寄存器TMOD和TCON所控制。 定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。 定时器/计数器有四种工作模式。其中模式0-2对T0和T1是一样的,模式3对两者不同。 单片机原理及接口技术 * 定时工作方式 定时器计数MCS51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。 当MCS51采用12MHz晶振时,一个机器周期为1μs,计数频率为1MHz。 单片机原理及接口技术 * 计数工作方式 通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时计数器的值加1。 CPU检测一个1至0的跳变需要两个机器周期,故最高计数频率为振荡频率的1/24。 为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周期。 单片机原理及接口技术 * 5.2.3 定时器/计数器的控制寄存器 工作方式寄存器TMOD(89H) --非位寻址寄存器,只能用字节传送来设置其内容 2 控制寄存器TCON(88H) TCON可位寻址,可字节寻址。其格式如下: 外中断请求标志位 由硬件置1,在转向中断服务后,硬件清0 外中断请求触发方式控制位 1, 脉冲触发方式 ,后跳沿有效 0, 电平触发方式,低电平有效 计数溢出标志位 当计数溢出时,该位置“1” 使用查询方式时,此位作状态位供查询 查询有效后,以软件方式及时将该位置“0” 使用中断方式时,此位作中断标志位 在转向中断服务后,由硬件自动清“0” 定时器运行控制位,由软件控制 0---停止工作 1---开始工作 在这种模式下,16位寄存器(TH0和TL0)只用了13位。其中TL0的高3位未用,其余5位为整个13位的低5为,TH0占高8位。当TL0的低5位溢出时,向TH0进位;TH0溢出时,向中断标志TF0进位(硬件置位TF0),并申请中断。 定时时间为: t=(213-T0初值)×振荡周期×12 用于计数工作方式时,计数长度为: L=(213-T0初值)(个外部脉冲) × × × TH0 TL0 8位 5位 * 三 定时器/计数器的四种工作方式 1 方式0 在计数工作方式下,计数值的范围是: 在定时工作方式时,如晶振频率为6MHz,则最小定时时间为 则最大定时时间为 例题 例6.1 设单片机晶振频率为6MHz,使用定时器1以方式0产生周期为500us的等宽正方形连续脉冲。以查询方式完成 模式 1 工作特点 方式1 是16位计数结构的工作方式,计数器由TH0全部8位和TL0的全部8位构成。 用于定时工作方式时,定时时间为: t=(216-T0初值)×振荡周期×12 用于计数工作方式时,计数长度为: (216-T0初值)(个外部脉冲) TH0 TL0 8位 8位 * 在计数工作方式下,计数值的范围是: 在定时工作方式时,如晶振频率为6MHz,则最小定时时间为 则最大定时时间为 例5.2 题目同例5.1,但以中断方式采用工作方式1完成。 计算计数初值 TMOD初始化 主程序 org 0 LJMP main org 1B LLMP serve Main: MOV TMOD,#10H MOV TH1,#0FFH MOV TL1,#83H SETB EA SETB ET1 LOOP: SETB TR1 HERE : SJMP $ SJMP HERE 中断 serve:MOV TH1,#0FFH M
文档评论(0)