




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片微型計算機原理及接口技術(13)1/34內容提綱一中斷的相關概念二STC8H8K64U單片機的中斷源2/34中斷的相關概念一3/341、中斷的概念中斷的概念是在20世紀50年代中期提出的,是計算機中的一個很重要的技術,它既和硬件有關,也和軟件有關。正是因為有了中斷技術,才使得計算機的工作更加靈活、效率更高。中斷技術的出現使得計算機的發展和應用大大的推進了一步。所以,中斷功能的強弱已成為衡量一臺計算機功能完善與否的重要指標。最初引進中斷技術的目的是為了提高計算機輸入輸出的效率,改善計算機的整體性能。當CPU需要與外部設備交換一批數據時,由于CPU的工作速度遠遠高于外設的工作速度,每傳送一組數據后,CPU等待“很長”時間才能傳送下一組數據,在等待期間CPU處在空運行狀態,造成CPU的浪費。所謂中斷是指計算機在執行其他程序的過程中,當出現了某些異常事件或某種請求時,CPU暫時中止正在執行的程序,而轉去執行對異常事件或某種請求的服務程序。當服務完畢后,CPU再回到被暫時中止的程序繼續執行。4/342、其他中斷相關概念請示CPU中斷的請求源稱為中斷源。中斷源向CPU發出中斷申請,CPU暫停當前工作轉去處理中斷源事件稱為中斷響應。對整個事件的處理過程稱為中斷服務。事件處理完畢CPU返回到被中斷的地方稱為中斷返回。5/343、中斷的優先級計算機的中斷系統一般允許多個中斷源,當幾個中斷源同時向CPU請求中斷,要求為其服務的時候,就存在CPU優先響應哪一個中斷源請求的問題。通常根據中斷源的輕重緩急排隊,優先處理最緊急事件的中斷請求源,即規定每一個中斷源有一個優先級別。CPU總是先響應優先級別最高的中斷請求。當CPU正在處理一個中斷源請求的時候(執行相應的中斷服務程序),發生了另外一個優先級比它更高的中斷源請求,CPU暫停原來中斷源的服務程序,轉而去處理優先級更高的中斷請求源,處理完以后,再回到原低優先級中斷的服務程序,這樣的過程稱為中斷嵌套。6/343、中斷的優先級計算機的中斷系統一般允許多個中斷源,當幾個中斷源同時向CPU請求中斷,要求為其服務的時候,就存在CPU優先響應哪一個中斷源請求的問題。通常根據中斷源的輕重緩急排隊,優先處理最緊急事件的中斷請求源,即規定每一個中斷源有一個優先級別。CPU總是先響應優先級別最高的中斷請求。當CPU正在處理一個中斷源請求的時候(執行相應的中斷服務程序),發生了另外一個優先級比它更高的中斷源請求,CPU暫停原來中斷源的服務程序,轉而去處理優先級更高的中斷請求源,處理完以后,再回到原低優先級中斷的服務程序,這樣的過程稱為中斷嵌套。7/343、中斷的優先級8/344、中斷的優勢計算機采用中斷技術,大大提高了工作效率和處理問題的靈活性,主要表現在3個方面:①解決了快速CPU和慢速外設之間的矛盾,可使CPU和外設并行工作。②可及時處理控制系統中許多隨機參數和信息。③具備了處理故障的能力,提高了機器自身的可靠性。中斷類似于程序設計中的調用子程序,但它們又有區別,主要區別如表6-1所示。一般保護斷點是硬件完成的,保護現場須在中斷處理程序中用相應的指令完成。表6-1中斷和調用子程序之間的區別中
斷調用子程序產生是隨機的程序中事先安排好的既保護斷點,又保護現場可只保護斷點為外設服務和為處理各種事件服務為主程序服務(與外設無關)9/345、開中斷和關中斷中斷的開放(稱為開中斷或中斷允許)和中斷的關閉(稱為關中斷或中斷禁止)可以通過指令設置相關特殊功能寄存器的內容來實現,這是CPU能否接受中斷請求的關鍵。只有在開中斷的情況下,才有可能接受中斷源的請求。10/346、保護現場和恢復現場在主程序調用子程序或中斷處理過程時,分別要保存返回地址(斷點地址)和保護現場,以便在返回時能夠回到調用前的程序段,繼續運行原來的程序。進入子程序或中斷處理程序后保護相關寄存器中的值的操作,叫做保護現場;子程序返回或中斷處理返回前,恢復相關寄存器中的值的操作,叫做恢復現場。保護現場的方法是將現場條件(寄存器的值)先推入(使用PUSH命令)堆棧保存,然后再使用這些寄存器,返回主程序前,彈出(使用POP指令)寄存器的值。這些功能都要通過堆棧操作來實現。其中通用寄存器的保存和恢復需要由堆棧操作指令來完成;返回地址的保存與恢復的堆棧操作都是在相應的子程序的調用和返回指令的操作中自動完成的,無需再用專門的堆棧操作指令。11/347、堆棧堆棧區是將內部存儲器的一部分區域劃作專門用于堆棧的區域。堆棧操作有其特定的規則,叫做后進先出(LastInFirstOut,LIFO)規則,即最后存入的數據將被最先取出。堆棧區當前的棧頂地址用堆棧指針寄存器(SP)中的值表示,即SP始終指向棧頂。12/348、中斷的撤除在響應中斷請求后,返回主程序之前,該中斷請求標志應該撤除,否則,單片機執行完中斷服務程序會誤判為又發生了中斷請求而錯誤地再次進入中斷服務程序。單片機中有些中斷請求標志會自動撤除,有些不能自動撤除,必須用戶使用相應的指令撤除。13/34STC8H8K64U單片機的中斷源二14/341.中斷源STC8H8K64U單片機共有44個中斷源,它們分別是:5個外部中斷(INT0~INT4)5個定時/計數器溢出中斷(T0~T4)4個異步串口中斷(UART1~UART4)1個串行外設接口中斷(SPI)1個I2C總線中斷、1個USB中斷1個模數轉換中斷(ADC)、1個低壓檢測中斷(LVD)、1個比較器中斷(CMP)2個PWM中斷(PWMA和PWMB)8個端口中斷(P0~P7)12個DMA中斷1個RTC中斷1個LCM中斷15/341.中斷源除外部中斷2、外部中斷3、定時器2、定時器3、定時器4固定是最低優先級中斷外,其他的中斷都具有4個優先級,可實現四級中斷嵌套。STC8H8K64U的中斷系統結構如圖6-4所示,圖中說明了中斷源、中斷控制、中斷允許及中斷優先級管理之間的關系。16/341.中斷源17/34全圖請參見教材圖6-32.中斷源及控制18/343.中斷標志位(1)外部中斷和定時器的中斷請求標志外部中斷0(INT0)和外部中斷1(INT1)既可雙邊沿觸發(即上升沿和下降沿都可以觸發),也可以只有下降沿觸發。這兩個外部中斷的請求標志位分別是寄存器TCON中的IE0/TCON.1和IE1/TCON.3。當外部中斷服務程序被響應后,中斷標志位IE0和IE1會自動清0。外部中斷0(INT0)和外部中斷1(INT1)還可以用于將單片機從掉電模式喚醒。TCON的各個位含義如下:符號地址B7B6B5B4B3B2B1B0TCON88HTF1TR1TF0TR0IE1IT1IE0IT019/343.中斷標志位符號地址B7B6B5B4B3B2B1B0TCON88HTF1TR1TF0TR0IE1IT1IE0IT0①IT0:外部中斷INT0觸發方式控制位??捎绍浖?或清0。0:上升沿和下降沿均可觸發外部中斷。當INT0引腳出現上升沿或者下降沿時,置位IE0。1:下降沿觸發方式。INT0引腳上電平由高到低的負跳變時,置位IE0。②IE0:外部中斷INT0請求標志。③IT1:外部中斷INT1觸發方式控制位,與IT0類似。④IE1:外部中斷INT1請求標志,其意義和IE0相同。⑤TR0:定時/計數器T0啟動/停止控制位。⑥TF0:定時/計數器T0的溢出中斷標志。若CPU響應中斷,在進入中斷后,CPU自動將TF0清0。TF0也可用軟件清0(查詢方式)。⑦TR1:定時/計數器T1啟動/停止控制位。⑧TF1:定時/計數器T1的中斷標志,功能和TF0類似。20/343.中斷標志位中斷標志輔助寄存器AUXINTIF用于保存外部中斷2~4和定時器2~4的中斷請求標志。外部中斷2~4(INT2~INT4)只能下降沿觸發。當外部中斷服務程序被響應后,相應的中斷標志位(INT2IF~INT4IF)硬件自動清零。外部中斷2~4(INT2~INT4)也可以用于將單片機從掉電模式喚醒。定時器2、定時器3和定時器4的中斷請求標志位是T2IF、T3IF、T4IF。當相應的中斷服務程序執行后,相應的中斷標志位硬件自動清零。符號地址B7B6B5B4B3B2B1B0AUXINTIFEFH-INT4IFINT3IFINT2IF-T4IFT3IFT2IF21/343.中斷標志位(2)串口的中斷請求標志串口1、串口2、串口3和串口4的中斷請求標志分別鎖存在特殊功能寄存器SCON、S2CON、S3CON和S4CON中。這些中斷請求標志都不能自動清0,需要用戶在中斷服務程序中使用軟件清0。各位的定義如下:符號地址B7B6B5B4B3B2B1B0SCON98HSM0/FESM1SM2RENTB8RB8TIRIS2CON9AHS2SM0-S2SM2S2RENS2TB8S2RB8S2TIS2RIS3CONACHS3SM0S3ST3S3SM2S3RENS3TB8S3RB8S3TIS3RIS4CON84HS4SM0S4ST4S4SM2S4RENS4TB8S4RB8S4TIS4RI22/343.中斷標志位(3)電源控制寄存器PCON中的標志位符號地址B7B6B5B4B3B2B1B0PCON87HSMODSMOD0LVDFPOFGF1GF0PDIDLLVDF是低電壓檢測標志位,同時也是低電壓檢測中斷請求標志位。在正常工作和空閑工作狀態時,如果內部工作電壓VCC低于低電壓檢測門檻電壓,低電壓中斷請求標志位(LVDF/PCON.5)自動置1,與低電壓檢測中斷是否被允許無關。即在內部工作電壓VCC低于低電壓檢測門檻電壓時,不管有沒有允許低電壓檢測中斷,LVDF/PCON.5都自動為1。該位要用軟件清0,清0后,如內部工作電壓VCC低于低電壓檢測門檻電壓,該位又被自動設置為1。23/343.中斷標志位(4)SPI狀態寄存器SPSTAT中的標志位SPIF是SPI傳輸完成標志。當一次傳輸完成時,SPIF被置位。此時,如果SPI中斷被打開(ESPI=1,EA=1),將產生中斷。符號地址B7B6B5B4B3B2B1B0SPSTATCDHSPIFWCOL------24/343.中斷標志位(5)ADC控制寄存器ADC_CONTR中的標志位ADC_FLAG是A/D轉換結束標志位。A/D轉換完成后,ADC_FLAG=1。此時,若允許A/D轉換中斷(EADC=1,EA=1),則由該位申請產生中斷。也可以由軟件查詢該標志位判斷A/D轉換是否結束。不管是A/D轉換完成后由該位申請產生中斷,還是由軟件查詢該標志位A/D轉換是否結束,當A/D轉換完成后,ADC_FLAG=1,一定要軟件清0。符號地址B7B6B5B4B3B2B1B0ADC_CONTRBCHADC_POWERADC_STARTADC_FLAGADC_EPWMTADC_CHS[3:0]25/34(1)中斷的開放和禁止STC8H8K64U單片機中斷的開放和禁止是通過設置相關寄存器的控制位實現的,對中斷源的開放和禁止由兩級控制組成的,即總控制和對每個中斷源的分別控制??偪刂朴糜跊Q定整個中斷系統是開放還是關閉,當整個中斷系統關閉時,CPU不響應任何中斷請求。對于每個中斷源的分別控制是在中斷系統開放的前提下,決定某一個中斷源是開放還是禁止。IE(地址為0A8H,復位值為00H)中的各中斷允許控制位定義如下:1)EA:中斷允許總控制位。
0:關閉中斷系統,所有中斷源的中斷請求均被禁止,稱為關中斷。
1:開放中斷系統,所有中斷源的中斷請求均被開放,稱為開中斷,但某一個中斷源的請
求是否開放,還要由該中斷源所對應的中斷允許控制位所決定。4.中斷的允許、禁止及優先級符號地址B7B6B5B4B3B2B1B0IEA8HEAELVDEADCESET1EX1ET0EX026/34ELVD:低壓檢測中斷允許位。0:禁止低壓檢測中斷 1:允許低壓檢測中斷EADC:A/D轉換中斷允許位。0:禁止A/D轉換中斷 1:允許A/D轉換中斷ES:串行口1中斷允許位。0:禁止串行口1中斷 1:允許串行口1中斷ET1:定時/計數器T1的溢出中斷允許位。0:禁止T1中斷 1:允許T1中斷EX1:外部中斷1中斷允許位。0:禁止INT1中斷 1:允許INT1中斷ET0:定時/計數器T0的溢出中斷允許位。0:禁止T0中斷 1:允許T0中斷EX0:外部中斷0中斷允許位。0:禁止INT0中斷 1:允許INT0中斷單片機復位后,各中斷允許寄存器控制位均被清0,即禁止所有中斷。如果需要開放某些中斷,可在程序中將相應中斷控制位置為1。27/34符號地址B7B6B5B4B3B2B1B0IPB8H-PLVDPADCPSPT1PX1PT0PX0IPHB7H-PLVDHPADCHPSHPT1HPX1HPT0HPX0HIP2B5HPUSBPI2CPCMPPX4PPWMBPPWMAPSPIPS2IP2HB6HPUSBHPI2CHPCMPHPX4HPPWMBHPPWMAHPSPIHPS2HIP3DFH-----PRTCPS4PS3IP3HEEH-----PRTCHPS4HPS3H(2)中斷優先級00:中斷優先級為0級(最低級)01:中斷優先級為1級(較低級)10:中斷優先級為2級(較高級)11:中斷優先級為3級(最高級)28/345.單片機中斷處理過程(1)中斷響應的條件及過程當中斷源向CPU發出中斷請求時,如果中斷的條件滿足,CPU將進入中斷響應周期。單片機響應中斷的條件是:1)中斷源有請求。2)中斷允許寄存器IE相應位置1。3)CPU中斷開放(EA=1)。CPU響應中斷時,將相應的優先級狀態觸發器置1,然后由硬件自動產生一個長調用指令LCALL,此指令首先把斷點地址壓入堆棧保護,再將中斷服務程序的入口地址送入到程序計數器PC,使程序轉向相應的中斷服務程序。29/34單片機對中斷優先級的處理原則是:
1)不同級的中斷源同時申請中斷時,先高后低;
2)處理低級中斷又收到高級中斷請求時,停低轉高;
3)處理高級中斷卻收到低級中斷請求時,高不睬低;
4)同一級的中斷源同時申請中斷時,事先規定。例如:
ORG 0003H ;外部中斷0入口地址
LJMP INT0_ISR ··· ;其他程序代碼
INT0_ISR: ;外部中斷0服務程序 ··· RETI這樣,當CPU響應外部中斷0的中斷請求時,進入到0003H單元,執行LJMP INT0_ISR指令后,轉入執行程序存儲器的INT0_ISR標號處的外部中斷0服務程序。30/34在程序的運行過程中,并不是任何時刻都可以響應中斷請求。當出現下列情況時,CPU不會響應中斷請
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學新建項目節能評估報告
- 招商政策培訓課件
- 護理課件全套
- 新加坡迎新活動方案
- 老舊老小區改造項目運營管理方案
- 新增福利活動方案
- 旺季來襲促銷活動方案
- 春節唱歌活動方案
- 文明如廁活動方案
- 幼兒園健康教育《不許摸》
- GB/T 23806-2009精細陶瓷斷裂韌性試驗方法單邊預裂紋梁(SEPB)法
- 2022年04月四川宜賓市敘州區面向區內外考試選調在編在職教師136人考試押題庫【1000題】含答案附帶詳解析
- FZ/T 74001-2020紡織品針織運動護具
- 圖解“雙均線雙交叉”期貨、股票操作系統課件
- 宮外孕右輸卵管妊娠腹腔鏡下盆腔粘連分解術、右輸卵管妊娠開窗取胚術手術記錄模板
- 教科版 科學小學二年級下冊期末測試卷及參考答案(基礎題)
- 美軍標電子裝備環境試驗-mil-std-810g
- 混凝土重力壩設計說明書
- 應用回歸分析(第三版)何曉群_劉文卿_課后習題答案_完整版
- 道路及兩側便道保潔方案.docx
- 旅游開發公司組織架構
評論
0/150
提交評論