AVR定时计数器

AVR定时计数器

ID:37816610

大小:1.28 MB

页数:120页

时间:2019-05-31

AVR定时计数器_第1页
AVR定时计数器_第2页
AVR定时计数器_第3页
AVR定时计数器_第4页
AVR定时计数器_第5页
资源描述:

《AVR定时计数器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第九章定时器资源及其应用概述�控制系统中常用到实时钟以实现:�定时�延时�外部事件计数�外部突发事件捕捉�PWM波形产生�几乎所有单片机内部都有定时器单元�M16有三个独立定时器T0、T1和T2概述�定时器实质上是一个脉冲计数电路�脉冲源来自内部时钟则被称为定时器�脉冲源来自外部引脚输入信号则被称为计数器概述分CLK频TOV0器计数单元OCF0Tn波形发生OC09-18位定时器T0�T/C0是一个通用的单通道8位定时器/计数器模块。其主要特点如下:�单通道8位计数器�比较匹配发生时清除定时器(自动重装特性,AutoReload)�无输出抖动,相位精确可调的PWM输出�频率发生器�外

2、部事件计数器�10位的时钟预分频器(1、8、64、256、1024)�溢出和比较匹配中断源(TOV0和OCF0)9-18位定时器T09-1-1T0的时钟源及预分频器�T0工作在定时方式下,时钟源来自芯片内部系统时钟10位预分频器,通过设置T0控制寄存器-TCCR0中的时钟选择位CS0[2:0],即可选择不同的分频因子。�T0工作在计数方式下,由T0引脚提供的外部时钟源可以用作T0时钟。9-1-2T0运行�通过设置时钟选择位CS0[2:0],选择T0时钟源�根据T0的工作模式,T0的计数单元在每个T0时钟到来时,做指定的加一或减一操作�当TCNT0上溢出时将产生溢出中断,当与比较匹配

3、单元OCR0值相等时,将产生比较匹配中断�设置时钟选择位CS0[2:0]=0时,T0停止计数9-1-3T0的计数单元�count使TCNT0加1或减1�clkTnT/C的时钟,clkT0�direction选择加操作或减操作�top表示TCNT0已经达到了最大值�clear清除TCNT0�bottom表示TCNT0已经达到了最小值(0)9-1-3T0的计数单元�TCNT0中存放计数值,逻辑控制在每个T0时钟修改TCNT0中的数值�MCU可以在任意时间访问TCNT0,并可修改其数值,写入的值立即覆盖原有内容,并会影响T0的运行�T0计数时序取决于TCCR0中的WGM[1:0]的设置。

4、�T0计数溢出时,置溢出中断标志TOV09-1-3T0的计数单元9-1-4T0的比较匹配单元�8位比较器持续对TCNT0和输出比较寄存器OCR0进行比较。�一旦TCNT0等于OCR0,比较器就给出匹配信号。�在匹配发生的下一个定时器时钟周期输出比较标志OCF0置位。�若此时OCIE0=1且SREG的全局中断标志I置位,CPU将产生输出比较中断。�执行中断服务程序时OCF0自动清零,或者通过软件写”1”的方式来清零�WGM0[1:0]和COM0[1:0]决定OC0引脚上输出不同波形9-1-4T0的比较匹配单元9-1-4T0的比较匹配单元�比较输出寄存器OCR0配备了一个辅助缓存,以防

5、产生奇边非对称的PWM波形�无需关心MCU如何管理此辅助缓存�MCU对TCNT0的写操作会屏蔽在下一个定时器时钟周期发生的比较匹配事件9-1-5T0的比较匹配的输出单元�TCCR0中的COM[1:0]用于设置比较匹配模式�波形发生器利用COM0[1:0]来确定下一次比较匹配发生时的输出比较状态(OC0)�COM0[1:0]还控制OC0引脚输出信号的来源。�若COM0[1:0]=0则OC0寄存器不会影响OC引脚状态�OC引脚输出OC0寄存器的值必须设置OC引脚DDRx为输出9-1-5T0的比较匹配的输出单元9-1-6T0的工作方式�T0可以工作在一下四种方式中�方式0:普通模式(WG

6、M0[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-1T0的工作方式0:普通模式�WGM0[1:0]=0时,T0工作在普通模式�T0为单向加一计数器,直到TCNT0值到达0xFF,下个计数脉冲到来时,由于数值溢出计数器简单地返回到最小值0x00重新开始�在TCNT0溢出时,置溢出标志位TOV0�用户可以随时通过写入TCNT0初值调整计数器溢出时间间隔�输出比较单元可以用来产生中断,但

7、是不推荐在普通模式下利用输出比较来产生波形,因为这会占用太多的CPU时间。�用于普通定时9-1-6-1T0的工作方式0:普通模式�要求:8M外部晶振,定时100us�每个系统时钟周期1/8us�T0时钟采用8分频,一个T0时钟周期1us�100个T0时钟周期后产生溢出中断�TCNT0值256-100=1560x9C�TCCR0的值?9-1-6-1T0的工作方式0:普通模式�TCCR0中的WGM00和WGM01为00时即为普通模式�COM01和COM00为00时不影响O

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。