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)
热门点击
- 单片机简介与单片机的发展历史
- 基于控制专用单片机的无刷直流电机控制器
- 采用混合信号高电压单片机实现LED降压-升压
- MCS-51单片机的指令时序
- MCS51系列单片机软件复位的方法
- MSP430单片机与nRF905无线通信系统
- 小型单片机系统延时关机电路
- 单片机通用模拟串口C程序
- 8051单片机的I2C接口并行扩展
- 单片机应用领域
推荐技术资料
- 硬盘式MP3播放器终级改
- 一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]