新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > IAR For AVR 定時(shí)器中斷初值計(jì)算方法

IAR For AVR 定時(shí)器中斷初值計(jì)算方法

作者: 時(shí)間:2016-12-03 來源:網(wǎng)絡(luò) 收藏

使用芯片 AT Mega16 外部晶振 4.00MHz

本文引用地址:http://butianyuan.cn/article/201612/325108.htm

定時(shí)器1 (16位定時(shí)器)寄存器 TCCR1B = 0x04 設(shè)定 256預(yù)分頻

要利用定時(shí)器定時(shí)1秒

1,4000000 / 256 = 15625 說明定時(shí)器每當(dāng) 1/15625 秒 就會(huì)觸發(fā)一次中斷

2,65535 - 15625 = 49910 計(jì)算出要累加多少次才能在1秒后出發(fā)定時(shí)器1的溢出中斷

3,49910 <==> C2 F6 將計(jì)算后的值換算成16進(jìn)制

4, TCNT1H = 0xC2 ; 對(duì)寄存器賦值
TCNT1L = 0xF6 ;

=============================================================================

例如用16位定時(shí)器TIMER1,4MHZ晶振,256分頻,100ms定時(shí),如何求得初值賦給TCNT1?

65536-(4M/256)*0.1=63973.5

其中,4M是晶體頻率,0.1是定時(shí)時(shí)長(zhǎng)單位秒。

對(duì)于8位的定時(shí)器
T=(2^8-計(jì)數(shù)初值)*晶振周期*分頻數(shù)=(2^8-計(jì)數(shù)初值)/晶振頻率*分頻數(shù)
計(jì)數(shù)初值=2^8-T/晶振周期/分頻數(shù)=2^8-T*晶振頻率/分頻數(shù)

因?yàn)?strong>AVR一指令 一周期



評(píng)論


技術(shù)專區(qū)

關(guān)閉