ATEMAGE16中断初值计算方法7页word文档 | 您所在的位置:网站首页 › c定时器的使用 › ATEMAGE16中断初值计算方法7页word文档 |
第 1 页
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* 晶振频率 / 分频 数
|
CopyRight 2018-2019 实验室设备网 版权所有 |