




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、恭喜你:選擇了正確的AVR學(xué)習(xí)資料ATmega16的中斷系統(tǒng) ATmega16的中斷源和中斷向量 AVR一般擁有數(shù)十個中斷源,每個中斷源都有獨立的中斷向量。 AVR的程序存儲區(qū)的最低端,即從Flash地址的0 x0000開始用于放置中斷向量,稱作中斷向量區(qū)。 各種型號的AVR中斷向量區(qū)的大小是不同的,由下式?jīng)Q定:中斷向量區(qū)大小 = 中斷源個數(shù) 每個中斷向量占據(jù)字數(shù) AVR的21個中斷中,包含1個非屏蔽中斷(RESET)3個外部中斷(INT0、INT1、INT2)和17個內(nèi)部中斷, 1.外部部中斷INT0、INT1和和INT2是3個外部部中斷源源,它們們是分別別由芯片片外部引引腳PD2、PD3、
2、PB2上的電電平的變變化或狀狀態(tài)觸發(fā)發(fā)的。通通過對控控制寄存存器MCUCR和控制制與狀態(tài)態(tài)寄存器器MCUCSR的配置置,外部部中斷可可以定義義為由PD2、PD3、PB2引腳腳上的電電平的下下降沿、上升沿沿、邏輯輯電平變變化,或或者低電電平(INT2僅支持持電平變變化的邊邊沿觸發(fā)發(fā))觸發(fā)發(fā)。3個定時時計數(shù)器器觸發(fā)的的內(nèi)部中中斷MER2 COMPTIMER2OVF定定時時溢出2TIMER1CAPT撲撲捉捉溢出1TIMER1COMPA定定時時比較ATIMER1COMPB定定時時比較BTIMER1OVF定定時時溢出2TIMER0OVF定定時時溢出0TIMER0COMP定定時時比較0同步/異異步串行行接
3、收和和轉(zhuǎn)發(fā)器器USART的的內(nèi)部中中斷USARTRXC接接收一個個字節(jié)USARTTXC發(fā)發(fā)送一個個字節(jié)USARTUDRE發(fā)發(fā)送數(shù)據(jù)據(jù)寄存器器為空其它內(nèi)部部中斷SPISTC為內(nèi)部部SPI串行接接口傳送送結(jié)束中中斷ADC為為ADC單元完完成一次次A/D轉(zhuǎn)換的的中斷EE_RDY是是片內(nèi)的的EEPROM就緒(對EEPROM的操操作完成成)中斷斷ANA_COMP是由由內(nèi)置的的模擬比比較器輸輸出引發(fā)發(fā)的中斷斷TWI為為內(nèi)部兩兩線串行行接口的的中斷SPM_RDY是對片片內(nèi)的Flash寫操操作完成成中斷ATmega16的中中斷控制制中斷優(yōu)先先級的確確定1.在AVR單單片機中中,一個個中斷在在中斷向向量區(qū)中中的
4、位置置決定了了 它的的優(yōu)先級級,位于于低地址址的中斷斷優(yōu)先級級高于位位于高地地址的中中斷。2AVR單片片機采用用固定的的硬件優(yōu)優(yōu)先級方方式,不不支持通通過軟件件對中斷斷優(yōu)先級級的重新新設(shè)定。AVR有有兩種機機制不同同的中斷斷:帶有中斷斷標志的的中斷(可掛起起)不帶中斷斷標志的的中斷(不能掛掛起)。中斷標志志在AVR中,大大多數(shù)的的中斷都都屬于帶帶中斷標標志的中中斷。中斷標志志概念每個中斷斷源在其其I/O空間寄寄存器中中具有自自己的一一個中斷斷標志位位。AVR的硬硬件系統(tǒng)統(tǒng)在每個個時鐘周周期內(nèi)都都會檢測測(接受受)外部部(內(nèi)部部)中斷斷源的中中斷條件件。一旦旦中斷條條件滿足足,AVR的硬硬件就會
5、會將置位位相應(yīng)的的中斷標標志位(置為“1”),表示示向MCU提起起中斷請請求。中斷標志志清除中斷標志志位一般般在MCU響應(yīng)應(yīng)該中斷斷時,由由硬件自動動清除,或在中中斷服務(wù)務(wù)程序中中通過讀/寫專專門數(shù)據(jù)據(jù)寄存器器的方式自自動清除除。中斷標志志位除了了由硬件件自動清清除外也也可以使使用軟件件指令清清除,注注意:如如用軟件方法法清除,清除的的方法是是對其寫寫“1”。不帶(不不設(shè)置)中斷標標志的中中斷:如配置為為低電平平觸發(fā)的的外部中中斷即為為此類型型的中斷斷低電平中中斷的重重要應(yīng)用用是喚醒醒處于休休眠工作作模式的的MCU。三、中斷斷屏蔽與與管理為全局中中斷允許許控制位位:中斷允許許的總控控制位I(標
6、志志寄存器器SREG中的的I標志志位SREG.7)每一個中中斷源都都設(shè)置了了獨立的的中斷允允許位AVR對對中斷采采用兩級級控制方方式。這些中斷斷允許位位分散位位于各中中斷源所所屬模塊塊的控制制寄存器器中。AVR響響應(yīng)一個個可屏蔽蔽中斷源源(假定定為A中中斷)的的中斷的的條件是是:1.響應(yīng)應(yīng)A中斷斷 =全全局中中斷允許許標志AND 中斷斷A允許許標志AND 中斷斷A標志志2.AVR復(fù)位位后,各各個中斷斷允許位位以及全全局中斷斷允許位位均被清清零,這這保證了了程序在在開始執(zhí)執(zhí)行時(一般程程序開頭頭是對芯芯片內(nèi)部部以及外外圍系統(tǒng)統(tǒng)的初始始化配置置)不會會受到中中斷的干干擾。3.在AVR復(fù)復(fù)位后的的用
7、戶初初始化程程序中,需要先先對需要要使用的的中斷源源進行必必要的配配置。待待系統(tǒng)初初始化過過程結(jié)束束后再置置位I,使系統(tǒng)統(tǒng)進入正正常的工工作狀態(tài)態(tài),開始始響應(yīng)中中斷請求求。由于AVR在響響應(yīng)一個個中斷的的過程中中通過硬硬件將I標志位位自動清清零,這這樣就阻阻止了MCU響響應(yīng)其它它中斷。因此通通常情況況下,AVR是是不能自自動實現(xiàn)現(xiàn)中斷嵌嵌套的。如要系系統(tǒng)中必必須要實實現(xiàn)中斷斷嵌套的的應(yīng)用,用戶可可在中斷斷服務(wù)程程序中使使用指令令將全局局中斷允允許位開開放,通通過間接接的方式式實現(xiàn)中中斷的嵌嵌套處理理。四、中斷斷嵌套外部中斷斷觸發(fā)方方式和特特點INT0、INT1、INT2的中中斷觸發(fā)發(fā)方式取取決
8、于用用戶程序序?qū)CU控制制寄存器器MCUCR以以及MCU控制制與狀態(tài)態(tài)寄存器器MCUCSR的設(shè)定定。其中中,INT0和和INT1支持持4種中中斷觸發(fā)發(fā)方式,INT2支持持2種。任意電平平變化觸觸發(fā)表示示只要引引腳上有有邏輯電電平的變變化就會會產(chǎn)生中中斷申請請(不管管是上升升沿還是是下降沿沿都引起起中斷觸觸發(fā))4種觸發(fā)發(fā)方式中中,還有有以下的的一些不不同的特特點:低電平觸觸發(fā)是不不帶中斷斷標志類類型的,即只要要中斷輸輸入引腳腳PD2或PD3保持持低電平平,那么么將一直直會產(chǎn)生生中斷申申請。2.MCU對INT0和INT1的的引腳上上的上升升沿或下下降沿變變化的識識別(觸觸發(fā)),需要I/O時時鐘信
9、號號的存在在(由I/O時時鐘同步步檢測),屬于于同步邊邊沿觸發(fā)發(fā)的中斷斷類型。3.MCU對INT2的引腳腳上的上上升沿或或下降沿沿變化的的識別(觸發(fā)),以及及低電平平的識別別(觸發(fā)發(fā))是通通過異步步方式檢檢測的,不需要要I/O時鐘信信號的存存在。因因此,這這類觸發(fā)發(fā)類型的的中斷經(jīng)經(jīng)常作為為外部喚喚醒源,用于將將處在Idle休眠模模式,以以及處在在各種其其它休眠眠模式的的MCU喚醒。這是由由于除了了在空閑閑(Idel)模式時時,I/O時鐘鐘信號還還保持繼繼續(xù)工作作,在其其它各種種休眠模模式下,I/O時鐘信信號均是是處在暫暫停狀態(tài)態(tài)的。4.如果果使用低低電平觸觸發(fā)方式式的中斷斷作為喚喚醒源,將MC
10、U從掉掉電模式式(Power-down)中喚醒醒時,電電平拉低低后仍需需要維持持一段時時間才能能將MCU喚醒醒,這是是為了提提高了MCU的的抗噪性性能。拉拉低的觸觸發(fā)電平平將由看看門狗的的時鐘信信號采樣樣兩次(在通常常的5V電源和和25時,看看門狗的的時鐘周周期為1s)。如果果電平拉拉低保持持2次采采樣周期期的時間間,或者者一直保保持到MCU啟啟動延時時(start-up time)過程之之后,MCU將將被喚醒醒并進入入中斷服服務(wù)。如如果該電電平的保保持時間間能夠滿滿足看門門狗時鐘鐘的兩次次采樣,但在啟啟動延時時(start-up time)過程完完成之前前就消失失了,那那么MCU仍將將被喚醒
11、醒,但不不會觸發(fā)發(fā)中斷進進入中斷斷服務(wù)程程序。所所以,為為了保證證既能將將MCU喚醒,又能觸觸發(fā)中斷斷,中斷斷觸發(fā)電電平必須須維持足足夠長的的時間。5.如果果設(shè)置了了允許響響應(yīng)外部部中斷的的請求,則即便便是引腳腳PD2、PD3、PB2設(shè)設(shè)置為輸輸出方式式工作,引腳上上的電平平變化也也會產(chǎn)生生外部中中斷觸發(fā)發(fā)請求。這一特特性為用用戶提供供了使用用軟件產(chǎn)產(chǎn)生中斷斷的途徑徑。與外部中中斷相關(guān)關(guān)的寄存存器和標標志位在ATmega16中中,與外外部中斷斷有關(guān)的的寄存器器有4個個,共有有11個個標志位位。其作作用分別別是3個個外部中中斷各自自的中斷標志志位,中中斷允許許控制位位,和用于定義外部部中斷的的觸
12、發(fā)類類型。1)MCU中中斷方式式控制寄寄存器MCUCRMCU控控制寄存存器MCUCR的低4位為INT0(ISC01、ISC00)和INT1(ISC11、ISC10)中斷觸觸發(fā)類型型控制位位MCU對對INT0、INT1引腳上上電平值值的采樣樣在邊沿沿檢測前前。1.如果果選擇脈脈沖邊沿沿觸發(fā)或或電平變變化中斷斷的方式式,那么在在INT0、INT1引腳上上的一個個脈寬大大于一個個時鐘周周期的脈脈沖變化化將觸發(fā)發(fā)中斷,過短的的脈沖則則不能保保證觸發(fā)發(fā)中斷。2.如果果選擇低低電平觸觸發(fā)中斷斷,那么低電電平必須須保持到到當前指指令執(zhí)行行完成才才觸發(fā)中中斷。如如果是低低電平觸觸發(fā)方式式的話,中斷請請求將一一
13、直保持持到引腳腳上的低低電平消消失為止止。2)MCU控制制和狀態(tài)態(tài)寄存器器MCUCSRMCU控控制和狀狀態(tài)寄存存器MCUCSR中的的第6位位(ISC2)為INT2的中斷斷觸發(fā)類類型控制制位3)通用用中斷允允許控制制寄存器器GICR通用中斷斷控制寄寄存器GICR的高3位為INT0、INT1和和INT2的中中斷允許許控制位位 。GICR寄存器器中相應(yīng)應(yīng)的中斷斷允許位位被置為為“1”,當外外部引腳腳INT0(或或INT1、或或INT2)上上的電平平變化時時,MCU將會會響應(yīng)相相應(yīng)的中中斷請求求。4)通通用中斷斷標志寄寄存器GIFR中斷標志志寄存器器GIFR的高高3位為為INT0、INT1和INT2的
14、的中斷標標志位當INT2.0引腳腳上的有有效事件件滿足中中斷觸發(fā)發(fā)條件后后,INTF2.0位會變變成“1”。如如果此時時SREG寄存存器中I =1,以以及GICR寄寄存器中中的INTn被被置為“1”,MCU將將響應(yīng)中中斷請求求,跳至至相應(yīng)的的中斷向向量處開開始執(zhí)行行中斷服服務(wù)程序序,同時時硬件自自動將INTFn標志志位清零零。用戶可以以使用指指令將INTFn清除除,清除除的方式式是寫邏邏輯“1”到INTFn,將將標志清清零。當當INT0(INT1)設(shè)置置為低電電平觸發(fā)發(fā)方式時時,標志志位INTF0(INTF1)始終終為“0”,這這并不意意味著不不產(chǎn)生中中斷請求求,而是是低電平平觸發(fā)方方式是不不
15、帶中斷斷標志類類型的中中斷觸發(fā)發(fā)。在系統(tǒng)程程序的初初始化部部分中對對外部中中斷進行行設(shè)置時時(定義義或改變變觸發(fā)方方式),應(yīng)先將將GICR寄存存器中該該中斷的的中斷允允許位清清零,禁禁止MCU響應(yīng)應(yīng)該中斷斷后再設(shè)設(shè)置ISCn位位。而在開放放中斷允允許前,一般應(yīng)應(yīng)通過向向GIFR寄存存器中的的中斷標標志位INTFn寫入入邏輯“1”,將該中中斷的中中斷標志志位清除除,然后后開放中中斷。這這樣可以以防止在在改變ISCn的過程程中誤觸觸發(fā)中斷斷。中斷服務(wù)務(wù)程序的的編寫中中斷服務(wù)務(wù)程序的的編寫編寫中斷斷服務(wù)程程序的兩兩個基本本原則:1.全面面、仔細細考慮中中斷現(xiàn)場場的保護護和恢復(fù)復(fù)。2.中斷斷服務(wù)程程序
16、應(yīng)盡盡可能的的短不同高級級語言開開發(fā)環(huán)境境中對編編寫中斷斷服務(wù)程程序的語語法規(guī)則則和處理理方法是是不同的的。用戶戶在編寫寫中斷服服務(wù)程序序前,應(yīng)應(yīng)對所使使用開發(fā)發(fā)平臺,中斷程程序的編編寫方法法,中斷斷的處理理方法等等有較好好的了解解。使用ICCAVR等高高級語言言編寫中中斷服務(wù)務(wù)程序時時,用戶戶通常不不必考慮慮中斷現(xiàn)現(xiàn)場保護護和恢復(fù)復(fù)的處理理,這是是由于編編譯器在在編譯中中斷服務(wù)務(wù)程序的的源代碼碼時,會會在生成成的目標標代碼中中自動加加入相應(yīng)應(yīng)的中斷斷現(xiàn)場保保護和恢恢復(fù)的指指令,同同時自動動采用RETI指令作作為中斷斷服務(wù)的的返回指指令。在ICCAVRR中,只要用用#pragma偽偽指令和和中
17、斷向向量說明明中斷服服務(wù)程序序的入口口地址。中斷服務(wù)務(wù)函數(shù)按按以下格格式定義義:#pragmainterrupt_handler:如:INT0中中斷服務(wù)務(wù)程序#pragma interrupt_handler int0_isr:2voidint0_isr(void)中斷斷服務(wù)程程序C編譯器器會自動動幫助用用戶產(chǎn)生生正確的的中斷向向量處的的以及初初始化堆堆棧指針針的代碼碼,同時時在中斷斷服務(wù)程程序中自自動生成成中斷現(xiàn)現(xiàn)場保護護和恢復(fù)復(fù)(函數(shù)數(shù)中用到到的全部部寄存器器保護)及使用用RETI指令令返回。圖中使用用了兩個個按鍵K1、K2,按按鍵的一一端分別別與PD2(INT0)、PD3(INT1)連連
18、接。INT0和INT1作作為外部部中斷的的輸入,采用電電平變化化的下降降沿觸發(fā)發(fā)方式,當K1(K2)按下下時,會會在PD2(PD3)引腳上上產(chǎn)生一一個高電電平到低低電平的的跳變,觸發(fā)INT0或INT1中中斷。外部中斷斷應(yīng)用實實例硬件電路路應(yīng)用中斷斷應(yīng)舉例例:定時掃描描數(shù)碼管管,INT0、INT1按鍵鍵下降沿沿出發(fā)中中斷,使使鍵值分分別加減減1/*功功能能:INT0中斷函函數(shù),使使鍵值加加1*/#pragma interrupt_handler Int0_isr:2void Int0_isr(void)delay_nms(20);/延時大大約20毫秒,去抖if(KEY0=0)/再再次判斷斷按鍵是是否按下下while(KEY0=0);/等等待按鍵鍵釋放Key_Number+;/鍵鍵值加1/*功功能能:INT1中斷函函數(shù),使使鍵值減減1*/#pragma interrupt_handler Int1_isr:3void Int1_isr(void)delay_nms(20);/延時時大約20毫秒秒,去抖抖if(KEY1=0)/再次次判斷按按鍵是否否按下while(KEY1=0);/等等待按鍵鍵釋放Key_Number-;/鍵值減減1/*功功能能:Timer0溢溢出中斷斷,數(shù)碼碼管掃描描*/#pragma int
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介購買合同正式合同范本
- 全職舞蹈老師合同范例
- 加盟分公司合同范本
- 加盟新鮮豬肉合同范本
- 2024年西安電力中心醫(yī)院招聘筆試真題
- 準新車購車合同范本
- 2024年空港數(shù)字城市開發(fā)建設(shè)有限公司社會招聘考試真題
- 產(chǎn)權(quán)回購合同范本
- 公司雇傭會計合同范例
- 買雞合同范本
- 商鋪門面分租合同范本
- 新能源汽車電池與管理系統(tǒng)檢測與維修PPT完整全套教學(xué)課件
- 級2班小組合作學(xué)習(xí)加減分細則
- 綜合交通運輸概論
- 網(wǎng)絡(luò)營銷策劃與文案寫作PPT完整全套教學(xué)課件
- 比亞迪漢DM-i說明書
- 晚熟的人(莫言諾獎后首部作品)
- GA/T 2002-2022多道心理測試通用技術(shù)規(guī)程
- 《玉磨彌蒙鐵路建設(shè)項目標準化管理考核實施辦法》的通知滇南安質(zhì)〔XXXX〕號
- 2022年10月自考00043經(jīng)濟法概論(財經(jīng)類)試題及答案
- 橋梁施工流程圖
評論
0/150
提交評論