王焕煜 发表于 2014-6-26 16:29:22

avr单片机定时中断问题

请问,在做AVR单片机定时中断时,怎样确定预分频因子,和OCRn以及TCNT的值???

周继红 发表于 2014-6-26 17:15:05

要根据具体的应用综合考虑性能和控制精度等因素。

周明远 发表于 2014-6-27 11:10:20

Atmega16,12M晶振。AD采样控制输出PWM(由于某种原因,不能使用定时器的PWM功能)PWM的脉冲周期是20ms,脉冲宽度在1ms-2ms间根据AD值变化,变化范围1ms。使用TC18分频的话,1ms=1500个时钟脉冲10位AD采样,最大1024,用于控制1ms(1500个时钟脉冲)的输出,对于10位AD采样来说,没有精度损失。另外,脉冲周期20ms=30000个时钟脉冲,小于TCNT1的最大长度65535,编程也方便很多。不分频的话,1ms=12000个时钟脉冲系统负担不说。AD采样只有1024,用于控制12000个时钟脉冲,精度没有提高,所以没有必要。另外,20ms=240000个时钟脉冲,大于65535,程序的复杂性增加。64分频,1ms=187.5个时钟脉冲AD采样的1024精度的不到发挥。如果这时仍能满足你的使用要求,大可以采用8位的AD转换(256)。从而可采用较低成本的其它芯片了。所以,在这个应用中,8分频是最佳选择。

隋铭皓 发表于 2014-6-27 11:11:24

手册里不是有公式么?仔细看一遍就OK的。
页: [1]
查看完整版本: avr单片机定时中断问题