AVR教程系列一(12):ATmega16 簡(jiǎn)介(六)_第1頁(yè)
AVR教程系列一(12):ATmega16 簡(jiǎn)介(六)_第2頁(yè)
AVR教程系列一(12):ATmega16 簡(jiǎn)介(六)_第3頁(yè)
AVR教程系列一(12):ATmega16 簡(jiǎn)介(六)_第4頁(yè)
AVR教程系列一(12):ATmega16 簡(jiǎn)介(六)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、案ATmeg邦a16 簡(jiǎn)扒介(六)捌ATmeg邦a16 拜控制和狀態(tài)壩寄存器敖MCUCS阿R艾AVR 控靶制和狀態(tài)寄岸存器提供了爸有關(guān)引起A芭VR復(fù)位的安復(fù)位源的信百息。盎O。百? Bit頒 4 班JTRF:邦 JTAG盎 復(fù)位標(biāo)志奧通過(guò)JTA班G 指令A(yù)芭VR_RE笆SET 可拜以使JTA昂G 復(fù)位寄柏存器置位,哀并引發(fā)MC百U 復(fù)位,疤并使JTR癌F 置位。扒上電復(fù)位將般使其清零,唉也可以通過(guò)斑寫”0” 頒來(lái)清除。捌? Bit跋 3 擺WDRF:按 看門狗復(fù)按位標(biāo)志邦看門狗復(fù)位芭發(fā)生時(shí)置位。上電復(fù)位頒將使其清零疤,也可以通哎過(guò)寫”0”頒 來(lái)清除。扮? Bit愛 2 敗BORF:巴 掉電檢測(cè)

2、阿復(fù)位標(biāo)志隘掉電檢測(cè)復(fù)白位發(fā)生時(shí)置拌位。上電復(fù)奧位將使其清阿零,也可以頒通過(guò)寫”0俺” 來(lái)清除佰。擺? Bit跋 1 半EXTRF挨: 外部復(fù)般位標(biāo)志芭外部復(fù)位發(fā)氨生時(shí)置位。哀上電復(fù)位將翱使其清零,版也可以通過(guò)跋寫”0” 凹來(lái)清除。? Bit笆 0 癌PORF:白 上電復(fù)位版標(biāo)志疤上電復(fù)位發(fā)把生時(shí)置位。疤只能通過(guò)寫奧”0” 來(lái)班清除。為了案使用這些復(fù)捌位標(biāo)志來(lái)識(shí)礙別復(fù)位條件骯,用戶應(yīng)該案盡早讀取此胺寄存器的數(shù)板據(jù),然后將安其復(fù)位。如盎果在其他復(fù)愛位發(fā)生之前唉將此寄存器俺復(fù)位,則后拜續(xù)復(fù)位源可哀以通過(guò)檢查艾復(fù)位標(biāo)志來(lái)版了解。 翱Z。背ATmeg瓣a16 礙基準(zhǔn)電壓使俺能信號(hào)和啟叭動(dòng)時(shí)間哎AT扳m

3、ega1笆6 具有片罷內(nèi)能隙基準(zhǔn)矮源,用于掉奧電檢測(cè),或哀者是作為模柏?cái)M比較器或按ADC的輸霸入。ADC敖 的2.5懊6V 基準(zhǔn)背電壓由此片扳內(nèi)能隙基準(zhǔn)白源產(chǎn)生。扮電壓基準(zhǔn)的邦啟動(dòng)時(shí)間可叭能影響其工搬作方式。啟氨動(dòng)時(shí)間列于耙Table癌 16。為哎了降低功耗哎,可以控制叭基準(zhǔn)源僅在瓣如下情況打瓣開:疤1. BO凹D 使能 拜( 熔絲位敗BODEN半 被編程)岸2. 能隙瓣基準(zhǔn)源連接疤到模擬比較罷器(ACS八R 寄存器昂的ACBG斑 置位)敗3. AD礙C 使能搬因此,當(dāng)B芭OD 被禁鞍止時(shí),置位澳ACBG 疤或使能AD敖C 后要啟把動(dòng)基準(zhǔn)源。癌為了降低掉拔電模式的功巴耗,用戶可暗以禁止上述吧三

4、種條件,扒并在進(jìn)入掉捌電模式之前把關(guān)閉基準(zhǔn)源扒。哎U。笆ATmeg跋a16 氨看門狗定時(shí)疤器罷看門狗定時(shí)鞍器由獨(dú)立的癌1 Mhz靶 片內(nèi)振蕩胺器驅(qū)動(dòng)。這奧是VCC 啊= 5V 熬時(shí)的典型值把。請(qǐng)參見特昂性數(shù)據(jù)以了板解其他VC版C 電平下骯的典型值。頒通過(guò)設(shè)置看叭門狗定時(shí)器艾的預(yù)分頻器吧可以調(diào)節(jié)看拌門狗復(fù)位的吧時(shí)間間隔,邦如P41T襖able 疤17 所示藹??撮T狗復(fù)藹位指令WD罷R 用來(lái)復(fù)愛位看門狗定邦時(shí)器。此外俺,禁止看門啊狗定時(shí)器或唉發(fā)生復(fù)位時(shí)挨定時(shí)器也被俺復(fù)位。復(fù)位疤時(shí)間有8 般個(gè)選項(xiàng)。如斑果沒(méi)有及時(shí)吧復(fù)位定時(shí)器捌,一旦時(shí)間霸超過(guò)復(fù)位周笆期, AT皚mega1跋6 就復(fù)位頒,并執(zhí)行復(fù)辦位

5、向量指向佰的程序。具邦體的看門狗霸復(fù)位時(shí)序在敖P39 有案說(shuō)明。半為了防止無(wú)辦意之間禁止隘看門狗定時(shí)敖器,在看門矮狗禁用后必翱須跟一個(gè)特挨定的修改序懊列。詳見看柏門狗定時(shí)器拔控制寄存器俺。班b。藹看門狗定時(shí)骯器控制寄存拌器頒WDTCR氨 俺? Bit擺s 7.般5 R擺es: 保岸留位阿ATmeg襖a16 保班留位,讀操奧作返回值為傲零。安? Bit矮 4 佰WDTOE埃: 看門狗背修改使能扒清零WDE岸 時(shí)必須置笆位WDTO白E,否則不頒能禁止看門半狗。一旦置案位,硬件將稗在緊接的4捌 個(gè)時(shí)鐘周骯期之后將其罷清零。請(qǐng)參靶考有關(guān)WD吧E 的說(shuō)明隘來(lái)禁止看門爸狗。擺? Bit隘 3 斑WDE:

6、芭使能看門狗罷WDE為般1“ 時(shí),襖看門狗使能瓣,否則看門氨狗將被禁止百。只有在WDTOE為扮1“ 時(shí)癌WDE 才八能清零。以班下為關(guān)閉看鞍門狗的步驟襖:跋1. 在同把一個(gè)指令內(nèi)矮對(duì)WDTO隘E 和WD扮E 寫1半“,即使W阿DE 已經(jīng)哎為1“拌2. 在緊巴接的4 個(gè)俺時(shí)鐘周期之壩內(nèi)對(duì)WDE捌 寫0”擺? Bit翱s 2.爸0 W八DP2, 半WDP1,阿 WDP0盎: 看門狗矮定時(shí)器預(yù)分耙頻器2, 靶1 和 0把WDP2、芭WDP1 傲和WDP0耙 決定看門板狗定時(shí)器的預(yù)分頻器,鞍如Tabl昂e 17 柏所示。辦b。邦下面的例子笆分別用匯編吧和矮C 啊語(yǔ)言實(shí)現(xiàn)了芭關(guān)閉捌WDT 鞍的操作。在敗

7、此假定中斷吧處于用戶控搬制之下跋 ( 扮比如禁止全疤局中斷霸) 罷,因而在執(zhí)挨行下面程序傲?xí)r中斷不會(huì)佰發(fā)生。跋 背匯編代碼例襖程扮WDT_o盎ff:皚; WDT巴 把復(fù)位敗WDR百; 爸置位骯 WDTO敖E 奧和背 WDE拔in r1暗6, WD板TCR搬ori r靶16, (扮1WD把TOE)|板(1W伴DE)哀out W跋DTCR, r俺16頒; 把關(guān)閉罷WDT伴ldi r按16, (0WD挨E)扮out W八DTCR,稗 r16敖ret半C 靶代碼例程盎void 唉WDT_o哎ff(vo霸id)跋翱/* WD跋T 藹復(fù)位翱*/暗_WDR(骯);絆/* 霸置位擺 WDTO耙E 板和瓣 WD

8、E*霸/白WDTCR阿 |= (礙1WD辦TOE) 搬| (1拜WDE)昂;拌/* 敗關(guān)閉WDT *皚/絆WDTCR吧 = 0 x愛00;拜按把l。霸ATmeg耙a16 伴中斷向量版本節(jié)描述A辦Tmega按16的中斷半處理。唉Table奧 19給出熬了不同的B般OOTRS邦T/IVS巴EL設(shè)置下礙的復(fù)位和中岸斷向量的位吧置。如果程半序永遠(yuǎn)不使搬能中斷,中疤斷向量就沒(méi)般有意義。用皚戶可以在此埃直接寫程序耙。同樣,如鞍果復(fù)位向量拜位于應(yīng)用區(qū)鞍,而其他中艾斷向量位于阿Boot 扮區(qū),則復(fù)位笆向量之后可氨以直接寫程暗序。反過(guò)來(lái)拌亦是如此。爸 按x。啊ATmeg爸a16 啊典型的復(fù)位骯和中斷設(shè)置板如下:

9、氨地址扳凹符號(hào)代碼說(shuō)半明拔$000 敖j(luò)mp R扳ESET 辦; 傲復(fù)位中斷向癌量胺$002 笆jmp E笆XT_IN唉T0 ; 板IRQ0 擺中斷向量唉$004 百jmp E案XT_IN暗T1 ; 稗IRQ1 昂中斷向量耙$006 氨jmp T稗IM2_C板OMP ;白 Time扮r2 按比較中斷向拜量啊$008 拔jmp T斑IM2_O敗VF ; 俺Timer把2 懊溢出中斷向跋量八$00A 哀jmp T搬IM1_C佰APT ;巴 Time鞍r1 鞍捕捉中斷向安量叭$00C 壩jmp T佰IM1_C案OMPA 拜; Tim白er1 拔比較皚A 靶中斷向量懊$00E 奧jmp T斑IM1_C

10、笆OMPB 皚; Tim懊er1 壩比較白B 絆中斷向量案$010 捌jmp T敗IM1_O阿VF ; 百Timer靶1 啊溢出中斷向般量襖$012 板jmp T凹IM0_O敖VF ; 拜Timer挨0 背溢出中斷向案量絆$014 藹jmp S吧PI_ST瓣C ; S擺PI 骯傳輸結(jié)束中埃斷向量笆$016 拜jmp U辦SART_鞍RXC ;澳 USAR奧T RX 瓣結(jié)束中斷向辦量艾$018皚 jmp 昂USART俺_UDRE隘 ; UD笆R 芭空中斷向量拜$01A 按jmp U安SART_捌TXC ; USAR把T TX 把結(jié)束中斷向敖量翱$01C 耙jmp A俺DC ; 半ADC 阿轉(zhuǎn)換結(jié)

11、束中翱斷向量稗$01E 斑jmp E胺E_RDY八 ; EE罷PROM 暗就緒中斷向扒量芭$020 頒jmp A俺NA_CO骯MP ; 翱模擬比較器捌中斷向量絆$022 擺jmp T艾WSI ;罷 安兩線串行接安口中斷向量背$024 吧jmp E胺XT_IN柏T2 ; IRQ2 頒中斷向量柏$026 斑jmp T按IM0_C傲OMP ;埃 白定時(shí)器擺0 骯比較中斷向傲量皚$028 扳jmp S芭P拌M_RDY襖 ; SP佰M 澳就緒中斷向暗量八;瓣$02A 芭RESET般: ldi案 r16,襖high(靶RAMEN斑D) ; 罷主程序伴$02B 霸out S盎PH,r1班6 ; 版設(shè)置堆棧指

12、靶針為佰RAM 奧的頂部哎$02C ldi r瓣16,lo擺w(RAM熬END)礙$02D 稗out S氨PL,r1拜6凹$02E 昂sei ;瓣 昂使能中斷矮$02F 版 xx案x礙. .案. .擺.暗當(dāng)熔絲位敗BOOTR稗ST 礙未編程,藹Boot 傲區(qū)為頒 2K 扒字節(jié),且寄笆存器愛GICR 澳的矮I(xiàn)VSEL翱 氨置位時(shí),典笆型的復(fù)位和把中斷設(shè)置如敗下:巴地址符號(hào)代白碼說(shuō)明安$000 隘RESET哀: ldi挨 r16,礙high(拜RAMEN拌D) ; 哎主程序敗$001 矮out S頒PH,r1絆6 ; 昂設(shè)置堆棧指佰針為癌RAM 壩的頂部跋$002 把ldi r爸16,lo岸w(R

13、AM哎END)熬$003 辦out S案PL,r1班6吧$004 唉sei ;扳 翱使能中斷扮$005 啊 xx暗x捌;阿.org 般$1C02扮$1C02昂 jmp 熬EXT_I般NT0 ;翱 IRQ0芭 氨中斷向量懊$1C04扳 jmp 絆EXT_I辦NT1 ;氨 IRQ1鞍 靶中斷向量襖. .耙. .伴. ;搬$1C28礙 jmp 俺SPM_R阿DY ; 邦SPM 敖就緒中斷向八量跋當(dāng)熔絲位胺BOOTR笆ST 絆已編程,且巴Boot 罷區(qū)為瓣 2K 暗字節(jié)時(shí),典半型的復(fù)位和骯中斷設(shè)置如安下:背地址符號(hào)代安碼說(shuō)明拔.org 唉$002氨$002 把jmp E邦XT_IN岸T0 ; 礙IRQ

14、0 埃中斷向量罷$004 皚jmp E拌XT_IN般T1 ; 拔IRQ1 扳中斷向量愛. .佰. .絆. ;艾$028 癌jmp S骯PM_RD跋Y ; S襖PM 芭就緒中斷向爸量扳;襖.org 哀$1C00藹$1C00邦 RESE板T: ld案i r16叭,high俺(RAME隘ND) ;擺 邦主程序扮$1C01鞍 out 礙SPH,r唉16 ; 罷設(shè)置堆棧指癌針為背RAM 佰的頂部隘$1C02斑 ldi 絆r16,l敗ow(RA挨MEND)俺$1C03班 out 把SPL,r百16氨$1C04襖 sei 案; 挨使能中斷皚$1C05班 x盎xx扳當(dāng)熔絲位矮BOOTR壩ST 般已編程,哀Bo

15、ot 耙區(qū)為笆2K 巴字節(jié),且寄氨存器絆GICR 敗的敗IVSEL扳 吧置位時(shí),典邦型的復(fù)位和柏中斷設(shè)置如叭下:拜地址符號(hào)代耙碼說(shuō)明笆.org 奧$1C00辦$1C00癌 jmp 叭RESET矮 ; Re拔set 頒中斷向量柏$1C02胺 jmp 隘EXT_I頒NT0 ;半 IRQ0拌 扮中斷向量愛$1C04哀 jmp 爸EXT_I俺NT1 ;半 IRQ1襖 捌中斷向量礙. .背. .盎. ;胺$1C28佰 jmp 胺SPM_R哎DY ; 哀SPM 跋就緒中斷向俺量辦;佰$1C2A阿 RESE安T: ldi r16安,high骯(RAME唉ND) ;阿 啊主程序背$1C2B擺 out 隘SPH

16、,r案16 ; 阿設(shè)置堆棧指捌針為皚RAM 拔的頂部哎$1C2C岸 ldi 擺r16,l柏ow(RA凹MEND)八$1C2D壩 out 半SPL,r昂16班$1C2E氨 sei 跋; 板使能中斷爸$1C2F x矮xx絆在應(yīng)用區(qū)和熬Boot 背區(qū)之間移動(dòng)敗中斷向量矮 辦通用中斷控絆制寄存器決壩定中斷向量敗表的放置地址班通用中斷控伴制寄存器罷 GICR唉? Bit半 1 板IVSEL瓣: 拜中斷向量選拔擇靶當(dāng)哀IVSEL白 襖為鞍0“ 敗時(shí),中斷向凹量位于按Flash埃 霸存儲(chǔ)器的起拜始地址;當(dāng)背IVSEL吧 皚為辦1“ 哀時(shí),中斷向傲量轉(zhuǎn)移到辦Boot 叭區(qū)的起始地搬址。實(shí)際的頒Boot 昂區(qū)起

17、始地址稗由熔絲位埃BOOTS瓣Z 般確定。具體爸請(qǐng)參考爸P234“埃 俺支持引導(dǎo)裝俺入程序把 罷在寫的同時(shí)吧可以讀捌(RWW,哀 Read挨-Whil斑e-Wri半te) 俺的自我編程半能力斑” 胺。傲稗為了防止無(wú)瓣意識(shí)地改變壩中斷向量表跋,修改昂IVSEL皚 愛時(shí)需要遵照皚如下過(guò)程:笆1. 傲置位中斷向哀量修改使能哎位礙IVCE擺2. 愛在緊接的藹4 邦個(gè)時(shí)鐘周期胺里將需要的阿數(shù)據(jù)寫入骯IVSEL哎,同時(shí)對(duì)笆IVCE 拌寫艾”0”白執(zhí)行上述序岸列時(shí)中斷自隘動(dòng)被禁止。拔其實(shí),在置挨位啊IVCE 安時(shí)中斷就被半禁止了,并翱一直保持到半寫拜IVSEL哀 絆操作之后的霸下一條語(yǔ)句辦。如果沒(méi)有哎IVS

18、EL疤 胺寫操作,則矮中斷在置位巴IVCE 霸之后的艾4 凹個(gè)時(shí)鐘周期安保持禁止。凹需要注意的邦是,雖然中按斷被自動(dòng)禁礙止,但狀態(tài)百寄存器的位罷I 凹的值并不受八此操作的影啊響。跋Note:俺 岸若中斷向量艾位于百Boot熬區(qū),且罷Boot邦鎖定位佰BLB02氨被編程,則吧執(zhí)行應(yīng)用區(qū)辦的程序時(shí)中吧斷被禁止;哀若中斷向量安位于應(yīng)用區(qū)懊,且佰Boot 邦鎖定位襖BLB12哎 伴被編程,擺伴則執(zhí)行八Boot 盎區(qū)的程序時(shí)岸中斷被禁止傲。有關(guān)爸Boot 隘鎖定位的細(xì)罷節(jié)請(qǐng)參見跋P234“懊 百支持引導(dǎo)裝靶入程序挨 版在寫的同時(shí)翱可以讀斑(RWW,吧 Read白-Whil隘e-Wri芭te) 熬的自我編

19、程哎能力扮” 巴。耙? Bit翱 0 瓣IVCE:盎 熬中斷向量修按改使能稗改變俺IVSEL靶 壩時(shí)皚IVCE 霸必須置位。半在安IVCE 哎或頒IVSEL奧 皚寫操作之后暗4 襖個(gè)時(shí)鐘周期叭,藹 IVCE芭 矮被硬件清零稗。如前面所皚述,置位安IVCE 愛將禁止中斷胺。代碼如下叭:凹匯編代碼例啊程:隘Move_暗inter扒rupts捌:吧; 靶使能中斷向敗量的修改頒ldi r般16, (氨1IV擺CE)吧out GICR, 艾r16扮; 佰將中斷向量頒轉(zhuǎn)移到捌boot 絆區(qū)擺ldi r哎16, (哎1IV搬SEL)皚out G頒ICR, 奧r16半ret藹C 哀代碼例程把void 懊Mov

20、e_骯inter矮rupts皚(void斑)搬辦/* 拌使能中斷向昂量的修改熬*/搬GICR 骯= (1澳IVCE骯);安/* 骯將中斷向量巴轉(zhuǎn)移到柏boot 氨區(qū)骯 */稗GICR 擺= (1搬IVSE扒L);皚 邦4。芭ATmeg霸a16 絆通用中斷控頒制寄存器哎GICR 捌? Bit傲 1 笆IVSEL跋: 中斷向哀量選擇背當(dāng)IVSE埃L 為0扒“ 時(shí),中擺斷向量位于吧Flash岸 存儲(chǔ)器的澳起始地址;皚當(dāng)IVSE拔L 為1愛“ 時(shí),中案斷向量轉(zhuǎn)移唉到Boot半 區(qū)的起始拔地址。實(shí)際八的Boot哀 區(qū)起始地絆址由熔絲位按BOOTS霸Z 確定。哀具體請(qǐng)參考?jí)蜳234“唉 支持引導(dǎo)靶裝入程序 搬 在寫的拌同時(shí)可以讀百(RWW,氨 Read班-Whil按e-Wri礙te) 的頒自我編程能背力” 。 敖為了防止無(wú)斑意識(shí)地改變版中斷向量表唉,修改IV叭SEL 時(shí)襖需要遵照如板下過(guò)程:奧1. 置位邦中斷向量修捌改使能位I矮VCE邦2. 在緊矮接的4 個(gè)挨時(shí)鐘周期里白將需要的數(shù)胺據(jù)寫入IV俺SEL,同佰時(shí)對(duì)IVC耙E 寫”0暗”吧執(zhí)行上述序辦列時(shí)中斷自版動(dòng)被禁止。板其實(shí),在置皚位IVCE背 時(shí)中斷就藹被禁止了,敖并一直保持白到寫IVS奧EL 操作拔之后的下一百條語(yǔ)句。如艾

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論