第九章 定时器资源及其应用.ppt

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

第九章 定时器资源及其应用 概述 控制系统中常用到实时钟以实现: 定时 延时 外部事件计数 外部突发事件捕捉 PWM波形产生 几乎所有单片机内部都有定时器单元 M16有三个独立定时器T0、T1和T2 概述 定时器实质上是一个脉冲计数电路 脉冲源来自内部时钟则被称为定时器 脉冲源来自外部引脚输入信号则被称为计数器 概述 9-1 8位定时器T0 T/C0 是一个通用的单通道8 位定时器/ 计数器模块。其主要特点如下: 单通道8位计数器 比较匹配发生时清除定时器( 自动重装特性,Auto Reload) 无输出抖动,相位精确可调的PWM输出 频率发生器 外部事件计数器 10 位的时钟预分频器(1、8、64、256、1024) 溢出和比较匹配中断源 (TOV0 和 OCF0) 9-1 8位定时器T0 9-1-1 T0的时钟源及预分频器 T0工作在定时方式下,时钟源来自芯片内部系统时钟10位预分频器,通过设置T0控制寄存器-TCCR0中的时钟选择位CS0[2:0] ,即可选择不同的分频因子。 T0工作在计数方式下,由T0 引脚提供的外部时钟源可以用作T0 时钟。 9-1-2 T0运行 通过设置时钟选择位CS0[2:0],选择T0时钟源 根据T0的工作模式,T0的计数单元在每个T0时钟到来时,做指定的加一或减一操作 当TCNT0上溢出时将产生溢出中断,当与比较匹配单元OCR0值相等时,将产生比较匹配中断 设置时钟选择位CS0[2:0]=0时,T0停止计数 9-1-3 T0的计数单元 count 使TCNT0 加 1 或减1 direction 选择加操作或减操作 clear 清除TCNT0 9-1-3 T0的计数单元 TCNT0中存放计数值,逻辑控制在每个T0时钟修改TCNT0中的数值 MCU可以在任意时间访问TCNT0,并可修改其数值,写入的值立即覆盖原有内容,并会影响T0的运行 T0计数时序取决于TCCR0中的WGM[1:0]的设置。 T0计数溢出时,置溢出中断标志TOV0 9-1-3 T0的计数单元 9-1-4 T0的比较匹配单元 8位比较器持续对TCNT0和输出比较寄存器OCR0进行比较。 一旦TCNT0等于OCR0,比较器就给出匹配信号。 在匹配发生的下一个定时器时钟周期输出比较标志OCF0 置位。 若此时OCIE0 = 1 且SREG 的全局中断标志I 置位,CPU 将产生输出比较中断。 执行中断服务程序时OCF0 自动清零,或者通过软件写”1” 的方式来清零 WGM0[1:0]和COM0[1:0]决定OC0引脚上输出不同波形 9-1-4 T0的比较匹配单元 9-1-4 T0的比较匹配单元 比较输出寄存器OCR0配备了一个辅助缓存,以防产生奇边非对称的PWM波形 无需关心MCU如何管理此辅助缓存 MCU 对TCNT0 的写操作会屏蔽在下一个定时器时钟周期发生的比较匹配事件 9-1-5 T0的比较匹配的输出单元 TCCR0中的COM[1:0]用于设置比较匹配模式 波形发生器利用COM0[1:0] 来确定下一次比较匹配发生时的输出比较状态(OC0) COM0[1:0] 还控制OC0 引脚输出信号的来源。 若COM0[1:0]=0则OC0寄存器不会影响OC引脚状态 OC引脚输出OC0寄存器的值必须设置OC引脚DDRx为输出 9-1-5 T0的比较匹配的输出单元 9-1-6 T0的工作方式 T0可以工作在一下四种方式中 方式0:普通模式(WGM0[1:0]=0) 方式2:比较匹配清零计数器CTC模式(WGM0[1:0]=2) 方式3:快速PWM模式(WGM0[1:0]=3) 方式1:相位可调PWM模式(WGM0[1:0]=1) OC0输出模式由COM[1:0]的设置和工作方式决定 9-1-6-1 T0的工作方式0:普通模式 WGM0[1:0]=0时,T0工作在普通模式 T0为单向加一计数器,直到TCNT0值到达0xFF,下个计数脉冲到来时,由于数值溢出计数器简单地返回到最小值0x00 重新开始 在TCNT0 溢出时,置溢出标志位TOV0 用户可以随时通过写入TCNT0初值调整计数器溢出时间间隔 输出比较单元可以用来产生中断,但是不推荐在普通模式下利用输出比较来产生波形,因为这会占用太多的CPU 时间。 用于普通定时 9-1-6-1 T0的工作方式0:普通模式 要求:8M外部晶振,定时100us 每个系统时钟周期1/8us T0时钟采用8分频,一个T0时钟周期1us 100个T0时钟周期后产生溢出中断 TCNT0值 256-100=156 0x9C TCCR0的值? 9-1-6-1 T0的工作方式0:普通模式 TCCR0中的WGM00和WGM01为00时即为普通模式 COM01和COM00为00时不影响OC0 CS0

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档