




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ATmega128的中斷系統(tǒng)的中斷系統(tǒng) ATmega128的中斷源和中斷向量的中斷源和中斷向量 AVR一般擁有數(shù)十個中斷源,每個中斷源都有獨(dú)立的中斷向量一般擁有數(shù)十個中斷源,每個中斷源都有獨(dú)立的中斷向量。 AVR的程序存儲區(qū)的最低端,即從的程序存儲區(qū)的最低端,即從Flash地址的地址的0 x0000開始開始用于放置中斷向量,稱作中斷向量區(qū)。用于放置中斷向量,稱作中斷向量區(qū)。 各種型號的各種型號的AVR中斷向量區(qū)的大小是不同的,由下式?jīng)Q定:中斷向量區(qū)的大小是不同的,由下式?jīng)Q定:中斷向量區(qū)大小中斷向量區(qū)大小 = 中斷源個數(shù)中斷源個數(shù) 每個中斷向量占據(jù)字?jǐn)?shù)每個中斷向量占據(jù)字?jǐn)?shù) AVR的的21個中斷中
2、,包含個中斷中,包含1個非屏蔽中斷(個非屏蔽中斷(RESET)3個外個外部中斷(部中斷(INT0、INT1、INT2)和)和17個內(nèi)部中斷,個內(nèi)部中斷, 1.外部中斷外部中斷 INT0、INT1和和INT2是是3個外部中斷源,它們是分別由芯片個外部中斷源,它們是分別由芯片外部引腳外部引腳PD2、PD3、PB2上的電平的變化或狀態(tài)觸發(fā)的。通上的電平的變化或狀態(tài)觸發(fā)的。通過對控制寄存器過對控制寄存器MCUCR和控制與狀態(tài)寄存器和控制與狀態(tài)寄存器MCUCSR的配的配置,外部中斷可以定義為由置,外部中斷可以定義為由PD2、PD3、PB2引腳上的電平的引腳上的電平的下降沿、上升沿、邏輯電平變化,或者低電
3、平(下降沿、上升沿、邏輯電平變化,或者低電平(INT2僅支持僅支持電平變化的邊沿觸發(fā))觸發(fā)。電平變化的邊沿觸發(fā))觸發(fā)。3個定時計數(shù)器觸發(fā)的內(nèi)部中斷個定時計數(shù)器觸發(fā)的內(nèi)部中斷 MER2 COMP TIMER2 OVF 定時溢出定時溢出2TIMER1 CAPT 撲捉溢出撲捉溢出1TIMER1 COMPA 定時比較定時比較ATIMER1 COMPB 定時比較定時比較BTIMER1 OVF 定時溢出定時溢出2TIMER0 OVF 定時溢出定時溢出0TIMER0 COMP 定時比較定時比較0同步同步/異步串行接收和轉(zhuǎn)發(fā)器異步串行接收和轉(zhuǎn)發(fā)器USART的內(nèi)部中斷的內(nèi)部中斷USART RXC 接收一個字節(jié)接
4、收一個字節(jié)USART TXC 發(fā)送一個字節(jié)發(fā)送一個字節(jié)USART UDRE 發(fā)送數(shù)據(jù)寄存器為空發(fā)送數(shù)據(jù)寄存器為空 其它內(nèi)部中斷其它內(nèi)部中斷SPI STC為內(nèi)部為內(nèi)部SPI串行接口傳送結(jié)束中斷串行接口傳送結(jié)束中斷ADC為為ADC單元完成一次單元完成一次A/D轉(zhuǎn)換的中斷轉(zhuǎn)換的中斷EE_RDY是片內(nèi)的是片內(nèi)的EEPROM就緒(對就緒(對EEPROM的操作完成)中斷的操作完成)中斷ANA_COMP是由內(nèi)置的模擬比較器輸出引發(fā)的中斷是由內(nèi)置的模擬比較器輸出引發(fā)的中斷TWI為內(nèi)部兩線串行接口的中斷為內(nèi)部兩線串行接口的中斷SPM_RDY是對片內(nèi)的是對片內(nèi)的Flash寫操作完成中斷寫操作完成中斷ATmega1
5、6的中斷控制的中斷控制中斷優(yōu)先級的確定中斷優(yōu)先級的確定1.在在AVR單片機(jī)中,一個中斷在中斷向量區(qū)中的位置決定了單片機(jī)中,一個中斷在中斷向量區(qū)中的位置決定了 它它的優(yōu)先級,位于低地址的中斷優(yōu)先級高于位于高地址的中斷。的優(yōu)先級,位于低地址的中斷優(yōu)先級高于位于高地址的中斷。2AVR單片機(jī)采用固定的硬件優(yōu)先級方式,不支持通過軟件單片機(jī)采用固定的硬件優(yōu)先級方式,不支持通過軟件對中斷優(yōu)先級的重新設(shè)定。對中斷優(yōu)先級的重新設(shè)定。 AVR有兩種機(jī)制不同的中斷:有兩種機(jī)制不同的中斷:帶有中斷標(biāo)志的中斷(可掛起)帶有中斷標(biāo)志的中斷(可掛起)不帶中斷標(biāo)志的中斷(不能掛起)。不帶中斷標(biāo)志的中斷(不能掛起)。中斷標(biāo)志中
6、斷標(biāo)志在在AVR中,大多數(shù)的中斷都屬于帶中斷標(biāo)志的中斷。中,大多數(shù)的中斷都屬于帶中斷標(biāo)志的中斷。 中斷標(biāo)志概念中斷標(biāo)志概念 每個中斷源在其每個中斷源在其I/O空間寄存器中具有自己的一個中斷標(biāo)志位??臻g寄存器中具有自己的一個中斷標(biāo)志位。AVR的硬件系統(tǒng)在每個時鐘周期內(nèi)都會檢測(接受)外部(內(nèi)的硬件系統(tǒng)在每個時鐘周期內(nèi)都會檢測(接受)外部(內(nèi)部)中斷源的中斷條件。一旦中斷條件滿足,部)中斷源的中斷條件。一旦中斷條件滿足,AVR的硬件就會的硬件就會將置位相應(yīng)的中斷標(biāo)志位(置為將置位相應(yīng)的中斷標(biāo)志位(置為“1”),表示向),表示向MCU提起中斷提起中斷請求。請求。中斷標(biāo)志清除中斷標(biāo)志清除中斷標(biāo)志位一般
7、在中斷標(biāo)志位一般在MCU響應(yīng)該中斷時,由響應(yīng)該中斷時,由硬件自動清除硬件自動清除,或在,或在中斷服務(wù)程序中通過中斷服務(wù)程序中通過讀讀/寫專門數(shù)據(jù)寄存器寫專門數(shù)據(jù)寄存器的方式自動清除。的方式自動清除。中斷標(biāo)志位除了由硬件自動清除外也可以使用軟件指令清除,中斷標(biāo)志位除了由硬件自動清除外也可以使用軟件指令清除,注意:如用注意:如用軟件方法清除軟件方法清除,清除的方法是對其寫,清除的方法是對其寫“1”。 不帶(不設(shè)置)中斷標(biāo)志的中斷:不帶(不設(shè)置)中斷標(biāo)志的中斷:如配置為低電平觸發(fā)的外部中斷即為此類型的中斷如配置為低電平觸發(fā)的外部中斷即為此類型的中斷低電平中斷的重要應(yīng)用是喚醒處于休眠工作模式的MCU。
8、 三、中斷屏蔽與管理三、中斷屏蔽與管理 為全局中斷允許控制位:為全局中斷允許控制位:中斷允許的總控制位中斷允許的總控制位I(標(biāo)志寄存器(標(biāo)志寄存器SREG中的中的I標(biāo)志位標(biāo)志位SREG.7)每一個中斷源都設(shè)置了獨(dú)立的中斷允許位每一個中斷源都設(shè)置了獨(dú)立的中斷允許位 AVR對中斷采用兩級控制方式。對中斷采用兩級控制方式。這些中斷允許位分散位于各中斷源所屬模塊的控制寄存器中。這些中斷允許位分散位于各中斷源所屬模塊的控制寄存器中。AVR響應(yīng)一個可屏蔽中斷源(假定為響應(yīng)一個可屏蔽中斷源(假定為A中斷)的中斷的條件是:中斷)的中斷的條件是:1.響應(yīng)響應(yīng)A中斷中斷 = 全局中斷允許標(biāo)志全局中斷允許標(biāo)志 AN
9、D 中斷中斷A允許標(biāo)志允許標(biāo)志 AND 中斷中斷A標(biāo)志標(biāo)志2.AVR復(fù)位后,各個中斷允許位以及全局中斷允許位均被清零,這保證了復(fù)位后,各個中斷允許位以及全局中斷允許位均被清零,這保證了程序在開始執(zhí)行時(一般程序開頭是對芯片內(nèi)部以及外圍系統(tǒng)的初始化配置)程序在開始執(zhí)行時(一般程序開頭是對芯片內(nèi)部以及外圍系統(tǒng)的初始化配置)不會受到中斷的干擾。不會受到中斷的干擾。3.在在AVR復(fù)位后的用戶初始化程序中,需要先對需要使用的中斷源進(jìn)行必復(fù)位后的用戶初始化程序中,需要先對需要使用的中斷源進(jìn)行必要的配置。待系統(tǒng)初始化過程結(jié)束后再置位要的配置。待系統(tǒng)初始化過程結(jié)束后再置位I,使系統(tǒng)進(jìn)入正常的工作狀態(tài),使系統(tǒng)進(jìn)
10、入正常的工作狀態(tài),開始響應(yīng)中斷請求。開始響應(yīng)中斷請求。由于由于AVR在響應(yīng)一個中斷的過程中通過硬件將在響應(yīng)一個中斷的過程中通過硬件將I標(biāo)志位自動清零,標(biāo)志位自動清零,這樣就阻止了這樣就阻止了MCU響應(yīng)其它中斷。因此通常情況下,響應(yīng)其它中斷。因此通常情況下,AVR是不是不能自動實(shí)現(xiàn)中斷嵌套的。如要系統(tǒng)中必須要實(shí)現(xiàn)中斷嵌套的應(yīng)能自動實(shí)現(xiàn)中斷嵌套的。如要系統(tǒng)中必須要實(shí)現(xiàn)中斷嵌套的應(yīng)用,用戶可在中斷服務(wù)程序中使用指令將全局中斷允許位開放,用,用戶可在中斷服務(wù)程序中使用指令將全局中斷允許位開放,通過間接的方式實(shí)現(xiàn)中斷的嵌套處理。通過間接的方式實(shí)現(xiàn)中斷的嵌套處理。四、中斷嵌套四、中斷嵌套 外部中斷觸發(fā)方式
11、和特點(diǎn)外部中斷觸發(fā)方式和特點(diǎn) INT0、INT1、INT2的中斷觸發(fā)方式取決于用戶程序?qū)Φ闹袛嘤|發(fā)方式取決于用戶程序?qū)CU控制寄存器控制寄存器MCUCR以及以及MCU控制與狀態(tài)寄存器控制與狀態(tài)寄存器MCUCSR的設(shè)定。其中,的設(shè)定。其中,INT0和和INT1支持支持4種中斷觸發(fā)方式,種中斷觸發(fā)方式,INT2支持支持2種。種。 任意電平變化觸發(fā)表示只要引腳上有邏輯電平的變化就會任意電平變化觸發(fā)表示只要引腳上有邏輯電平的變化就會產(chǎn)生中斷申請(不管是上升沿還是下降沿都引起中斷觸發(fā))產(chǎn)生中斷申請(不管是上升沿還是下降沿都引起中斷觸發(fā)) 4種觸發(fā)方式中,還有以下的一些不同的特點(diǎn):種觸發(fā)方式中,還有以下
12、的一些不同的特點(diǎn):低電平觸發(fā)是不帶中斷標(biāo)志類型的,即只要中斷輸入引腳低電平觸發(fā)是不帶中斷標(biāo)志類型的,即只要中斷輸入引腳PD2或或PD3保持低電平,那么將一直會產(chǎn)生中斷申請。保持低電平,那么將一直會產(chǎn)生中斷申請。2.MCU對對INT0和和INT1的引腳上的上升沿或下降沿變化的識別的引腳上的上升沿或下降沿變化的識別(觸發(fā)),需要(觸發(fā)),需要I/O時鐘信號的存在(由時鐘信號的存在(由I/O時鐘同步檢測),時鐘同步檢測),屬于同步邊沿觸發(fā)的中斷類型。屬于同步邊沿觸發(fā)的中斷類型。3.MCU對對INT2的引腳上的上升沿或下降沿變化的識別(觸的引腳上的上升沿或下降沿變化的識別(觸發(fā)),以及低電平的識別(觸
13、發(fā))是通過異步方式檢測的,不發(fā)),以及低電平的識別(觸發(fā))是通過異步方式檢測的,不需要需要I/O時鐘信號的存在。因此,這類觸發(fā)類型的中斷經(jīng)常作時鐘信號的存在。因此,這類觸發(fā)類型的中斷經(jīng)常作為外部喚醒源,用于將處在為外部喚醒源,用于將處在Idle休眠模式,以及處在各種其它休眠模式,以及處在各種其它休眠模式的休眠模式的MCU喚醒。這是由于除了在空閑(喚醒。這是由于除了在空閑(Idel)模式時,)模式時,I/O時鐘信號還保持繼續(xù)工作,在其它各種休眠模式下,時鐘信號還保持繼續(xù)工作,在其它各種休眠模式下,I/O時時鐘信號均是處在暫停狀態(tài)的。鐘信號均是處在暫停狀態(tài)的。4.如果使用低電平觸發(fā)方式的中斷作為喚
14、醒源,將如果使用低電平觸發(fā)方式的中斷作為喚醒源,將MCU從掉電從掉電模式(模式(Power-down)中喚醒時,電平拉低后仍需要維持一段時)中喚醒時,電平拉低后仍需要維持一段時間才能將間才能將MCU喚醒,這是為了提高了喚醒,這是為了提高了MCU的抗噪性能。拉低的的抗噪性能。拉低的觸發(fā)電平將由看門狗的時鐘信號采樣兩次(在通常的觸發(fā)電平將由看門狗的時鐘信號采樣兩次(在通常的5V電源和電源和25時,看門狗的時鐘周期為時,看門狗的時鐘周期為1s)。如果電平拉低保持)。如果電平拉低保持2次采樣次采樣周期的時間,或者一直保持到周期的時間,或者一直保持到MCU啟動延時(啟動延時(start-up time)
15、過)過程之后,程之后,MCU將被喚醒并進(jìn)入中斷服務(wù)。如果該電平的保持時將被喚醒并進(jìn)入中斷服務(wù)。如果該電平的保持時間能夠滿足看門狗時鐘的兩次采樣,但在啟動延時(間能夠滿足看門狗時鐘的兩次采樣,但在啟動延時(start-up time)過程完成之前就消失了,那么)過程完成之前就消失了,那么MCU仍將被喚醒,但不會仍將被喚醒,但不會觸發(fā)中斷進(jìn)入中斷服務(wù)程序。所以,為了保證既能將觸發(fā)中斷進(jìn)入中斷服務(wù)程序。所以,為了保證既能將MCU喚醒,喚醒,又能觸發(fā)中斷,中斷觸發(fā)電平必須維持足夠長的時間。又能觸發(fā)中斷,中斷觸發(fā)電平必須維持足夠長的時間。5.如果設(shè)置了允許響應(yīng)外部中斷的請求如果設(shè)置了允許響應(yīng)外部中斷的請
16、求,則即便是引腳則即便是引腳PD2、PD3、PB2設(shè)置為輸出方式工作設(shè)置為輸出方式工作,引腳上的電平變化也會產(chǎn)生外部中斷引腳上的電平變化也會產(chǎn)生外部中斷觸發(fā)請求。這一特性為用戶提供了使用軟件產(chǎn)生中斷的途徑。觸發(fā)請求。這一特性為用戶提供了使用軟件產(chǎn)生中斷的途徑。與外部中斷相關(guān)的寄存器和標(biāo)志位與外部中斷相關(guān)的寄存器和標(biāo)志位 在在ATmega16中,與外部中斷有關(guān)的寄存器有中,與外部中斷有關(guān)的寄存器有4個,共有個,共有11個標(biāo)志位。其作用分別是個標(biāo)志位。其作用分別是3個外部中斷各自的個外部中斷各自的中斷標(biāo)志位,中斷中斷標(biāo)志位,中斷允許控制位,允許控制位,和用于和用于定義外部中斷的觸發(fā)類型定義外部中斷
17、的觸發(fā)類型。 1) MCU中斷方式控制寄存器中斷方式控制寄存器MCUCR MCU控制寄存器控制寄存器MCUCR的低的低4位為位為INT0(ISC01、ISC00)和)和INT1(ISC11、ISC10)中斷觸發(fā)類型控制位)中斷觸發(fā)類型控制位 MCU對對INT0、INT1引腳上電平值的采樣在邊沿檢測前。引腳上電平值的采樣在邊沿檢測前。1.如果選擇脈沖邊沿觸發(fā)或電平變化中斷的方式如果選擇脈沖邊沿觸發(fā)或電平變化中斷的方式,那么在,那么在INT0、INT1引腳上的一個脈寬大于一個時鐘周期的脈沖變化將觸發(fā)中引腳上的一個脈寬大于一個時鐘周期的脈沖變化將觸發(fā)中斷,過短的脈沖則不能保證觸發(fā)中斷。斷,過短的脈沖
18、則不能保證觸發(fā)中斷。2.如果選擇低電平觸發(fā)中斷,如果選擇低電平觸發(fā)中斷,那么低電平必須保持到當(dāng)前指令那么低電平必須保持到當(dāng)前指令執(zhí)行完成才觸發(fā)中斷。如果是低電平觸發(fā)方式的話,中斷請求執(zhí)行完成才觸發(fā)中斷。如果是低電平觸發(fā)方式的話,中斷請求將一直保持到引腳上的低電平消失為止。將一直保持到引腳上的低電平消失為止。2)MCU控制和狀態(tài)寄存器控制和狀態(tài)寄存器MCUCSR MCU控制和狀態(tài)寄存器控制和狀態(tài)寄存器MCUCSR中的第中的第6位(位(ISC2)為)為INT2的中斷觸發(fā)類型控制位的中斷觸發(fā)類型控制位 3)通用中斷允許控制寄存器)通用中斷允許控制寄存器 GICR 通用中斷控制寄存器通用中斷控制寄存器
19、GICR的高的高3位為位為INT0、INT1和和INT2的中斷允許控制位的中斷允許控制位 。GICR寄存器中相應(yīng)的中斷允許位被置為寄存器中相應(yīng)的中斷允許位被置為“1”,當(dāng)外部引腳,當(dāng)外部引腳INT0(或(或INT1、或、或INT2)上的電平變化時,)上的電平變化時,MCU將會響應(yīng)相應(yīng)的中斷請求。將會響應(yīng)相應(yīng)的中斷請求。 4) 通用中斷標(biāo)志寄存器通用中斷標(biāo)志寄存器GIFR中斷標(biāo)志寄存器中斷標(biāo)志寄存器GIFR的高的高3位為位為INT0、INT1和和INT2的中斷標(biāo)志位的中斷標(biāo)志位 當(dāng)當(dāng)INT2.0引腳上的有效事件滿足中斷觸發(fā)條件后,引腳上的有效事件滿足中斷觸發(fā)條件后,INTF2.0位會變成位會變成
20、“1”。如果此時。如果此時SREG寄存器中寄存器中I = 1,以及,以及GICR寄存器中的寄存器中的INTn被置為被置為“1”,MCU將響應(yīng)中斷請求,將響應(yīng)中斷請求,跳至相應(yīng)的中斷向量處開始執(zhí)行中斷服務(wù)程序,同時硬件自動跳至相應(yīng)的中斷向量處開始執(zhí)行中斷服務(wù)程序,同時硬件自動將將INTFn標(biāo)志位清零。標(biāo)志位清零。 用戶可以使用指令將用戶可以使用指令將INTFn清除,清除的方式是寫邏輯清除,清除的方式是寫邏輯“1”到到INTFn,將標(biāo)志清零。當(dāng),將標(biāo)志清零。當(dāng)INT0(INT1)設(shè)置為低電平觸發(fā)方式時,)設(shè)置為低電平觸發(fā)方式時,標(biāo)志位標(biāo)志位INTF0(INTF1)始終為)始終為“0”,這并不意味著
21、不產(chǎn)生中斷請,這并不意味著不產(chǎn)生中斷請求,而是低電平觸發(fā)方式是不帶中斷標(biāo)志類型的中斷觸發(fā)。求,而是低電平觸發(fā)方式是不帶中斷標(biāo)志類型的中斷觸發(fā)。 在系統(tǒng)程序的初始化部分中對外部中斷進(jìn)行設(shè)置時(定在系統(tǒng)程序的初始化部分中對外部中斷進(jìn)行設(shè)置時(定義或改變觸發(fā)方式),應(yīng)先將義或改變觸發(fā)方式),應(yīng)先將GICR寄存器中該中斷的中斷允寄存器中該中斷的中斷允許位清零,禁止許位清零,禁止MCU響應(yīng)該中斷后再設(shè)置響應(yīng)該中斷后再設(shè)置ISCn位。位。 而在開放中斷允許前,一般應(yīng)通過向而在開放中斷允許前,一般應(yīng)通過向GIFR寄存器中的寄存器中的中斷標(biāo)志位中斷標(biāo)志位INTFn寫入邏輯寫入邏輯“1”,將該中斷的中斷標(biāo)志位清
22、,將該中斷的中斷標(biāo)志位清除,然后開放中斷。這樣可以防止在改變除,然后開放中斷。這樣可以防止在改變ISCn的過程中誤觸的過程中誤觸發(fā)中斷。發(fā)中斷。中斷服務(wù)程序的編寫中斷服務(wù)程序的編寫中斷服務(wù)程序的編寫中斷服務(wù)程序的編寫編寫中斷服務(wù)程序的兩個基本原則:編寫中斷服務(wù)程序的兩個基本原則: 1.全面、仔細(xì)考慮中斷現(xiàn)場的保護(hù)和恢復(fù)。全面、仔細(xì)考慮中斷現(xiàn)場的保護(hù)和恢復(fù)。2.中斷服務(wù)程序應(yīng)盡可能的短中斷服務(wù)程序應(yīng)盡可能的短 不同高級語言開發(fā)環(huán)境中對編寫中斷服務(wù)程序的語法規(guī)則不同高級語言開發(fā)環(huán)境中對編寫中斷服務(wù)程序的語法規(guī)則和處理方法是不同的。用戶在編寫中斷服務(wù)程序前,應(yīng)對所使和處理方法是不同的。用戶在編寫中斷
23、服務(wù)程序前,應(yīng)對所使用開發(fā)平臺,中斷程序的編寫方法,中斷的處理方法等有較好用開發(fā)平臺,中斷程序的編寫方法,中斷的處理方法等有較好的了解。的了解。 使用使用ICCAVR等高級語言編寫中斷服務(wù)程序時,用戶通常等高級語言編寫中斷服務(wù)程序時,用戶通常不必考慮中斷現(xiàn)場保護(hù)和恢復(fù)的處理,這是由于編譯器在編譯不必考慮中斷現(xiàn)場保護(hù)和恢復(fù)的處理,這是由于編譯器在編譯中斷服務(wù)程序的源代碼時,會在生成的目標(biāo)代碼中自動加入相中斷服務(wù)程序的源代碼時,會在生成的目標(biāo)代碼中自動加入相應(yīng)的中斷現(xiàn)場保護(hù)和恢復(fù)的指令,同時自動采用應(yīng)的中斷現(xiàn)場保護(hù)和恢復(fù)的指令,同時自動采用RETI指令作指令作為中斷服務(wù)的返回指令。為中斷服務(wù)的返回
24、指令。 在在ICCAVRR中,只要用中,只要用#pragma 偽指令和中斷向量說明偽指令和中斷向量說明中斷服務(wù)程序的入口地址。中斷服務(wù)程序的入口地址。中斷服務(wù)函數(shù)按以下格式定義:中斷服務(wù)函數(shù)按以下格式定義:#pragma interrupt_handler #pragma interrupt_handler : 如:如:INT0中斷服務(wù)程序中斷服務(wù)程序#pragma interrupt_handler int0_isr:2void int0_isr(void) 中斷服務(wù)程序中斷服務(wù)程序 C編譯器會自動幫助用戶產(chǎn)生正確的中斷向量處的以及初編譯器會自動幫助用戶產(chǎn)生正確的中斷向量處的以及初始化堆棧指
25、針的代碼,同時在中斷服務(wù)程序中自動生成中斷現(xiàn)始化堆棧指針的代碼,同時在中斷服務(wù)程序中自動生成中斷現(xiàn)場保護(hù)和恢復(fù)(函數(shù)中用到的全部寄存器保護(hù))及使用場保護(hù)和恢復(fù)(函數(shù)中用到的全部寄存器保護(hù))及使用RETI指令返回。指令返回。圖中使用了兩個按鍵圖中使用了兩個按鍵K1、K2,按鍵的,按鍵的一端分別與一端分別與PD2(INT0)、)、PD3(INT1)連接。)連接。INT0和和INT1作為外部作為外部中斷的輸入,采用電平變化的下降沿觸中斷的輸入,采用電平變化的下降沿觸發(fā)方式,當(dāng)發(fā)方式,當(dāng)K1(K2)按下時,會在)按下時,會在PD2(PD3)引腳上產(chǎn)生一個高電平到)引腳上產(chǎn)生一個高電平到低電平的跳變,觸
26、發(fā)低電平的跳變,觸發(fā)INT0或或INT1中斷。中斷。外部中斷應(yīng)用實(shí)例外部中斷應(yīng)用實(shí)例硬件電路硬件電路 應(yīng)用中斷應(yīng)舉例:應(yīng)用中斷應(yīng)舉例:定時掃描數(shù)碼管定時掃描數(shù)碼管,INT0、INT1按鍵下降沿出發(fā)中斷按鍵下降沿出發(fā)中斷,使鍵值分別加減使鍵值分別加減1/* 功功 能能: INT0中斷函數(shù),使鍵值加中斷函數(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ù),使鍵值減中斷函數(shù),使鍵值減1 */#pragma interrupt_handler Int1_isr:3void Int1_isr(void) delay_nms(20); /延時大約延時大
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSM 0052-2024“領(lǐng)跑者”評價技術(shù)要求 普通型立式帶鋸床
- T-ZSA 227-2024 低慢小無人駕駛航空器車載式預(yù)警處置系統(tǒng)
- 2025年度村級林業(yè)資源監(jiān)測村級護(hù)林員職責(zé)合同
- 2025年度美甲服務(wù)連鎖品牌合作協(xié)議
- 二零二五年度汽車維修保養(yǎng)抵押借款合同
- 2025年度美發(fā)店員工勞動合同及員工福利政策
- 二零二五年度個人心理咨詢服務(wù)合同
- 2025年度消防車輛抵押借款合同范本
- 二零二五年度直播平臺用戶行為數(shù)據(jù)分析合同
- 2025年度石材石材加工定制采購協(xié)議
- 2024年湖南省岳陽市中考數(shù)學(xué)一模試卷
- DZ∕T 0080-2010 煤炭地球物理測井規(guī)范(正式版)
- 2024年國家公務(wù)員考試時事政治必考試題庫(完整版)
- 否定副詞“不”和“沒有”比較研究
- 售樓部銷售禮儀培訓(xùn)內(nèi)容
- (高清版)DZT 0347-2020 礦山閉坑地質(zhì)報告編寫規(guī)范
- 2024年不停電電源UPS相關(guān)項(xiàng)目營銷計劃書
- 重汽重卡培訓(xùn)課件
- 干式變壓器培訓(xùn)課件
- 公司SWOT分析表模板
- 2023年上海中考語文試卷(附答案)
評論
0/150
提交評論