定时计数器原理及应用.ppt

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

(3) 是否使用中断 根据要求考虑是否采用中断方式,直接对IE位赋值。 开放中断时,对应位置1; 不使用中断时,可采用程序查询方式,IE中对应位应清0进行中断屏蔽。 。 2.3 定时/计数器的初始化 (4) 启动定时/计数器工作。 使用SETB TRi指令。 GATE设置为0时(即设置为软启动)以上指令执行后,定时器/计数器即可开始工作。 GATE设置为1时,还必须由外部中断源共同控制,只有当引脚电平为高时,以上指令执行后定时器/计数器方可启动工作。 2.3 定时/计数器的初始化 通过对TMOD寄存器中M0、M1位进行设置,可选择4种工作方式。 3 定时/计数器的工作方式 Ml M0 操作模式 功 能 筒 述 0 0 模式0 l3位计数器,TLi只用低5位。 0 1 模式1 16位计数器。 1 0 模式2 8位自动重装计数器。仅TLi作为计数器,而THi的值在计数中不变。T1i溢出时,THi中的值自动装入T1i中。 1 1 模式3 TO分成2个独立的8位计数器。 1.方式0 方式0构成一个13位定时/计数器。图5-3是定时器0在方式0时的逻辑电路结构。 1.方式0 由图可知16位加法计数器(TH0和TL0)只用了13位。其中,TH0占高8位,TL0占低5位(只用低5位,高3位未用)。当TL0低5位溢出时自动向TH0进位,而TH0溢出时向中断位TF0进位(硬件自动置位),并申请中断。 1.方式0 装入和读取数据时,应注意13位数据与16位数据之间的转换。 例如:将X=1F06H的16位数据装入13位定时器/计数器。 方法是:16位数据低5位作为TLi的低5位;由于TLi的高3位未用,应补填0;16位数据的D12~D5送入Thi中(高8位)。所以13位工作寄存器中存放的实际数值为1111100000000110B,即F806H。 1.方式0 例1 用定时器1,方式0实现1 s的延时。 解:因方式0采用13位计数器,其最大定时时间为:8192×1 ?s = 8.192 ms,因此,定时时间可设为5ms(5ms=5000 ?s ),再循环200(1000ms=1s)次。定时时间选定后,再确定计数值为5000,则定时器1的初值为 X = M ?计数值= 8192 ? 5000 = 3192 = C78H = 0110001111000B 因13位计数器中T11的高3位未用,应填写0,TH1占高8位,所以,X的实际填写值应为 X = 0110001100011000B = 6318H 即:TH1 = 63H,TL1 = 18H,又因采用方式0定时,故TMOD = 00H。 C51演示 2.方式1 方式1构成一个16位定时/计数器,其结构与操作几乎完全与方式0相同。 惟一差别是二者计数位数不同。 作定时器用时其定时时间为 (M – 定时器0初值)×时钟周期×12=(65536 – 定时器0初值)×时钟周期×12 。 例2用定时器1,方式1 s的延时。 解:因方式1采用16位计数器,其最大定时时间为:65536×1 ?s = 63536ms,因此可选择定时时间为50ms,再循环20次。定时时间选定后,再确定计数值为50000,则定时器1的初值为 X = M ?计数值= 65536 ? 50000 = 15536= 3CB0H 即:TH1 = 3CH,TL1 = 0B0H,又因采用方式1定时,故TMOD = 10H。 C51演示 3.方式2 定时/计数器工作于方式2时,其逻辑结构图如图5-5 3.方式2 方式2中,16位加法计数器的TH0和TL0具有不同功能,其中,TL0是8位计数器,TH0是重置初值的8位缓冲器。 方式0和方式1用于循环计数,在每次计满溢出后,计数器都复0,要进行新一轮计数还须重置计数初值。这不仅导致编程麻烦,而且影响定时时间精度。 3.方式2 方式2中16位加法计数器被分割为两个,TL0用作8位计数器,TH0用以保持初值。在程序初始化时,TL0和TH0由软件赋予相同的初值。一旦TL0计数溢出,TF0将被置位,同时,TH0中的初值装入T10,从而进入新一轮计数,如此循环不止。 方式2具有初值自动装入功能,方式0方式1的缺点,适合用作较精确的定时脉冲信号发生器。 3.方式2 其定时时间 = (M –

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档