IAR For AVR 定时器中断初值计算方法
时间:12-03
来源:互联网
点击:
使用芯片 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一指令 一周期
IARAVR定时器中断初值计 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)