2022年單片機(jī)課件33_第1頁
2022年單片機(jī)課件33_第2頁
2022年單片機(jī)課件33_第3頁
2022年單片機(jī)課件33_第4頁
2022年單片機(jī)課件33_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)采用中斷控制技術(shù)主要用在以下三個(gè)方面:(1)故障處理(2)分時(shí)操作(3)實(shí)時(shí)處理7.1中斷概述無條件傳送方式查詢式傳送方式中斷傳送方式直接存貯器存取(DMA)方式。1.計(jì)算機(jī)與外設(shè)交換信息的方式四種傳送方式:無條件傳送方式CPU認(rèn)為外設(shè)已經(jīng)處于“準(zhǔn)備好”狀態(tài)。適用:CPU和外設(shè)速度相當(dāng),如CPU訪問存貯器。雖然外設(shè)速度較慢,但CPU二次傳送間隔長,足使外設(shè)已經(jīng)處于“準(zhǔn)備好”狀態(tài)。查詢式傳送方式外設(shè)有一個(gè)反映其工作狀態(tài)的信息,CPU通過查詢該狀態(tài)信息,了解外設(shè)是否已準(zhǔn)備好。如外設(shè)已準(zhǔn)備好,則CPU與外設(shè)交換數(shù)據(jù),如沒有準(zhǔn)備好,則CPU等待。

中斷傳送方式由外設(shè)提出請求,在滿足一定的條件下,CPU中斷現(xiàn)有程序執(zhí)行,轉(zhuǎn)而為外設(shè)服務(wù),服務(wù)完后,又繼續(xù)執(zhí)行原來程序。直接存貯器存取(DMA)方式外設(shè)與存貯器之間直接交換數(shù)據(jù)。一般用于存貯器與外設(shè)有大量數(shù)據(jù)進(jìn)行傳送,而且外設(shè)速度相當(dāng)快。如硬盤和存貯器進(jìn)行數(shù)據(jù)傳送。2中斷的基本概念例如:輸入、輸出設(shè)備,打印機(jī)、鍵盤等。定時(shí)器;串行口;故障源:如電源掉電、存貯出錯(cuò)等。中斷源:引發(fā)中斷的事件稱為中斷源中斷優(yōu)先級解決多個(gè)中斷源同時(shí)向CPU提出中斷請求的問題。方法:硬件優(yōu)先權(quán)編碼器;軟件排隊(duì);

中斷嵌套在中斷處理過程中又有高優(yōu)先級別的中斷發(fā)生。216-x=20000故障源:如電源掉電、存貯出錯(cuò)等。MCS-51單片機(jī)有五個(gè)中斷源。PT1—定時(shí)器/計(jì)數(shù)器T1中斷優(yōu)先級控制位MOVR0,#25;重置初值MOVTL0,#0E0HMOVTH0,#0F0H216-x=20000由外設(shè)提出請求,在滿足一由外設(shè)提出請求,在滿足一MOVTH0,#0B1H;重置T0時(shí)間常數(shù)直接存貯器存取(DMA)方式。MOVIE,#82H;定時(shí)器T0/T1:定時(shí)器溢出時(shí),TF0/TF1置位,進(jìn)入中斷服務(wù)程序后自動(dòng)清零。外部中斷0最高級

中斷的開放與關(guān)閉開中斷:就是允許CPU接受中斷源提出的中斷請求。關(guān)中斷:就是不允許CPU接受中斷源提出的中斷請求。

中斷處理過程中斷請求:中斷源向CPU提出中斷請求信號(hào)中斷響應(yīng):CPU檢測到中斷請求信號(hào)在一定的條件下才能響應(yīng)1.開放中斷;2.若CPU正在響應(yīng)某一個(gè)中斷,則新的中斷源必需是高優(yōu)先級的中斷源;3.當(dāng)前指令執(zhí)行完。中斷處理;中斷返回。MCS-51單片機(jī)有五個(gè)中斷源。由中斷源寄存器TCON和SCON的相關(guān)位向CPU提出中斷請求;由中斷允許寄存器IE控制中斷的開放/關(guān)閉;由中斷優(yōu)先級控制寄存器IP和軟件查詢控制中斷源的中斷優(yōu)先級別;當(dāng)CPU要為某個(gè)中斷源服務(wù)時(shí)能由五個(gè)相應(yīng)的中斷入口矢量地址自動(dòng)轉(zhuǎn)入中斷服務(wù)程序。7.2MCS-51單片機(jī)的中斷管理系統(tǒng)兩個(gè)外中斷:INT0(P3.2)和INT1(P3.3);兩個(gè)片內(nèi)定時(shí)器T0和T1的溢出中斷源;一個(gè)片內(nèi)串行口發(fā)送或接受中斷源。

2.五個(gè)中斷源TIRI

SCON(98H)9FH9EH9DH9CH9BH9AH99H98HTI/

RI:串口發(fā)送/接受中斷請求標(biāo)志外部中斷0/中斷1:P3.2和P3.3引腳有下跳變或低電平時(shí),IE0/IE1置位;進(jìn)入中斷服務(wù)程序后,自動(dòng)清零。定時(shí)器T0/T1:定時(shí)器溢出時(shí),TF0/TF1置位,進(jìn)入中斷服務(wù)程序后自動(dòng)清零。串行口:當(dāng)接受或發(fā)送一幀數(shù)據(jù)后,TI/RI置位。進(jìn)入中斷服務(wù)程序后不能自動(dòng)復(fù)位,必須用軟件清零。5.中斷的開放和關(guān)閉由中斷允許控制寄存器IE實(shí)施EAESET1EX1ET0EX0

IE(A8H)AFHAEHADHACHABHAAHA9HA8H

EA

—中斷允許總控制位;ES—串口發(fā)送/接受中斷允許;ET1/ET0—定時(shí)器T1/T0中斷允許;EX1/EX0—外中斷1/外中斷0中斷允許;

1:開放中斷0:關(guān)閉中斷假設(shè)允許外部中斷0中斷,定義下跳變觸發(fā),禁止其他中斷,

。試設(shè)置IE的相應(yīng)值。

(1)用字節(jié)操作指令MOVIE,#81H;MOVTCON,#1HEAESET1EX1ET0EX0

IE(A8H)AFHAEHADHACHABHAAHA9HA8HTF1TF0IE1IT1IE0IT0

TCON(88H)8FH8EH8DH8CH8BH8AH89H88H(2)用位操作指令

SETBEA ;CPU開中斷SETBEX0;外部中斷0允許中斷SETBIT0 ;定義邊沿觸發(fā)有兩級中斷優(yōu)先權(quán)。通過對中斷優(yōu)先級寄存器IP編程設(shè)定為高優(yōu)先級或低優(yōu)先級。同級的中斷源同時(shí)申請中斷時(shí),CPU內(nèi)部有一個(gè)軟件排隊(duì)查詢次序。

PSPT1PX1PT0PX0

IP(B8H)

BCHBBHBAHB9HB8HPS—串行口中斷優(yōu)先級控制位PT1—定時(shí)器/計(jì)數(shù)器T1中斷優(yōu)先級控制位PX1—外部中斷1中斷優(yōu)先級控制位PT0—定時(shí)器/計(jì)數(shù)器T0中斷優(yōu)先級控制位PX0—外部中斷0中斷優(yōu)先級控制位。中斷優(yōu)先級寄存器IP1:高優(yōu)先級;0:低優(yōu)先級

同級的中斷源同時(shí)申請中斷時(shí),CPU內(nèi)部有一個(gè)軟件排隊(duì)查詢次序。

外部中斷0最高級定時(shí)器T0中斷外部中斷1定時(shí)器T1中斷串行口中斷最低級7.中斷響應(yīng)過程CPU查詢到中斷源的中斷請求;沒有同級或更高級的中斷正在響應(yīng);當(dāng)前的指令執(zhí)行完畢;若正在執(zhí)行RETI或訪問IE、IP的指令,則必須再另外執(zhí)行一條指令后才可以響應(yīng)中斷;CPU響應(yīng)中斷時(shí),將中斷點(diǎn)的地址壓入堆棧,根據(jù)中斷源類型轉(zhuǎn)入相應(yīng)的中斷矢量地址。8.中斷入口地址如何編寫與中斷有關(guān)的程序:1.在中斷矢量地址處安排一條跳轉(zhuǎn)指令。2.中斷初始化。開中斷;確定中斷優(yōu)先級別;若是外部中斷源,應(yīng)規(guī)定是電平觸發(fā)還是邊沿觸發(fā)方式。初始化程序應(yīng)安排在主程序中。3.編寫中斷服務(wù)程序。首先保護(hù)現(xiàn)場,然后執(zhí)行中斷服務(wù)程序,再恢復(fù)現(xiàn)場,最后用RETI指令,以實(shí)現(xiàn)中斷返回。7.3中斷系統(tǒng)的應(yīng)用1)利用定時(shí)器擴(kuò)展外部中斷源將定時(shí)器T0/T1設(shè)置為計(jì)數(shù)方式,計(jì)數(shù)初值為最大值,一旦外部計(jì)數(shù)脈沖輸入引腳(P3.4或P3.5)有一個(gè)由高到低的下跳變信號(hào),計(jì)數(shù)器加1后產(chǎn)生溢出中斷。。

START:MOVTMOD,#06H;置T0為計(jì)數(shù)器及工作方式2MOVTL0,#0FFH;置計(jì)數(shù)初值MOVTH0,#0FFHSETBET0;開中斷SETBEASETBTR0;啟動(dòng)T02)利用查詢方式擴(kuò)展外部中斷源中斷服務(wù)程序如下:PUSHPSW;保護(hù)現(xiàn)場PUSHACCORLP1,#0FH;P1口低四位置成輸入方式MOVA,P1;讀入P1口狀態(tài)JBACC.0,A1ACALLBR1A1:JBACC.1,A2ACALLBR2A2:JBACC.2,A3ACALLBR3A3:JBACC.3,A4ACALLBR4A4:POPACCPOPPSWRETIBR0:…;EK1中斷服務(wù)程序RETBR1:…;EK2中斷服務(wù)程序RETBR3:…;EK3中斷服務(wù)程序RETBR4:…;EK4中斷服務(wù)程序RET例7.4選用T0方式0產(chǎn)生500μs

定時(shí),在P1,0輸出1ms的方波,

晶振fosc=12MHz,要求用中斷

方式實(shí)現(xiàn)。

START:MOVTMOD,#0MOVTL0,#0CHMOVTH0,#0F0H;定時(shí)器初始化SETBEA;開放中斷SETBET0SETBPT0;定義高優(yōu)先級SETBTR0;啟動(dòng)定時(shí)器T0SJMP$;模擬主程序,等待中斷ORG000BH;定時(shí)器T0中斷入口LJMPPTFO;轉(zhuǎn)至中斷服務(wù)程序PTFO:MOVTL0,#0CH;中斷服務(wù)程序MOVTH0,#0F0HRETI例7.5要求用定時(shí)器控制方波輸

出,但要求方波的周期為1s,

單片機(jī)時(shí)鐘仍為12MHz。采用定時(shí)器定時(shí)和軟件計(jì)數(shù)器相結(jié)合的辦法來實(shí)現(xiàn)500ms定時(shí)。設(shè)定時(shí)器定時(shí)值為20ms,軟件計(jì)數(shù)器初值為25,每20ms產(chǎn)生一次定時(shí)中斷,同時(shí)軟件計(jì)數(shù)器減1,當(dāng)軟件計(jì)數(shù)器等于0時(shí),即實(shí)現(xiàn)了500ms定時(shí),先計(jì)算20ms定時(shí)器初值x,采用定時(shí)器方式1。216-x=20000x=45536=B1E0H程序設(shè)計(jì)如下:ORG000BHLJMPINTIMESTART:MOVTMOD,#01H;定時(shí)器初始化MOVTH0,#0B1HMOVT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論