位置:51电子网 » 技术资料 » 单 片 机

AVR单片机定时器的要点

发布时间:2008/9/4 0:00:00 访问次数:619

  分5种工作类型

  一 普通模式 wgm1=0跟51的普通模式差不多,有tov1溢出中断标志,发生于max(0xffff)时

  1采用内部计数时钟用于 icp捕捉输入场合——-测量脉宽/红外解码(捕捉输入功能可以工作在多种模式下,而不单单只是普通模式)

  2 采用外部计数脉冲输入 用于 计数,测频其他的应用,采用其他模式更为方便,不需要像51般费神

  二 ctc模式 [比较匹配时清零定时器模式] wgm1=4,12跟51的自动重载模式差不多

  1 用于输出50%占空比的方波信号

  2 用于产生准确的连续定时信号wgm1=4时, 最大值由ocr1a设定,top时产生ocf1a比较匹配中断标志wgm1=12时,最大值由icf1设定, top时产生icf1输入捕捉中断标志

  如果top=max,top时也会产生tov1溢出中断标志

  注:wgm=15时,也能实现从oc1a输出方波,而且具备双缓冲功能

  计算公式: focn=fclk_io/(2*n*(1+top))变量n 代表预分频因子(1、8、64、256、1024),t2多了(32、128)两级。

  3 快速pwm模式 wgm1=5,6,7,14,15单斜波计数,用于输出高频率的pwm信号(比双斜波的高一倍频率)都有tov1溢出中断,发生于top时[不是max,跟普通模式,ctc模式不一样]比较匹配后可以产生ocf1x比较匹配中断.

  wgm1=5时, 最大值为0x00ff, 8位分辨率

  wgm1=6时, 最大值为0x01ff, 9位分辨率

  wgm1=7时, 最大值为0x03ff,10位分辨率

  wgm1=14时,最大值由icf1设定, top时产生icf1输入捕捉中断 (单缓冲)

  wgm1=15时,最大值由ocr1a设定,top时产生ocf1a比较匹配中断(双缓冲,但oc1a将没有pwm能力,最多只能输出方波)改变top值时必须保证新的top值不小于所有比较寄存器的数值

  注意,即使ocr1a/b设为0x0000,也会输出一个定时器时钟周期的窄脉冲,而不是一直为低电平

  计算公式:fpwm=fclk_io/(n*(1+top))

  4 相位修正pwm模式 wgm1=1,2,3,10,11双斜波计数,用于输出高精度的,相位准确的,对称的pwm信号都有tov1溢出中断,但发生在bootom时比较匹配后可以产生ocf1x比较匹配中断.

  wgm1=1时, 最大值为0x00ff, 8位分辨率

  wgm1=2时, 最大值为0x01ff, 9位分辨率

  wgm1=3时, 最大值为0x03ff,10位分辨率

  wgm1=10时,最大值由icf1设定, top时产生icf1输入捕捉中断 (单缓冲)

  wgm1=11时,最大值由ocr1a设定,top时产生ocf1a比较匹配中断(双缓冲,但oc1a将没有pwm能力,最多只能输出方波)改变top值时必须保证新的top值不小于所有比较寄存器的数值可以输出0% ̄100%占空比的pwm信号若要在t/c 运行时改变top 值,最好用相位与频率修正模式代替相位修正模式。若top保持不变,那么这两种工作模式实际没有区别

  计算公式:fpwm=fclk_io/(2*n*top)

  5 相位与频率修正pwm模式 wgm1=8,9双斜波计数,用于输出高精度的、相位与频率都准确的pwm波形都有tov1溢出中断,但发生在bootom时比较匹配后可以产生ocf1x比较匹配中断.

  wgm1=8时,最大值由icf1设定, top时产生icf1输入捕捉中断 (单缓冲)

  wgm1=9时,最大值由ocr1a设定,top时产生ocf1a比较匹配中断(双缓冲,但oc1a将没有pwm能力,最多只能输出方波)相频修正修正pwm 模式与相位修正pwm 模式的主要区别在于ocr1x 寄存器的更新时间改变top值时必须保证新的top值不小于所有比较寄存器的数值可以输出0% ̄100%占空比的pwm信号使用固定top 值时最好使用icr1 寄存器定义top。这样ocr1a 就可以用于在oc1a输出pwm 波。但是,如果pwm 基频不断变化(通过改变top值), ocr1a的双缓冲特性使其更适合于这个应用。

  计算公式:fpwm=fclk_io/(2*n*top)

  欢迎转载,信息来自维库电子市场网(www.dzsc.com)



  分5种工作类型

  一 普通模式 wgm1=0跟51的普通模式差不多,有tov1溢出中断标志,发生于max(0xffff)时

  1采用内部计数时钟用于 icp捕捉输入场合——-测量脉宽/红外解码(捕捉输入功能可以工作在多种模式下,而不单单只是普通模式)

  2 采用外部计数脉冲输入 用于 计数,测频其他的应用,采用其他模式更为方便,不需要像51般费神

  二 ctc模式 [比较匹配时清零定时器模式] wgm1=4,12跟51的自动重载模式差不多

  1 用于输出50%占空比的方波信号

  2 用于产生准确的连续定时信号wgm1=4时, 最大值由ocr1a设定,top时产生ocf1a比较匹配中断标志wgm1=12时,最大值由icf1设定, top时产生icf1输入捕捉中断标志

  如果top=max,top时也会产生tov1溢出中断标志

  注:wgm=15时,也能实现从oc1a输出方波,而且具备双缓冲功能

  计算公式: focn=fclk_io/(2*n*(1+top))变量n 代表预分频因子(1、8、64、256、1024),t2多了(32、128)两级。

  3 快速pwm模式 wgm1=5,6,7,14,15单斜波计数,用于输出高频率的pwm信号(比双斜波的高一倍频率)都有tov1溢出中断,发生于top时[不是max,跟普通模式,ctc模式不一样]比较匹配后可以产生ocf1x比较匹配中断.

  wgm1=5时, 最大值为0x00ff, 8位分辨率

  wgm1=6时, 最大值为0x01ff, 9位分辨率

  wgm1=7时, 最大值为0x03ff,10位分辨率

  wgm1=14时,最大值由icf1设定, top时产生icf1输入捕捉中断 (单缓冲)

  wgm1=15时,最大值由ocr1a设定,top时产生ocf1a比较匹配中断(双缓冲,但oc1a将没有pwm能力,最多只能输出方波)改变top值时必须保证新的top值不小于所有比较寄存器的数值

  注意,即使ocr1a/b设为0x0000,也会输出一个定时器时钟周期的窄脉冲,而不是一直为低电平

  计算公式:fpwm=fclk_io/(n*(1+top))

  4 相位修正pwm模式 wgm1=1,2,3,10,11双斜波计数,用于输出高精度的,相位准确的,对称的pwm信号都有tov1溢出中断,但发生在bootom时比较匹配后可以产生ocf1x比较匹配中断.

  wgm1=1时, 最大值为0x00ff, 8位分辨率

  wgm1=2时, 最大值为0x01ff, 9位分辨率

  wgm1=3时, 最大值为0x03ff,10位分辨率

  wgm1=10时,最大值由icf1设定, top时产生icf1输入捕捉中断 (单缓冲)

  wgm1=11时,最大值由ocr1a设定,top时产生ocf1a比较匹配中断(双缓冲,但oc1a将没有pwm能力,最多只能输出方波)改变top值时必须保证新的top值不小于所有比较寄存器的数值可以输出0% ̄100%占空比的pwm信号若要在t/c 运行时改变top 值,最好用相位与频率修正模式代替相位修正模式。若top保持不变,那么这两种工作模式实际没有区别

  计算公式:fpwm=fclk_io/(2*n*top)

  5 相位与频率修正pwm模式 wgm1=8,9双斜波计数,用于输出高精度的、相位与频率都准确的pwm波形都有tov1溢出中断,但发生在bootom时比较匹配后可以产生ocf1x比较匹配中断.

  wgm1=8时,最大值由icf1设定, top时产生icf1输入捕捉中断 (单缓冲)

  wgm1=9时,最大值由ocr1a设定,top时产生ocf1a比较匹配中断(双缓冲,但oc1a将没有pwm能力,最多只能输出方波)相频修正修正pwm 模式与相位修正pwm 模式的主要区别在于ocr1x 寄存器的更新时间改变top值时必须保证新的top值不小于所有比较寄存器的数值可以输出0% ̄100%占空比的pwm信号使用固定top 值时最好使用icr1 寄存器定义top。这样ocr1a 就可以用于在oc1a输出pwm 波。但是,如果pwm 基频不断变化(通过改变top值), ocr1a的双缓冲特性使其更适合于这个应用。

  计算公式:fpwm=fclk_io/(2*n*top)

  欢迎转载,信息来自维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!