- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章嵌入式定时部件
第7章 定时部件7.1 定时部件的原理7.2 看门狗定时器7.4 Timer部件7.1 定时部件原理系统时钟M分频N位计数器=0外部事件脉冲加1或减1定时、计数部件原理图计数脉冲源回0信号定时原理若编程设置定时/计数器为定时工作方式时,则N位计数器的计数脉冲来源于内部系统时钟,并经过M分频。每个计数脉冲使计数器加1或减1,当N位计数器里的数加到0或减到0时,则会产生一个“回0信号”,该信号有效时表示N位计数器里的当前值是0。定时原理因为系统时钟的频率是固定的,其M分频后所得到的计数脉冲频率也就是固定的,因此通过对该频率脉冲的计数就转换为定时,实现了定时功能。计数原理若编程设置定时/计数器为计数方式则N位计数器的计数脉冲来源于外部事件产生的脉冲信号。有一个外部事件脉冲,计数器加1或减1,直到N位计数器中的值为0,产生“回0信号”。7.2 看门狗定时器看门狗定时器的作用当系统程序出现功能错乱,引起系统程序死循环时,能中断该系统程序的不正常运行,恢复系统程序的正常运行。7.2 看门狗定时器---结构计数常数寄存器分割器系统时钟计数寄存器看门狗控制寄存器7.2 看门狗定时器-------看门狗定时器的时钟频率看门狗定时器时钟周期计算公式: = 1/( PCLK/ (预分频值 + 1)/ 分割因子) 7.2 看门狗定时器-------看门狗定时器寄存器(1)看门狗控制寄存器设置看门狗定时器(2) 计数常数寄存器计数常数=所需时间间隔/计数时钟周期(3) 看门狗计数器寄存器正常情况用作减1计数器7.4 Timer部件主要用于提供定时功能,脉宽调制(PWM)功能;适用于需要一定的频率的脉冲、一定时间间隔的定时信号的场合。7.4 Timer部件-------特性 5个16 位定时器; 2个8 位预分频器和2个5位时钟分割器; timer0——3:输出波形的占空比可编程控制(PWM) timer4只能定时; timer0、1具有死区产生器;7.2 Timer定时器-------预分频器和分割器 定时器0和定时器1分享同一个8位的预分频器,定时器2和3、4分享一个8位预分频器定时器内部结构图7.4 Timer 定时器-------原理定时器计数缓冲寄存器TCNTBn—减法计数器TCNTn定时器比较缓冲寄存器TCMPBn—比较寄存器TCMPn当减法计数器减到0时,发生中断,同时,TCNTBn值会自动重载入减法计数器。(除非定时器被终止)。TCMPBn的值用于脉宽调制,当减法计数器值与比较寄存器值相等时,定时器控制逻辑改变输出电平,因此,比较寄存器决定PWM输出的高电平时间(或低电平时间)。7.4 Timer定时器操作1-------基本定时器操作每个定时器具有一个倒计时器,实际上是一个通过定时器时钟源驱动的16位倒计时寄存器TCNTn。当倒计时数到0,定时器中断请求就产生了,这个中断通知CPU定时器定时已经完成。当定时器倒计时数到达0,寄存器TCNTBn的对应值就会自动地载入到倒计时器从而继续下一次操作。 定时器操作流程7.4 Timer定时器2.-------自动重载和双缓冲器 定时器计数值可以写入TCNTBn,而当前定时器的计数值可以通过TCNTOn (定时计数观察寄存器)读取。 如果读取TCNTBn,那么读出的数值不一定是当前定时器的计数值,但肯定是下一个定时周期的计数值。7.4 Timer定时器2.-------自动重载和双缓冲器当TCNTn=0时,自动重载操作将TCNTBn的值复制到TCNTn中。当TCNTn=0,且自动重载不使能,定时器停止。7.4 Timer定时器操作3.-------采用手动更新方式初始化定时器启动定时器的步骤:(1) 将初始值写入到TCNTBn和TCMPBn;(2) 设置对应定时器的手动更新位;(3)设置对应定时器的启动位来启动定时器(同时,清除手动更新位)7.4 Timer定时器操作4.-------脉宽调制PWM脉冲频率由TCNTBn决定,PWM脉冲宽度由TCMPBn的值决定。如果要得到一个较低的脉冲宽度,,减少TCMPBn的值即可。反之,则增加TCMPBn的值。如果输出反转器被使能,则增加和减少的结果也将是反转的。7.4 Timer定时器操作5.-------输出电平控制方法1:关闭自动加载位。然后,TOUT的电平变为高,定时器在TCNTn递减计数到0时停止。(推荐使用)方法2:通过将定时器的启动/停止位清0来停止定时器工作。如果TCNTn≤TCMPn,输出高电平。如果TCNTn≥TCMPn,则输出低电平。7.4 Timer定时器操作5.-------输出电平控制方法3:TOUTn可以通过设置TCON中的反转器的ON/OFF位来设置7.4 Timer定时器操作6.-------死区发生器死区发生器
文档评论(0)