初学者请教一个AVR定时器中断初值设置的问题
用定时器1定时1s,假设4M晶振、设置256分频 。那为什么TCNT1里面的值每次加一对应的时间就是1/15625 秒啊,在51里面寄存器里面的数值加1不是对应的是一个指令周期么。这俩怎么理解啊? 请教下、谢谢了、、 本帖最后由 thomascao 于 2013-3-12 21:53 编辑51:每过一个机器周期,计数器加1,直至计满溢出为止。因51一个机器周期等于12个振荡周期
如果晶振为4MHz,那51的计数周期为:
T=12*(1/4000000Hz)=3μs
AVR单片机采用的是RISC指令集,它执行的机器周期与时钟周期是相等的,不像传统的51单片机要进行12分频。
如果晶振为4MHz,那AVR的计数周期为:
T=1/4000000Hz =0.25us
设置256分频那就是:T=1/(4000000/256)=1/15625=64us
去看下他们的机器周期的区别就明白的 thomascao 发表于 2013-3-12 21:50 static/image/common/back.gif
51:每过一个机器周期,计数器加1,直至计满溢出为止。因51一个机器周期等于12个振荡周期
如果晶振为4MHz ...
嗯嗯、貌似有点思路了、、太感谢你了。。哈~
页:
[1]