第6章STM8中斷控制系統(tǒng)_第1頁
第6章STM8中斷控制系統(tǒng)_第2頁
第6章STM8中斷控制系統(tǒng)_第3頁
第6章STM8中斷控制系統(tǒng)_第4頁
第6章STM8中斷控制系統(tǒng)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第6章STM8中斷控制系統(tǒng)6.1CPU與外設(shè)通信方式概述與外設(shè)通信方式概述6.1.1查詢方式查詢方式6.1.2中斷通信方式中斷通信方式6.2STM8S中斷系統(tǒng)中斷系統(tǒng)6.2.1中斷源及其優(yōu)先級(jí)中斷源及其優(yōu)先級(jí)6.2.2中斷響應(yīng)條件與處理過程中斷響應(yīng)條件與處理過程6.2.3外中斷源及其初始化外中斷源及其初始化6.2.4中斷服務(wù)程序結(jié)構(gòu)中斷服務(wù)程序結(jié)構(gòu)廣東工業(yè)大學(xué)物理與光電工程學(xué)院6.1 CPU與外設(shè)通信方式概述外設(shè)與CPU之間的通信方式有三種:查詢方式中斷方式直接存儲(chǔ)器存?。―MA)方式。廣東工業(yè)大學(xué)物理與光電工程學(xué)院6.1.1 查詢方式查詢方式查詢方式包括查詢輸出方式和查詢輸入方式。包括查詢輸

2、出方式和查詢輸入方式。所謂所謂查詢輸入方式查詢輸入方式,是指,是指CPU讀外設(shè)數(shù)據(jù)前,讀外設(shè)數(shù)據(jù)前,先查詢外設(shè)是否處于準(zhǔn)備就緒狀態(tài)(即外設(shè)是先查詢外設(shè)是否處于準(zhǔn)備就緒狀態(tài)(即外設(shè)是否已將數(shù)據(jù)輸出到否已將數(shù)據(jù)輸出到CPU的數(shù)據(jù)總線上);的數(shù)據(jù)總線上);查詢查詢輸出方式輸出方式是指是指CPU向外設(shè)輸出數(shù)據(jù)前,先查詢向外設(shè)輸出數(shù)據(jù)前,先查詢外設(shè)是否處于空閑狀態(tài)(即外設(shè)是否可以接收外設(shè)是否處于空閑狀態(tài)(即外設(shè)是否可以接收CPU輸出的數(shù)據(jù))。輸出的數(shù)據(jù))。下面以下面以CPU向外設(shè)輸出數(shù)據(jù)為例,簡要介紹查向外設(shè)輸出數(shù)據(jù)為例,簡要介紹查詢傳輸方式的工作過程:當(dāng)詢傳輸方式的工作過程:當(dāng)CPU需要需要向外設(shè)輸向

3、外設(shè)輸出數(shù)據(jù)時(shí),先將控制命令(如外設(shè)的啟動(dòng)命令)出數(shù)據(jù)時(shí),先將控制命令(如外設(shè)的啟動(dòng)命令)寫入外設(shè)的控制端口,然后不斷讀外設(shè)的狀態(tài)寫入外設(shè)的控制端口,然后不斷讀外設(shè)的狀態(tài)口,當(dāng)發(fā)現(xiàn)外設(shè)處于空閑狀態(tài)后,就將數(shù)據(jù)寫口,當(dāng)發(fā)現(xiàn)外設(shè)處于空閑狀態(tài)后,就將數(shù)據(jù)寫入外設(shè)的數(shù)據(jù)口,完成數(shù)據(jù)的輸出過程。入外設(shè)的數(shù)據(jù)口,完成數(shù)據(jù)的輸出過程。廣東工業(yè)大學(xué)物理與光電工程學(xué)院廣東工業(yè)大學(xué)物理與光電工程學(xué)院查詢方式優(yōu)缺點(diǎn)查詢方式優(yōu)缺點(diǎn):硬件開銷少、傳輸程序簡單,但缺點(diǎn)是硬件開銷少、傳輸程序簡單,但缺點(diǎn)是CPU占用率高,因?yàn)樵谕庠O(shè)未準(zhǔn)備就緒或處于非空閑占用率高,因?yàn)樵谕庠O(shè)未準(zhǔn)備就緒或處于非空閑狀態(tài)前,狀態(tài)前,CPU一直處于

4、查詢狀態(tài),不能執(zhí)行其他一直處于查詢狀態(tài),不能執(zhí)行其他操作,任何時(shí)候也只能與一個(gè)外設(shè)進(jìn)行數(shù)據(jù)交換。操作,任何時(shí)候也只能與一個(gè)外設(shè)進(jìn)行數(shù)據(jù)交換。6.1.2中斷通信方式采用中斷傳輸方式就可以克服查詢傳輸方式存在的缺陷:采用中斷傳輸方式就可以克服查詢傳輸方式存在的缺陷:當(dāng)當(dāng)CPU需要向外設(shè)輸出數(shù)據(jù)時(shí),將啟動(dòng)命令寫入外設(shè)控需要向外設(shè)輸出數(shù)據(jù)時(shí),將啟動(dòng)命令寫入外設(shè)控制口后,就繼續(xù)執(zhí)行隨后的指令序列,而不是被動(dòng)等待;制口后,就繼續(xù)執(zhí)行隨后的指令序列,而不是被動(dòng)等待;當(dāng)外設(shè)處于空閑狀態(tài),可以接收數(shù)據(jù)時(shí),由外設(shè)向當(dāng)外設(shè)處于空閑狀態(tài),可以接收數(shù)據(jù)時(shí),由外設(shè)向CPU發(fā)出允許數(shù)據(jù)傳送的請(qǐng)求信號(hào)發(fā)出允許數(shù)據(jù)傳送的請(qǐng)求信

5、號(hào)即即中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào),如,如果滿足中斷響應(yīng)條件,果滿足中斷響應(yīng)條件,CPU將暫停執(zhí)行隨后的指令序列,將暫停執(zhí)行隨后的指令序列,轉(zhuǎn)去執(zhí)行預(yù)先安排好的數(shù)據(jù)傳送程序轉(zhuǎn)去執(zhí)行預(yù)先安排好的數(shù)據(jù)傳送程序稱為稱為中斷服務(wù)中斷服務(wù)程序程序,CPU響應(yīng)外設(shè)中斷請(qǐng)求的過程簡稱為響應(yīng)外設(shè)中斷請(qǐng)求的過程簡稱為中斷響應(yīng)中斷響應(yīng);待完成了數(shù)據(jù)傳送后,再返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行被中斷了待完成了數(shù)據(jù)傳送后,再返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行被中斷了的程序的程序這一過程稱為這一過程稱為中斷返回中斷返回??梢?,在這種方式??梢姡谶@種方式中,中,CPU發(fā)出控制命令后,將繼續(xù)執(zhí)行控制命令后的指發(fā)出控制命令后,將繼續(xù)執(zhí)行控制命令后的指令序列,

6、而不是通過檢測外設(shè)的狀態(tài)來確定外設(shè)是否處令序列,而不是通過檢測外設(shè)的狀態(tài)來確定外設(shè)是否處于空閑狀態(tài),這不僅提高了于空閑狀態(tài),這不僅提高了CPU的利用率,而且能同時(shí)的利用率,而且能同時(shí)與多個(gè)外設(shè)進(jìn)行數(shù)據(jù)交換與多個(gè)外設(shè)進(jìn)行數(shù)據(jù)交換只要合理安排相應(yīng)中斷的只要合理安排相應(yīng)中斷的優(yōu)先級(jí)以及同優(yōu)先級(jí)中斷的查詢順序即可。因此,優(yōu)先級(jí)以及同優(yōu)先級(jí)中斷的查詢順序即可。因此,中斷中斷傳輸方式是傳輸方式是CPU與外設(shè)之間最常見的一種數(shù)據(jù)傳輸方式。與外設(shè)之間最常見的一種數(shù)據(jù)傳輸方式。廣東工業(yè)大學(xué)物理與光電工程學(xué)院2022-5-24廣東工業(yè)大學(xué)物理與光電工程學(xué)院1. 中斷源 在計(jì)算機(jī)控制系統(tǒng)中,把引起中斷的事件稱為中斷

7、在計(jì)算機(jī)控制系統(tǒng)中,把引起中斷的事件稱為中斷源。在單片機(jī)控制系統(tǒng)中,常見的中斷源有:源。在單片機(jī)控制系統(tǒng)中,常見的中斷源有:1. 1.外部中斷外部中斷,如,如CPUCPU某些特定引腳電平變化引起的中斷某些特定引腳電平變化引起的中斷。2. 2.各各類定時(shí)類定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器溢出溢出中斷中斷即即定時(shí)時(shí)間到或計(jì)數(shù)器滿中斷)定時(shí)時(shí)間到或計(jì)數(shù)器滿中斷)。3. 3.EEPROMEEPROM或或FlashRomFlashRom操作(擦除、寫入)結(jié)束中斷。操作(擦除、寫入)結(jié)束中斷。4. 4.ADAD轉(zhuǎn)換結(jié)束中斷轉(zhuǎn)換結(jié)束中斷。5. 5. 串行串行發(fā)送結(jié)束中斷發(fā)送結(jié)束中斷。6. 6. 串行串行接收有效中斷接

8、收有效中斷。7. 7.電源電源掉電中斷掉電中斷。 2022-5-24廣東工業(yè)大學(xué)物理與光電工程學(xué)院2.中斷優(yōu)先級(jí) 當(dāng)多個(gè)外設(shè)以中斷方式與當(dāng)多個(gè)外設(shè)以中斷方式與CPU進(jìn)行數(shù)據(jù)交換時(shí),進(jìn)行數(shù)據(jù)交換時(shí),可能遇到兩個(gè)或兩個(gè)以上外設(shè)可能遇到兩個(gè)或兩個(gè)以上外設(shè)中斷請(qǐng)求同時(shí)有效中斷請(qǐng)求同時(shí)有效的的情形。在這種情況下,情形。在這種情況下,CPU先響應(yīng)哪一外設(shè)的中斷先響應(yīng)哪一外設(shè)的中斷請(qǐng)求?這就涉及到中斷優(yōu)先級(jí)問題。一般說來,為請(qǐng)求?這就涉及到中斷優(yōu)先級(jí)問題。一般說來,為了能夠處理多個(gè)中斷請(qǐng)求,中斷控制系統(tǒng)均提供中了能夠處理多個(gè)中斷請(qǐng)求,中斷控制系統(tǒng)均提供中斷優(yōu)先級(jí)控制。有了中斷優(yōu)先級(jí)控制后,就可以解斷優(yōu)先級(jí)控

9、制。有了中斷優(yōu)先級(jí)控制后,就可以解決多個(gè)中斷請(qǐng)求同時(shí)有效時(shí),先響應(yīng)哪一請(qǐng)求中斷決多個(gè)中斷請(qǐng)求同時(shí)有效時(shí),先響應(yīng)哪一請(qǐng)求中斷問題,以及高優(yōu)先級(jí)中斷請(qǐng)求可中斷低優(yōu)先級(jí)中斷問題,以及高優(yōu)先級(jí)中斷請(qǐng)求可中斷低優(yōu)先級(jí)中斷處理進(jìn)程,實(shí)現(xiàn)中斷嵌套。處理進(jìn)程,實(shí)現(xiàn)中斷嵌套。中斷請(qǐng)求中斷請(qǐng)求中斷請(qǐng)求中斷請(qǐng)求2022-5-24廣東工業(yè)大學(xué)物理與光電工程學(xué)院3.中斷開關(guān)中斷開關(guān)有時(shí)為避免某一處理過程被中斷,中斷控制器有時(shí)為避免某一處理過程被中斷,中斷控制器給每一個(gè)中斷源都設(shè)置了一個(gè)中斷請(qǐng)求屏蔽位,用給每一個(gè)中斷源都設(shè)置了一個(gè)中斷請(qǐng)求屏蔽位,用于屏蔽(即禁止)相應(yīng)中斷源的中斷請(qǐng)求,當(dāng)某一于屏蔽(即禁止)相應(yīng)中斷源的中

10、斷請(qǐng)求,當(dāng)某一中斷源的中斷請(qǐng)求處于禁止?fàn)顟B(tài)時(shí),即使該中斷請(qǐng)中斷源的中斷請(qǐng)求處于禁止?fàn)顟B(tài)時(shí),即使該中斷請(qǐng)求有效,求有效,CPU也不響應(yīng),相當(dāng)于中斷源的中斷開關(guān)。也不響應(yīng),相當(dāng)于中斷源的中斷開關(guān)。此外,還設(shè)一個(gè)總的中斷請(qǐng)求屏蔽位,當(dāng)該位處于此外,還設(shè)一個(gè)總的中斷請(qǐng)求屏蔽位,當(dāng)該位處于禁止?fàn)顟B(tài)時(shí),禁止?fàn)顟B(tài)時(shí),CPU忽略所有中斷源的中斷請(qǐng)求,相忽略所有中斷源的中斷請(qǐng)求,相當(dāng)于中斷源總開關(guān)。當(dāng)于中斷源總開關(guān)。RIM(開中斷開中斷),SIM(關(guān)中斷關(guān)中斷)、中斷處理過程、中斷處理過程中斷處理過程涉及中斷處理過程涉及中斷查詢中斷查詢和和響應(yīng)響應(yīng)兩個(gè)方面。兩個(gè)方面。6.2STM8S中斷系統(tǒng)6.2.1中斷源及其

11、優(yōu)先級(jí)中斷源及其優(yōu)先級(jí)6.2.2中斷響應(yīng)條件與處理過程中斷響應(yīng)條件與處理過程6.2.3外中斷源及其初始化外中斷源及其初始化6.2.4中斷服務(wù)程序結(jié)構(gòu)中斷服務(wù)程序結(jié)構(gòu)廣東工業(yè)大學(xué)物理與光電工程學(xué)院6.2.1中斷源及其優(yōu)先級(jí)STM8中斷控制器處理2種類型的中斷源:不可屏蔽的中斷: RESET,TLI和 TRAP可屏蔽中斷:外部中斷或者內(nèi)嵌的外設(shè)中斷。不可屏蔽中斷源 不可屏蔽中斷不會(huì)考慮CC寄存器的I1和I0的狀態(tài)。僅僅當(dāng)TRAP中斷發(fā)生時(shí)候?qū)C,X,Y,A和 CC寄存器的內(nèi)容壓棧。相應(yīng)的向量載入到PC寄存器中同時(shí)置位I1和I0位禁止中斷(3級(jí)優(yōu)先級(jí))。STM8S支持32個(gè)中斷個(gè)中斷,中斷服務(wù)程序

12、入口地址稱為中斷向量中斷向量,放在8000H807FH之間。每個(gè)中斷向量占個(gè)字節(jié),共x32(128字節(jié))。中斷服務(wù)程序可放在16MB任一存儲(chǔ)區(qū)。廣東工業(yè)大學(xué)物理與光電工程學(xué)院廣東工業(yè)大學(xué)物理與光電工程學(xué)院中斷向中斷向 量量號(hào)號(hào)中斷源中斷源描述描述從停機(jī)從停機(jī)(Halt) 模式模式 喚喚醒功能醒功能從活躍停機(jī)從活躍停機(jī)(ActiveHalt)模式喚模式喚醒醒功能功能向量地址向量地址RESET復(fù)位復(fù)位是是是是8000hTRAP軟件中斷軟件中斷8004h0TLI外部最高級(jí)中斷外部最高級(jí)中斷8008h1AWU自動(dòng)喚醒自動(dòng)喚醒HALT模式中斷模式中斷是是800Ch2CLK時(shí)鐘控制器時(shí)鐘控制器8010h3

13、EXTI0端口端口A外部中斷外部中斷是是是是8014h4EXTI1端口端口B外部中斷外部中斷是是是是8018h5EXTI2端口端口C外部中斷外部中斷是是是是801Ch6EXTI3端口端口D外部中斷外部中斷是是是是8020h7EXTI4端口端口E外部中斷外部中斷是是是是8024h8CANCAN RX 中斷中斷是是是是8028h9CANCAN TX/ER/SC 中斷中斷802Ch10SPI發(fā)送完成發(fā)送完成是是是是8030h11TM1更新更新/上溢出上溢出/下下溢出溢出/觸發(fā)觸發(fā)/剎車剎車8034h12TM1捕獲捕獲/比較比較8038h13TM2更新更新/上溢出上溢出803Ch14TM2捕獲捕獲/比

14、較比較8040h15TM3更新更新/上溢出上溢出8044h16TM3捕獲捕獲/比較比較8048h17UART1發(fā)送完成發(fā)送完成804Ch18UART1接收寄存器滿接收寄存器滿8050h19I2CI2C中斷中斷是是是是8054h20UART2/3發(fā)送完成發(fā)送完成8058h21UART2/3接收寄存器滿接收寄存器滿805Ch22ADC轉(zhuǎn)換結(jié)束轉(zhuǎn)換結(jié)束8060h23TIM4更新更新/上溢出上溢出8064h24FLASH編程結(jié)束編程結(jié)束/禁止編程禁止編程8068h保留保留806Ch到到807Ch廣東工業(yè)大學(xué)物理與光電工程學(xué)院ITITC C_S_SP PR1R1VEVEC CT3T3S SPRPR 1

15、1: :00V VECECT T2S2SP PRR1 1: :0 0 VEVEC CT T1 1SPSPR R11: :00V VE EC CT0T0S SPRPR 1:1:0 0 ITITC C_S_SP PR2R2VEVEC CT7T7S SPRPR 1 1: :00V VECECT T6S6SP PRR1 1: :0 0 VEVEC CT T5 5SPSPR R11: :00V VE EC CT4T4S SPRPR 1:1:0 0 ITITC C_S_SP PR3R3V VE ECTCT1 11S1SP PRR1 1: :0 0 V VE EC CT1T10 0SPSPR R11: :0

16、0VEVEC CT T9 9SPSPR R11: :00V VE EC CT8T8S SPRPR 1:1:0 0 ITITC C_S_SP PR4R4V VE ECTCT1 15S5SP PRR1 1: :0 0 V VE EC CT1T14 4SPSPR R11: :00V VE ECTCT1 13 3S SPRPR 1:1:0 0 V VE ECTCT1 12S2SP PRR1 1: :0 0 ITITC C_S_SP PR5R5V VE ECTCT1 19S9SP PRR1 1: :0 0 V VE EC CT1T18 8SPSPR R11: :00V VE ECTCT2 22 2S S

17、PRPR 1:1:0 0 V VE ECTCT1 16S6SP PRR1 1: :0 0 ITITC C_S_SP PR6R6V VE ECTCT2 23S3SP PRR1 1: :0 0 V VE EC CT2T22 2SPSPR R11: :00V VE ECTCT2 21 1S SPRPR 1:1:0 0 V VE ECTCT2 20S0SP PRR1 1: :0 0 ITITC C_S_SP PR7R7V VE ECTCT2 27S7SP PRR1 1: :0 0 V VE EC CT2T26 6SPSPR R11: :00V VE ECTCT2 25 5S SPRPR 1:1:0 0

18、 V VE ECTCT2 24S4SP PRR1 1: :0 0 ITITC C_S_SP PR8R8保留保留V VE ECTCT2 29 9S SPRPR 1:1:0 0 V VE ECTCT2 28S8SP PRR1 1: :0 0 復(fù)位值:復(fù)位值:0 xFF0 xFF7 76 65 5 4 43 32 21 10 0圖6-1STM8中斷源優(yōu)先級(jí)排列順序廣東工業(yè)大學(xué)物理與光電工程學(xué)院軟件軟件優(yōu)優(yōu)先先級(jí)別級(jí)別優(yōu)先級(jí)優(yōu)先級(jí)I1I20級(jí)(主程序)級(jí)(主程序)低低高高101級(jí)級(jí)012級(jí)級(jí)003級(jí)(級(jí)(=無軟件優(yōu)先級(jí))無軟件優(yōu)先級(jí))11軟件優(yōu)先級(jí)軟件優(yōu)先級(jí)硬件的中斷優(yōu)先級(jí)按如下順序排列,從低到高的優(yōu)

19、先硬件的中斷優(yōu)先級(jí)按如下順序排列,從低到高的優(yōu)先級(jí)是:級(jí)是:MAIN, IT4, IT3, IT2, IT1, IT0, TRAP/TLI(MAIN, IT4, IT3, IT2, IT1, IT0, TRAP/TLI(同等優(yōu)先級(jí)同等優(yōu)先級(jí)) )以及以及RESETRESET。(2) ITC_SPR1寄存器中的VECT0SPR1:0VECT0SPR1:0對(duì)應(yīng)頂級(jí)中斷對(duì)應(yīng)頂級(jí)中斷TLITLI,即PD7引腳中斷,其中斷優(yōu)先級(jí)被系統(tǒng)強(qiáng)制置為11(最高級(jí)),不可更改,且屬于不可屏蔽中斷,即TLI中斷有效時(shí),可中斷優(yōu)先級(jí)為3的任意一個(gè)可屏蔽中斷源的中斷服務(wù)程序。(3) 不可屏蔽中斷事件RESETRESET

20、、TRAPTRAP優(yōu)先級(jí)被默認(rèn)為優(yōu)先級(jí)被默認(rèn)為11(11(最高最高) ),因此沒有軟件優(yōu)先級(jí)寄存器位與之對(duì)應(yīng)。一旦這兩個(gè)中斷有效,CPU響應(yīng)后CC寄存器內(nèi)的中斷優(yōu)先級(jí)標(biāo)志I1、I0位自動(dòng)置1。 正因如此,ITC_SPR1寄存器的b1、b0對(duì)應(yīng)TLI,即0號(hào)中斷,而不是復(fù)位中斷RESET;同理,TC_SPR1寄存器的b3、b2對(duì)應(yīng)AWU,即1號(hào)中斷,而不是軟件中斷TRAP;ITC_SPR8寄存器的b3、b2對(duì)應(yīng)29號(hào)中斷。即ITC_SPR8ITC_SPR1定義了30個(gè)中斷源(編號(hào)為029,其中2529中斷號(hào)保留,沒有定義)的優(yōu)先級(jí),而ITC_SPR8寄存器的高4位沒有定義。(4) 優(yōu)先級(jí)1010

21、最低,分配給主程序使用最低,分配給主程序使用。因此,不允許將中斷優(yōu)先級(jí)設(shè)為10。如果將某一個(gè)中斷優(yōu)先級(jí)設(shè)為10,為使對(duì)應(yīng)中斷請(qǐng)求得到響應(yīng),STM8 CPU將保留該中斷源先前的優(yōu)先級(jí)。換句話說,當(dāng)前中斷優(yōu)先級(jí)設(shè)置操作無效。(5) 當(dāng)兩個(gè)或兩個(gè)以上可屏蔽中斷源具有相同的軟件優(yōu)先級(jí)時(shí),硬件查詢順序如表硬件查詢順序如表6-16-1所示所示,即1號(hào)中斷(自動(dòng)喚醒中斷AWU)優(yōu)先級(jí)最高,CLK中斷次之,而24號(hào)中斷(FLASH)優(yōu)先級(jí)最低。未被響應(yīng)的中斷請(qǐng)求處于等待狀態(tài)。(6) 對(duì)于RESET、TRAP、TLI不可屏蔽源來說,復(fù)位中斷RESET級(jí)別最高,只要復(fù)位中斷RESET有效,任何時(shí)候CPU均可響應(yīng)。

22、而當(dāng)TRAP(軟件中斷)、TLI (頂級(jí)硬件中斷)同時(shí)有效時(shí),CPU先響應(yīng)TRAP中斷請(qǐng)求,如圖6-2所示。 基于如下資源的中斷管理:位I1和I0位于CPU的條件代碼寄存器(CCR)軟件優(yōu)先級(jí)寄存器(ITC_SPRx)復(fù)位向量地址0 x008000位于程序空間的起始部分。對(duì)于具有啟動(dòng)ROM的型號(hào),ST公司把復(fù)位初始化程序固化在ROM區(qū)中。固定的中斷向量地址位于程序空間映像的高位地址段(0 x008004to0 x00807C),其地址順序即為硬件的優(yōu)先順序。廣東工業(yè)大學(xué)物理與光電工程學(xué)院中斷屏蔽和處理流程中斷屏蔽是通過CC寄存器的位I1和位I0以及設(shè)置每個(gè)中斷向量的軟件優(yōu)先級(jí)的ITC_SPRx

23、來管理的。廣東工業(yè)大學(xué)物理與光電工程學(xué)院圖6-3中斷嵌套示意圖6.2.2中斷響應(yīng)條件與處理過程中斷響應(yīng)條件:對(duì)于可屏蔽中斷,當(dāng)一個(gè)中斷請(qǐng)求出現(xiàn)時(shí),必須滿足一列條件,CPU才會(huì)響應(yīng)。對(duì)應(yīng)中斷必須處于允許狀態(tài)。該中斷優(yōu)先級(jí)(ITC_SPRx寄存器對(duì)應(yīng)位定義)必須高于當(dāng)前正在執(zhí)行的中斷服務(wù)程必須高于當(dāng)前正在執(zhí)行的中斷服務(wù)程序的優(yōu)先級(jí)序的優(yōu)先級(jí)(記錄在寄存器CC的I1、I0位)。廣東工業(yè)大學(xué)物理與光電工程學(xué)院當(dāng)一個(gè)中斷請(qǐng)求必須被響應(yīng)時(shí):1. 在當(dāng)前正在執(zhí)行指令結(jié)束之后,正常的操作被懸起;2. PC,X,Y,A和CC寄存器被自動(dòng)壓棧,9個(gè)字節(jié);3. 根據(jù)ITC_SPRx寄存器中的值對(duì)應(yīng)的中斷服務(wù)向量,C

24、C寄存器中的位I1和I0被相應(yīng)設(shè)置;4. 通過中斷向量載入中斷服務(wù)子程序的入口地址,接著對(duì)中斷服務(wù)子程序的第一條指令取址。 5.中斷服務(wù)子程序必須以IRET指令結(jié)束,該指令會(huì)把堆棧中的保存的寄存器內(nèi)容出棧,同時(shí)由于運(yùn) 行IRET指令,位I1和位I0被重新恢復(fù),程序也恢復(fù)運(yùn)行。廣東工業(yè)大學(xué)物理與光電工程學(xué)院6.2.3外中斷源及其初始化STM8S為外部中斷事件專門分配了五個(gè)中斷向量:Port A 口的5個(gè)引腳:PA6:2,相或后作為一個(gè)外中斷源EXTI0。 Port B 口的8個(gè)引腳:PB7:0, 相或后作為一個(gè)外中斷源EXTI1。 Port C 口的8個(gè)引腳:PC7:0 ,相或后作為一個(gè)外中斷源

25、EXTI2。 Port D 口的7個(gè)引腳:PD6:0, 相或后作為一個(gè)外中斷源EXTI3。 Port E 口的8個(gè)引腳:PE7:0,相或后作為一個(gè)外中斷源EXTI4。 PD7 是最高優(yōu)先級(jí)的中斷源 (TLI)。 為了產(chǎn)生中斷,相應(yīng)的GPIO端口必須被配置為中斷使能的輸入口。中斷的觸發(fā)方式由外部中斷控制寄存器1(EXTI_CR1)和外部中斷控制寄存器2(EXTI_CR2)所配置. STM8S外中斷標(biāo)志對(duì)程序員不透明,無論采用何種觸發(fā)方式,CPU在響應(yīng)了外中斷請(qǐng)求后都會(huì)自動(dòng)清除外中斷標(biāo)志。廣東工業(yè)大學(xué)物理與光電工程學(xué)院.外中斷初始化對(duì)EXTI_CR1、EXTI_CR2進(jìn)行寫操作時(shí),對(duì)TLI來說,必

26、須保證PD7中斷處于禁止?fàn)顟B(tài)(通過設(shè)置I/O引腳控制寄存器實(shí)現(xiàn));對(duì)PAPE口外中斷來說,必須保證寄存器CC中的I1、0位為11(保證不響應(yīng)可屏蔽中斷的請(qǐng)求)。初始化步驟:()初始化GPIO引腳控制寄存器Px_DDR和Px_CR1寄存器,選擇懸空或上拉輸入方式。()初始化外中斷控制寄存器EXTI_CR1、EXTI_CR2寄存器的相應(yīng)位,選擇輸入端口的觸發(fā)方式(同一IO口上的外中斷輸入線只能處于同一種觸發(fā)方式)廣東工業(yè)大學(xué)物理與光電工程學(xué)院廣東工業(yè)大學(xué)物理與光電工程學(xué)院位位7:PDIS1:0 : PORT D 的中斷的中斷觸觸發(fā)位發(fā)位 這些位僅在這些位僅在CC寄存器的寄存器的I1和和I0位都為位

27、都為1(級(jí)別級(jí)別3)時(shí)才可以寫入。這些位定義端口時(shí)才可以寫入。這些位定義端口D 的的 中斷觸發(fā)位中斷觸發(fā)位00:下降沿:下降沿和和低電平觸發(fā)低電平觸發(fā)01:僅上升:僅上升沿沿觸發(fā)觸發(fā)10:僅下降:僅下降沿沿觸發(fā)觸發(fā)11:上升沿:上升沿和和下降沿觸發(fā)下降沿觸發(fā)位位5:4PCIS1:0 : PORT C 的中斷的中斷觸觸發(fā)位發(fā)位 這些位僅在這些位僅在CC寄存器的寄存器的I1和和I0位都為位都為1(級(jí)別級(jí)別3)時(shí)才可以寫入。這些位定義端口時(shí)才可以寫入。這些位定義端口C 的的 中斷觸發(fā)位中斷觸發(fā)位00:下降沿:下降沿和和低電平觸發(fā)低電平觸發(fā)01:僅上升:僅上升沿沿觸發(fā)觸發(fā)10:僅下降:僅下降沿沿觸發(fā)觸

28、發(fā)11:上升沿:上升沿和和下降沿觸發(fā)下降沿觸發(fā)位位3:2PBIS1:0 : PORT B 的中斷的中斷觸觸發(fā)位發(fā)位 這些位這些位僅僅在在CC寄存器寄存器的的I1和和I0位都為位都為1(級(jí)級(jí)別別3)時(shí)時(shí)才才可以可以寫入寫入。這。這些些位位定定義端口義端口B 的中斷觸發(fā)位的中斷觸發(fā)位00:下降沿:下降沿和和低電平觸發(fā)低電平觸發(fā)01:僅上升:僅上升沿沿觸發(fā)觸發(fā)10:僅下降:僅下降沿沿觸發(fā)觸發(fā)11:上升沿:上升沿和和下降沿觸發(fā)下降沿觸發(fā)位位1:0PAIS1:0 : PORT A 的中斷的中斷觸觸發(fā)位發(fā)位 這些位這些位僅僅在在CC寄存器寄存器的的I1和和I0位都為位都為1(級(jí)級(jí)別別3)時(shí)時(shí)才才可以可以寫

29、入寫入。這。這些些位位定定義端口義端口A 的中斷觸發(fā)位的中斷觸發(fā)位00:下降沿:下降沿和和低電平觸發(fā)低電平觸發(fā)01:僅上升:僅上升沿沿觸發(fā)觸發(fā)10:僅下降:僅下降沿沿觸發(fā)觸發(fā)11:上升沿:上升沿和和下降沿觸發(fā)下降沿觸發(fā)外部中斷控制寄存器外部中斷控制寄存器 1 (EXTI_CR1)1 (EXTI_CR1)地址偏移值:地址偏移值:0 x010 x01復(fù)位值:復(fù)位值:0 x000 x0076543210PDIS1:0PCIS1:0PBIS1:0PAIS1:0rwrwrwrwrwrwrwrw廣東工業(yè)大學(xué)物理與光電工程學(xué)院位位7:4保留位,須保持清零保留位,須保持清零位位2TLIS:高級(jí)高級(jí)中中斷觸發(fā)位斷觸發(fā)位 此位由軟件設(shè)置。此位僅在外部相應(yīng)的中斷引此位由軟件設(shè)置。此位僅在外部相應(yīng)的中斷引腳腳PD7禁禁止中斷時(shí)才能寫入。止中斷時(shí)才能寫入。0:下降沿

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論