举个最近正在做的项目
Atmega16,12M晶振。
AD采样控制输出PWM(由于某种原因,不能使用定时器的PWM功能)
PWM的脉冲周期是20ms,脉冲宽度在1ms-2ms间根据AD值变化,变化范围1ms。
使用TC1
8分频的话,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分频是最佳选择。