您的位置 首页 硬件

IAR For AVR 定时器中止初值计算方法

使用芯片ATMega16外部晶振4.00MHz定时器1(16位定时器)寄存器TCCR1B=0x04设定256预分频要利用定时器定时1秒1,400000…

运用芯片 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一指令 一周期

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/252149.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部