AVR定时器中断初值计算方法.docVIP

  • 36
  • 0
  • 约3.38千字
  • 约 8页
  • 2020-07-07 发布于河北
  • 举报
AVR?定时器中断初值计算方法? 使用芯片?AT?Mega16?????外部晶振?4.00MHz 定时器1???(16位定时器)寄存器?TCCR1B?=?0x04?设定?256预分频 要利用定时器定时1秒 1,4000000?/?256?=?15625????说明定时器每当?1/15625?秒?就会触发一次中断 2,65535?-?15625?=?49910????计算出要累加多少次才能在1秒后出发定时器1的溢出中断 3,49910?==?C2?F6???????????将计算后的值换算成16进制 4,?TCNT1H?=?0xC2?;?????????????对寄存器赋值 ???????TCNT1L?=?0xF6?; ================================================= 例如用16位定时器TIMER1,4MHZ晶振,256分频,100ms定时,如何求得初值赋给TCNT1? 65536-(4M/256)*0.1=63973.5 其中,4M是晶体频率,0.1是定时时长单位秒。 对于8位的定时器 T=(2^8-计数初值)*晶振周期*分频数=(2^8-计数初值)/晶振频率*分频数计数初值=2^8-T/晶振周期/分频数=2^8-T*晶振频率/分频数 因为AVR一指令?一周期 ? IAR?For?AVR?精确延时 ? C语言中,想使用精确的延时程序

文档评论(0)

1亿VIP精品文档

相关文档