ATMAGE16定时器0初始值计算总结
时间:11-23
来源:互联网
点击:
现在我们知道
就相当于OCR0是计数值,TCNT0是初始值。TCNT0=113,那么OCR0=M- TCNT0=143。
我们取=7.3728Mhz,prescal=1024,于是,我们利用公式得出比较值=144,和结果的143有点误差。接着呢,我们试着用公式倒推,算t
t =(143*1024)/(7.3728*
刚好和设置那里的actual value误差一样。所以说,以倒推的为准取TCNT0和OCR0值
最后呢,
TCCR0预分频1024,具体可见上图,
应该提醒的是:
8位的定时器timer0根据公式,它最多可以完成35ms的定时任务,1秒的任务它不能完成,所以当想用来定时1秒的时候,只能用16位的定时器了;
且atmega128和atmega16的timer0选择时钟源是不一样的。请千万要注意。现在我们讨论的是atmega16;
还有上边的讨论是在工作模式(waveform mode)选择normal情况下。其他模式初始值和比较值的不一样的,具体你可以选择其他模式看一下它的变化值。
这样就得到了我们想要的TCNT0和OCR0的初始值了!
ATMAGE16定时器0初始值计 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)