版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
./AVR
定時(shí)器中斷初值計(jì)算方法使用芯片
AT
Mega16
外部晶振4.00MHz定時(shí)器1
〔16位定時(shí)器寄存器TCCR1B
=
0x04
設(shè)定256預(yù)分頻要利用定時(shí)器定時(shí)1秒1,4000000
/
256
=
15625
說明定時(shí)器每當(dāng)1/15625
秒就會觸發(fā)一次中斷2,65535
-
15625
=
49910
計(jì)算出要累加多少次才能在1秒后出發(fā)定時(shí)器1的溢出中斷3,49910
<==>
C2
F6
將計(jì)算后的值換算成16進(jìn)制4,TCNT1H
=
0xC2
;
對寄存器賦值
TCNT1L
=
0xF6
;=================================================例如用16位定時(shí)器TIMER1,4MHZ晶振,256分頻,100ms定時(shí),如何求得初值賦給TCNT1?65536-<4M/256>*0.1=63973.5其中,4M是晶體頻率,0.1是定時(shí)時(shí)長單位秒。對于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)锳VR一指令一周期IAR
For
AVR
精確延時(shí)C語言中,想使用精確的延時(shí)程序并不容易。IAR
中有這樣的一個(gè)函數(shù)__delay_cycles<>,該函數(shù)在頭文件intrinsics.h中定義,函數(shù)的作用就是延時(shí)N個(gè)指令周期。根據(jù)這個(gè)函數(shù)就可以實(shí)現(xiàn)精確的延時(shí)函數(shù)了〔但不能做到100%精確度。實(shí)現(xiàn)的方法:建立一個(gè)delay.h的頭文件:#ifndef
__IAR_DELAY_H#define
__IAR_DELAY_H#include
<intrinsics.h>#define
XTAL
8
//可定義為你所用的晶振頻率〔單位Mhz
#define
delay_us<x>
__delay_cycles
<
<unsigned
long><x
*
XTAL>
>
#define
delay_ms<x>
__delay_cycles
<
<unsigned
long><x
*
XTAL*1000>
>#define
delay_s<x>
__delay_cycles
<
<unsigned
long><x
*
XTAL*1000000>
>#endif
注意:
__delay_cycles<x>,x必須是常量或則是常量表達(dá)式,如果是變量則編譯報(bào)錯(cuò)!關(guān)于溢出中斷不管是哪個(gè)單片機(jī)都是不斷累加,使其寄存器溢出觸發(fā)中斷,然后跳轉(zhuǎn)到中斷函數(shù)處執(zhí)行中斷服務(wù)程序。對于定時(shí)器初值的設(shè)定可以加深對定時(shí)器的工作原理的理解。
ATMega16
里面有8位和16位兩種定時(shí)器,他們何時(shí)會溢出這個(gè)是固定的,也就是到達(dá)他們的計(jì)數(shù)圍的最大值就會產(chǎn)生中斷,8位的定時(shí)器的最大計(jì)數(shù)圍是0~256〔2的8次方,就是累加到256后他就會產(chǎn)生中斷,16位的定時(shí)器最大計(jì)數(shù)圍是0~65536〔2的16次方,累加到65536時(shí)他就會產(chǎn)生中斷。而我們所謂的計(jì)數(shù)初值是就是要設(shè)定定時(shí)器在什么地方開始計(jì)數(shù),以8位定時(shí)器為例比如:初值為100,所以定時(shí)器從100開始累加,累加了156次,加到256后產(chǎn)生中斷,這就是中間消耗的時(shí)間和指令周期就是我們要去設(shè)定的時(shí)間;再比如:初值是200,所以定時(shí)器從200開始累加,累加了56次,加到256后產(chǎn)生中斷,可以看到第一定時(shí)要累加156次才會中斷而第二次只要累加56次就會產(chǎn)生中斷,顯然第一次設(shè)定的時(shí)間要比第二次的長。定時(shí)器不僅可以定時(shí),而且我們用到定時(shí)器的時(shí)候往往是需要精確定時(shí)的時(shí)候。我們可以計(jì)算出我們設(shè)定的初值會在多長時(shí)間后進(jìn)入中斷。實(shí)驗(yàn)平臺:ATMega16
晶振:
11.0592
MHz對初值的計(jì)算:
1,11059200
/
1024
=
10800
設(shè)定為1024倍分頻,得到每1秒需要進(jìn)行多少次累加
2,10800
/
100
=
108
得到10ms
的定時(shí)需要進(jìn)行多少次累加。
3,256
-
108
=
148
計(jì)算圍最大值減去要累加的時(shí)間,得到初值,即從哪里開始累加才能在溢出時(shí)為10ms的時(shí)間。
4,148
<==>
0x94
得到十六進(jìn)制值,賦值給TCNT0代碼:定時(shí)10ms#include
<iom16.h>unsigned
char
flag
=
0;void
timer_init<void>{TCCR0
=
0x05;
//進(jìn)行1024分頻
TCNT0
=
0x94;
//賦計(jì)數(shù)初值
TIMSK_TOIE0
=
1;
//開使能
SREG_I
=
1;
//開總中斷
}#pragma
vector
=
TIMER0_OVF_vect__interrupt
void
time0_normal<void>{
TCNT0
=
0x94;
//重新賦初值
flag++;}void
main<void>{
timer_init<>;
DDRB_Bit0
=
1;
while<1>
{
if<flag
==
100>
//10ms
重復(fù)100次,即為1秒
{
PORTB_Bit0
=
~PORTB_Bit0;
//讓LED閃爍
flag
=
0;
}
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//實(shí)驗(yàn)平臺:ATMega16晶振:11.059216位定時(shí)器初值設(shè)定:
1,11059200
/
256
=
43200
設(shè)定256倍分頻,得到每1秒需要進(jìn)行多少次累加
2,65536
-
43200
=
22336
計(jì)算圍最大值減去要累加的時(shí)間,得到初值,即從哪里開始累加才能在溢出時(shí)為1s的時(shí)間。
3,22336
<==>
0x57
0x40
得到十六進(jìn)制值,賦值給TCNT1H
,
TCNT1L:定時(shí)1s#include
<iom16.h>
unsigned
char
flag
=
0;
void
timer_init<void>
{
TCCR1B
=
0x04;
TCNT1H
=
0x57;
TCNT1L
=
0x40;
TIMSK_TOIE1
=
1;
SREG_I
=
1;
}
#pragma
vector
=
TIMER1_OVF_vect
__interrupt
void
time1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省白城市洮南市第十中學(xué)2025屆物理高三上期末經(jīng)典模擬試題含解析
- 山東省示范初中2025屆高三物理第一學(xué)期期中調(diào)研試題含解析
- 山西省忻州市2025屆物理高一上期中學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 2025屆北師大萬寧附中物理高一第一學(xué)期期中學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 江蘇省徐州一中2025屆物理高二上期末綜合測試模擬試題含解析
- 2025屆江蘇省兩校物理高二第一學(xué)期期中聯(lián)考試題含解析
- 2025屆四川巫溪縣白馬中學(xué)物理高三上期末質(zhì)量檢測試題含解析
- 深圳市育才中學(xué)2025屆物理高二上期末綜合測試模擬試題含解析
- 廣東省廣州市第二外國語學(xué)校2025屆高二物理第一學(xué)期期末達(dá)標(biāo)檢測模擬試題含解析
- 2025屆吉林省吉林市高三物理第一學(xué)期期末考試模擬試題含解析
- 危險(xiǎn)品安全數(shù)據(jù)清冊氯氰菊脂
- 施工現(xiàn)場挖斷電纜、光纜事故應(yīng)急搶修方案(純干貨版)
- 石灰石粉倉安裝方案
- 標(biāo)準(zhǔn)化大綱-模版
- 松下電器(中國)焊接學(xué)?!附蛹夹g(shù)
- 《肺動脈高壓護(hù)理》PPT課件.ppt
- 青少年特發(fā)性脊柱側(cè)彎癥中醫(yī)診療方案4
- 河堤工程巖土工程勘察報(bào)告
- 完整版水穩(wěn)自評報(bào)告
- 《小兒推拿》PPT課件(完整版)
- 幼兒園區(qū)域材料投放明細(xì)(修改版)
評論
0/150
提交評論