版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、專題六輸入輸出和中斷第1頁,共75頁,2022年,5月20日,1點45分,星期日1 輸入/輸出的基本概念2 輸入/輸出數(shù)據(jù)的傳送方式 3 中斷技術(shù) MCS-51的中斷系統(tǒng) 學(xué)會MCS-51中斷程序設(shè)計及應(yīng)用 學(xué)會與中斷有關(guān)的硬件連線 本章重點及要求第2頁,共75頁,2022年,5月20日,1點45分,星期日5.1 輸入/輸出的基本概念5.2 輸入/輸出數(shù)據(jù)的傳送方式 5.3 中斷技術(shù)5.4 MCS-51的中斷系統(tǒng)5.5 MCS-51對外部中斷源的擴(kuò)展 第五章輸入/輸出和中斷第3頁,共75頁,2022年,5月20日,1點45分,星期日511 輸入/輸出設(shè)備512 輸入/輸出傳送的信息 513 輸
2、入/輸出接口的作用及其類型514 I/O端口的編址方式 51 輸入/輸出的基本概念第4頁,共75頁,2022年,5月20日,1點45分,星期日521 無條件傳送方式 (又稱同步傳送)522 查詢式傳送方式 (又稱條件傳送異步傳送)5.2 輸入/輸出數(shù)據(jù)的傳送方式523 中斷傳送方式524 DMA傳送方式第5頁,共75頁,2022年,5月20日,1點45分,星期日531 中斷的定義及必要性532 中斷源533 中斷的分類534 中斷系統(tǒng)的功能535 中斷處理過程5.3 中斷技術(shù)第6頁,共75頁,2022年,5月20日,1點45分,星期日541 MCS-51的中斷源和中斷標(biāo)志542 MCS-51對
3、中斷請求的控制543 MCS-51對中斷的響應(yīng)和撤除544 MCS-51中斷系統(tǒng)的初始化及應(yīng)用 5.4 MCS-51的中斷系統(tǒng) MCS-51 的中斷程序設(shè)計舉例 MCS-51 的中斷系統(tǒng)的結(jié)構(gòu)第7頁,共75頁,2022年,5月20日,1點45分,星期日511 輸入/輸出設(shè)備 輸入設(shè)備: 定義:往主機(jī)傳送信息的設(shè)備 常用的輸入設(shè)備: 鍵盤、鼠標(biāo)、掃描儀、讀卡機(jī)等 輸出設(shè)備 定義:接收主機(jī)信息并送出信息呈現(xiàn)給人們的設(shè)備 常用的輸出設(shè)備: 顯示器、打印機(jī)、繪圖儀等第8頁,共75頁,2022年,5月20日,1點45分,星期日外設(shè)與CPU是通過接口連接CPU接 口接 口外設(shè)1外設(shè)2地址總線 AB數(shù)據(jù)總線
4、 DB控制總線 CB第9頁,共75頁,2022年,5月20日,1點45分,星期日512 輸入/輸出傳送的信息 數(shù)據(jù)信息 數(shù)字量 模擬量 開關(guān)量 狀態(tài)信息表征外設(shè)狀態(tài) 控制信息控制外設(shè)啟停 在輸入時,輸入裝置的信息是否準(zhǔn)備好(Ready); 在輸出時 ,輸出裝置是否有空(Empty),若輸出裝置正在輸出信息,則以Busy指示。 二進(jìn)制形式表示的數(shù)或以ASC碼表示的數(shù)或字符 。 模擬量必須先經(jīng)過A/D轉(zhuǎn)換才能輸入計算機(jī),計算機(jī)的控制輸出也必須先經(jīng)過D/A轉(zhuǎn)換才能控制執(zhí)行機(jī)構(gòu)。 只要用一位二進(jìn)制數(shù)即可表示的量,如電機(jī)的運(yùn)轉(zhuǎn)與停止,開關(guān)的合與斷,閥門的打開和關(guān)閉等。第10頁,共75頁,2022年,5月
5、20日,1點45分,星期日513 輸入/輸出接口的作用及其類型接口電路的作用 鎖存作用防止由于CPU速度快,外設(shè)慢而產(chǎn)生的丟數(shù)現(xiàn)象 隔離作用防止DB上的信息重疊 變換作用在CPU與外設(shè)之間進(jìn)行信息類型、電平、傳送接收方式變換 聯(lián)絡(luò)作用在CPU與外設(shè)之間進(jìn)行聯(lián)絡(luò),Ready, Busy第11頁,共75頁,2022年,5月20日,1點45分,星期日輸出接口電路鎖存作用輸出接口中必須含鎖存器接口電路(鎖存器).鎖存信號 寫選通輸出數(shù)據(jù)DB來自CPU速度匹配第12頁,共75頁,2022年,5月20日,1點45分,星期日輸入接口電路隔離作用輸入接口中必須含三態(tài)門接口電路(三態(tài)門).讀選通信號輸入允許輸入
6、數(shù)據(jù)接口電路(三態(tài)門).輸入數(shù)據(jù)DB防止信息重疊第13頁,共75頁,2022年,5月20日,1點45分,星期日1、 I/O接口的種類很多,有兩種基本類型 串行I/O接口 并行I/O接口2、不可編程接口 例:74LS273、74LS373、74LS138 、74LS2443、可編程接口 例:8155、8255、8250、8253I/O接口的類型第14頁,共75頁,2022年,5月20日,1點45分,星期日514 I/O端口的編址方式 統(tǒng)一編址 I/O端口與內(nèi)存儲器采用一套地址,完全象存儲器單元一樣處理,使用訪問存儲器的指令。 如:movx 類指令 獨立編址 采用一套與存儲器不同的地址,利用/MR
7、EQ(存儲器請求)和/IORQ(輸入輸出請求), CPU 有專門的I/O指令 如:IN, OUT MCS51系列采用統(tǒng)一編址 片內(nèi)RAM 與P0P3均用MOV指令 片外RAM與外擴(kuò)口I/O口均用MOVX指令 第15頁,共75頁,2022年,5月20日,1點45分,星期日接口與端口接口:由一個或多個端口組成。端口:可被獨立選通的I/O接口電路,簡稱口。端口地址:端口在系統(tǒng)中被分配的惟一地址,簡稱口地址。端口可分為: 輸入端口CPU從中讀取外設(shè)的狀態(tài)或數(shù)據(jù)信息 輸出端口CPU通過它輸出控制信號或數(shù)據(jù)信息 狀態(tài)端口CPU從中讀取外設(shè)的狀態(tài)信息 控制端口由CPU控制輸出控制信號 數(shù)據(jù)端口 可以是輸入數(shù)
8、據(jù)端口或輸出數(shù)據(jù)端口 I/O信息都是通過數(shù)據(jù)總線傳遞的。 第16頁,共75頁,2022年,5月20日,1點45分,星期日521 無條件傳送方式(又稱同步傳送) 應(yīng)用于定時為已知的且 固定不變的低速I/O 無需等待的高速I/Omovx A,DPTRmovx DPTR,ADB三態(tài)門鎖存器地址譯碼器地址譯碼器來自外設(shè)至外設(shè)ABRDWR無條件輸入輸出舉例第17頁,共75頁,2022年,5月20日,1點45分,星期日MCS-51單片機(jī)內(nèi)部的I/O口6.1.2 P1口 功能: P1口作通用I/O口 P1口也是一個“準(zhǔn)雙向”口,作輸入口時要先將輸出驅(qū)動管截止。 即先執(zhí)行一條指令 MOV P1,#0FFH內(nèi)部
9、結(jié)構(gòu):如圖所示第18頁,共75頁,2022年,5月20日,1點45分,星期日1、無條件傳送方式2、查詢方式3、中斷方式利用P1口實現(xiàn)三種I/O 傳送方式 第19頁,共75頁,2022年,5月20日,1點45分,星期日1、無條件傳送方式 1)無條件輸出ORG 8000HLJMP MainORG 80F0HMain: MOV R7, #0 Loop: MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 CPL P1.1 CPL P1.2 CPL P1.3 CPL P1.4CPLP1.5 CPL P1.6 C
10、PL P1.7 SJMP MainEND8個發(fā)光二極管閃亮“0”亮“1”滅第20頁,共75頁,2022年,5月20日,1點45分,星期日思考題若使8個LED循環(huán)點亮如何修改程序?第21頁,共75頁,2022年,5月20日,1點45分,星期日1、無條件傳送方式 2)無條件輸入/輸出 ORG 8000H AJMP MAIN ORG 8100H MAIN: MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A HERE:SJMP HERE END 第22頁,共75頁,2022年,5月20日,1點45分,星期日2、查詢輸出 ORG 8000H LJMP Main
11、ORG 8100HMain: JBP1.7,SETLEDCLRLED:CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLRP1.5 CLR P1.6 SJMP MainSETLED: SETBP1.0 SETBP1.1 SETBP1.2 SETBP1.3 SETBP1.4 SETBP1.5 SETBP1.6 SJMP Main END第23頁,共75頁,2022年,5月20日,1點45分,星期日思考題若當(dāng)P1.7=0時使8個LED向左/右兩個兩個的循環(huán)點亮,如何修改程序?若當(dāng)P1.7=1時,使8個LED從中間向左右方向逐個點亮,如何修改程序?第24頁
12、,共75頁,2022年,5月20日,1點45分,星期日522 查詢式傳送方式 (又稱條件傳送異步傳送) CPU查詢外設(shè)狀態(tài)信息(Ready,Busy),條件 滿足時,進(jìn)行數(shù)據(jù)傳送 程序簡單 高速CPU查詢低速外設(shè) 浪費CPU時間,效率低 輸入接口原理圖 輸出接口原理圖 程序流程圖第25頁,共75頁,2022年,5月20日,1點45分,星期日輸入接口原理圖地址譯碼器QRD三態(tài)緩沖器鎖存器輸入設(shè)備5V選通信號RD口地址PORTD譯碼PORTS譯碼D6Ready狀態(tài)信號DB外設(shè)準(zhǔn)備好,置入狀態(tài)信號 Q=1CPU讀數(shù)據(jù)口時清掉狀態(tài)信號第26頁,共75頁,2022年,5月20日,1點45分,星期日輸出接
13、口原理圖外設(shè)收到CPU數(shù)據(jù)后以“應(yīng)答信號”清掉狀態(tài)信號CPU寫入數(shù)據(jù)后,置入狀態(tài)信號 Q=1口地址地址譯碼器QRD5V應(yīng)答信號WR鎖存器輸出設(shè)備PORTD譯碼PORTS譯碼狀態(tài)線Busy狀態(tài)信息D6RDDB第27頁,共75頁,2022年,5月20日,1點45分,星期日條件傳送方式程序舉例Test:mov DPTR,#PORTS movx A,DPTR anl A,#40H jz Test ;(jnz Test) mov DPTR,#PORTD movx A,DPTR ;輸入 (movx DPTR,A;輸出)0/1狀態(tài)信號D6輸入端口狀態(tài)準(zhǔn)備好?傳送信息YESNOReady=1Busy=0(A)
14、查詢舉例第28頁,共75頁,2022年,5月20日,1點45分,星期日523 中斷傳送方式中斷:要求進(jìn)行輸入、輸出的外設(shè),發(fā)出就緒信號給CPU,作為中斷請求,打斷CPU正在進(jìn)行的工作,即中斷CPU正在執(zhí)行的程序。 中斷過程 中斷方式與查詢方式比較 提高了CPU的效率 CPU與外設(shè)可并行工作 CPU可及時響應(yīng)外部事件第29頁,共75頁,2022年,5月20日,1點45分,星期日中斷過程 外設(shè)發(fā)出中斷請求信號 CPU(有條件)響應(yīng)中斷進(jìn)行中斷服務(wù)(執(zhí)行中斷服務(wù)程序,執(zhí)行響應(yīng)I/O操作)中斷返回(繼續(xù)執(zhí)行原程序)第30頁,共75頁,2022年,5月20日,1點45分,星期日中斷方式與查詢方式CPU占
15、用時間比較打印機(jī)打印時間數(shù)據(jù)傳輸時間查詢等待時間數(shù)據(jù)傳輸時間執(zhí)行主程序中斷服務(wù)時間中斷方式查詢方式外設(shè)工作第31頁,共75頁,2022年,5月20日,1點45分,星期日 利用DMAC(DMA控制器)實現(xiàn)成組、大批量的數(shù)據(jù)在內(nèi)存和外設(shè)之間的快速傳送。 DMA過程: 優(yōu)點:速度快 缺點:硬件復(fù)雜,成本增加524 DMA傳送方式第32頁,共75頁,2022年,5月20日,1點45分,星期日DMA過程外設(shè)向DMAC發(fā)DMA申請 DMAC向CPU發(fā)BUSRQ CPU發(fā)BUSAK響應(yīng) DMAC發(fā)存儲器地址和讀寫信號 DMA控制結(jié)束,恢復(fù)CPU對總線控制BUS外 設(shè)接 口DMACCPU存儲器第33頁,共75
16、頁,2022年,5月20日,1點45分,星期日存儲器CPU I/O接口外 設(shè)DMA控制器第34頁,共75頁,2022年,5月20日,1點45分,星期日531 中斷的定義及必要性定義:所謂中斷是指中央處理器CPU正在處理某件事的時候,外部發(fā)生了某一事件,請求CPU迅速處理,CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件,處理完后,再回到原來被中斷的地方,繼續(xù)原來的工作。這樣的過程稱為中斷。 第35頁,共75頁,2022年,5月20日,1點45分,星期日必要性及應(yīng)用中斷功能便于實現(xiàn)1分時操作2實時處理3故障處理4.主機(jī)與外設(shè)之間的速度匹配 CPU和外設(shè)同時工作;CPU可以通過分時操作啟動多個外設(shè)同
17、時工作,統(tǒng)一管理。大大提高了CPU的利用率,也提高了輸入、輸出的速度。 當(dāng)計算機(jī)用于實時控制時,中斷是一個十分重要的功能?,F(xiàn)場的各個參數(shù)、信息,需要的話可在任何時候發(fā)出中斷申請,要求CPU處理;CPU就可以馬上響應(yīng)(若中斷是開放的話)加以處理。這樣的及時處理在查詢的工作方式是做不到的。 計算機(jī)在運(yùn)行過程中,往往會出現(xiàn)事先預(yù)料不到的情況,或出現(xiàn)一些故障:如電源突跳,存儲出錯,運(yùn)算溢出等等。計算機(jī)就可以利用中斷系統(tǒng)自行處理,而不必停機(jī)或報告工作人員。第36頁,共75頁,2022年,5月20日,1點45分,星期日 外設(shè)中斷請求 實時時鐘中斷請求 控制對象中斷源 故障引起的中斷 人為設(shè)置的中斷532
18、中斷源 人為設(shè)置的中斷,不是隨機(jī)的,故稱為自愿中斷。強(qiáng)迫中斷引起的中斷都是隨機(jī)。第37頁,共75頁,2022年,5月20日,1點45分,星期日533 中斷的分類 1. 可屏蔽中斷(Maskable Interrupt) 2. 非屏蔽中斷(Non Maskable Interrupt) 3. 軟件中斷(Software Interrupt) INT NMI 第38頁,共75頁,2022年,5月20日,1點45分,星期日MCS-51就是具有可屏蔽中斷功能的一類CPU。中斷類型 中斷請求信號 可屏蔽中斷 INT中斷請求輸入線上輸入非屏蔽中斷 NMI中斷請求輸入線上輸入軟件中斷 用中斷指令使CPU響應(yīng)
19、中斷中斷類型 CPU響應(yīng)中斷的方式可屏蔽中斷 開中斷指令 響應(yīng) 關(guān)中斷指令 屏蔽INT上來的低電平中斷請求非屏蔽中斷 CPU必須予以響應(yīng),不能由軟件指令屏蔽軟件中斷 CPU只要執(zhí)行這種指令,完成相應(yīng)的中斷功能第39頁,共75頁,2022年,5月20日,1點45分,星期日534 中斷系統(tǒng)的功能 中斷系統(tǒng)包括中斷源的產(chǎn)生、中斷判優(yōu)、中斷查詢、中斷處理等實現(xiàn)這一全過程的硬件和軟件。中斷技術(shù)對中斷全過程的分析、研究及實現(xiàn)的方法第40頁,共75頁,2022年,5月20日,1點45分,星期日中斷判優(yōu)多中斷源同時發(fā)出中斷請求,CPU根據(jù)中斷的優(yōu)先級判斷優(yōu)先執(zhí)行的中斷請求。中斷嵌套CPU正在執(zhí)行主程序CPU正
20、在執(zhí)行低級中斷服務(wù)程序CPU正在執(zhí)行高級中斷服務(wù)程序掛起的中斷第41頁,共75頁,2022年,5月20日,1點45分,星期日中斷查詢 軟件查詢 硬件查詢中斷優(yōu)先級鏈?zhǔn)诫娐分袛鄡?yōu)先級編碼電路三態(tài)門DB+中斷請求 A L mov DPTR,#PortI movx A,DPTR RLC A JC ASV RLC A JC BSV ASV: BSV: 先查詢的優(yōu)先級高硬件申請軟件查詢第42頁,共75頁,2022年,5月20日,1點45分,星期日中斷處理中斷響應(yīng)條件 CPU處于開中斷狀態(tài):51內(nèi)部有中斷允許觸發(fā)器EA EA=0 禁止中斷;EA=1 開放中斷。 中斷響應(yīng)過程 中斷響應(yīng):停止現(xiàn)行程序, 轉(zhuǎn)向
21、中斷處理程序入口地址 關(guān)中斷 (MCS-51響應(yīng)中斷后,不自動關(guān)中斷) 保護(hù)斷點 (自動將斷點地址壓入堆棧) 執(zhí)行中斷處理程序第43頁,共75頁,2022年,5月20日,1點45分,星期日執(zhí)行中斷處理程序 保護(hù)現(xiàn)場保護(hù)中斷服務(wù)程序中用到的寄存器和狀態(tài)標(biāo)志的內(nèi)容 中斷服務(wù)相應(yīng)的中斷源服務(wù),完成一定的I/O操作 恢復(fù)現(xiàn)場完成中斷服務(wù)后,將保存在堆棧中的現(xiàn)場數(shù)據(jù)恢復(fù) 開中斷和中斷返回RETI (中斷返回指令)push PSWpush ACCpush DPHpush DPL pop DPLpop DPHpop ACCpop PSW請看P159圖5-22第44頁,共75頁,2022年,5月20日,1點4
22、5分,星期日(1)設(shè)置中斷請求觸發(fā)器( 又稱中斷標(biāo)志觸發(fā)器) 每個中斷源需有一個中斷請求觸發(fā)器, 保持中斷請求信號 ,直至CPU響應(yīng)這個中斷后,才可清除中斷請求。 當(dāng)中斷請求觸發(fā)器為“1”狀態(tài)時(Q=1),表示有中斷產(chǎn)生;Q=0表示沒有中斷產(chǎn)生。 中斷響應(yīng)條件CPU響應(yīng)中斷的條件主要有以下幾點:設(shè)置中斷請求的情況 CPU 中也要有中斷標(biāo)志觸發(fā)器,有中斷請求則置1。 第45頁,共75頁,2022年,5月20日,1點45分,星期日(2)需設(shè)置中斷屏蔽觸發(fā)器(又稱中斷允許觸發(fā)器) 每一個中斷源的接口電路中需增加一個中斷屏蔽觸發(fā)器,只有當(dāng)此觸發(fā)器為“1”時,中斷源的中斷請求才能被送出至CPU 。 具有
23、中斷屏蔽的接口電路 第46頁,共75頁,2022年,5月20日,1點45分,星期日 (3)中斷是開放的 在CPU內(nèi)部有一個中斷允許觸發(fā)器EA。只有當(dāng)EA為“1”時(即中斷開放時),CPU才能響應(yīng)中斷;若EA為“0”(即中斷是關(guān)閉的),這時外部有中斷請求,CPU不會響應(yīng),EA的狀態(tài)是可以用指令來控制的(稱為可編程的)。 (4)需設(shè)中斷優(yōu)先級觸發(fā)器 在CPU內(nèi)部要設(shè)置中斷優(yōu)先級觸發(fā)器,以實現(xiàn)嵌套; 在各中斷源中也要設(shè)一個中斷優(yōu)先級觸發(fā)器,由指令置位/復(fù)位,以表示本中斷源在中斷系統(tǒng)中的優(yōu)先級。 (5)CPU在現(xiàn)行指令結(jié)束后響應(yīng)中斷 在開中斷情況下,若中斷源有中斷請求,CPU也并不是立即響應(yīng),只是當(dāng)正
24、在執(zhí)行的指令運(yùn)行到最后一個機(jī)器周期T狀態(tài)時,CPU才采樣中斷源。若發(fā)現(xiàn)有中斷請求,則把內(nèi)部的中斷標(biāo)志鎖存器置“1”,然后下一個機(jī)器周期不進(jìn)入取指周期,而進(jìn)入中斷周期 。 第47頁,共75頁,2022年,5月20日,1點45分,星期日MCS-51 的中斷系統(tǒng)的結(jié)構(gòu)EX0EX1ET0ET1ESEAPX0PX1PT0PT1PS第48頁,共75頁,2022年,5月20日,1點45分,星期日5.4.1 MCS-51的中斷源和中斷標(biāo)志 MCS-51 共有5個中斷源 外部中斷0 外部中斷1 T/C0溢出中斷 T/C1溢出中斷 串行口中斷第49頁,共75頁,2022年,5月20日,1點45分,星期日外部中斷請
25、求0、1 中斷請求信號輸入引腳:外部中斷0請求引腳:INT0(P3.2)外部中斷1請求引腳:INT1(P3.3)INT08031INT1電平觸發(fā):低電平邊沿觸發(fā):負(fù)邊沿 中斷請求信號 外部中斷請求信號觸發(fā)方式選擇(IT0/1位)SETB IT0 外部中斷請求標(biāo)志位、中斷允許位、優(yōu)先級選擇位:INT0/1IT0/1=0 IT0/1=11IE0/1EX0/1EAPX0/101高低第50頁,共75頁,2022年,5月20日,1點45分,星期日D7D0TF1TF0IE1IT1IE0IT0TCON IT0(IT1):外部中斷請求0(1)的觸發(fā)方式選擇 IT0=0 電平觸發(fā)方式;IT0=1 邊沿觸發(fā)方式
26、IE0(IE1):外部中斷請求0(1)的中斷申請標(biāo)志 IT0=0 CPU每個機(jī)器周期采樣/INT0,若/INT0=1 則IE0=0 否則/INT0=0, IE0=1申請中斷 IT0=1 若第一個機(jī)器周期/INT0=1,第二個機(jī)器周期/INT0=0,則IE0=1申請中斷,否則IE0=0 轉(zhuǎn)向中斷服務(wù)時邊沿觸發(fā)方式下IE由硬件清零 轉(zhuǎn)向中斷服務(wù)時電平觸發(fā)方式下硬件不清IE,待申請信號撤消。第51頁,共75頁,2022年,5月20日,1點45分,星期日T/C0、T/C1溢出中斷D7D0TF1TF0IE1IT1IE0IT0TCON TF0:51片內(nèi)定時/計數(shù)器0溢出中斷請求標(biāo)志。 定時/計數(shù)器0溢出時
27、,TF0由硬件置1 CPU 響應(yīng)中斷時 自動清零 TF0 TF0 也可軟件清零 TF1: 51片內(nèi)定時/計數(shù)器1溢出中斷請求標(biāo)志第52頁,共75頁,2022年,5月20日,1點45分,星期日串行口中斷 RI:串行口接收中斷標(biāo)志 RI=1串行口接收中斷 TI:串行口發(fā)送中斷標(biāo)志 TI=1串行口發(fā)送中斷 RI、TI 由硬件置位 必須由軟件清零 SCOND7D0RITI第53頁,共75頁,2022年,5月20日,1點45分,星期日5.4.2 MCS-51 對中斷請求的控制第54頁,共75頁,2022年,5月20日,1點45分,星期日 總結(jié)中斷源的各個觸發(fā)器(p163)表5-1)中斷源中斷標(biāo)志1/0中
28、斷允許1/0中斷級別1/0外部INT0IE0 (TCON.1)EX0(IE.0)PX0 (IP.0)外部INT1IE1(TCON.3)EX1(IE.2)PX1 (IP.2)定時器0TF0(TCON.5)ET0(IE.1)PT0 (IP.1)定時器1TF1 (TCON.7)ET1(IE.3)PT1 (IP.3)串行口RI (SCON.0)TI (SCON.1)ES (IE.4)PS (IP.4)CPU標(biāo)志EA (IE.7) 寄存器: TCON、SCON 、IE 、IP 復(fù)位后,這四個寄存器均為00H。第55頁,共75頁,2022年,5月20日,1點45分,星期日若設(shè)置串行口和定時器/計數(shù)器1為高
29、級中斷: SETB PS SETB PT1問:設(shè)置后,那個中斷源的優(yōu)先級最高? 那個中斷源的優(yōu)先級最低?答: 設(shè)置后,優(yōu)先級的順序為: TF1 RI/TI INT0 TF0 INT1 高級低級同級默認(rèn)順序復(fù)位后(IP)=00H5個中斷源均為低級中斷,同級默認(rèn)順序: INT0 TF0 INT1 TF1 RI/TI第56頁,共75頁,2022年,5月20日,1點45分,星期日5.4.3 MCS-51對中斷的響應(yīng)與撤消 MCS-51中斷響應(yīng)的基本條件 MCS-51中斷響應(yīng)過程 MCS-51中斷響應(yīng)時間 MCS-51中斷請求的撤消第57頁,共75頁,2022年,5月20日,1點45分,星期日MCS-5
30、1中斷響應(yīng)的基本條件 51 CPU 中斷受阻的條件: CPU 正在處理相同或更高級中斷 現(xiàn)行的機(jī)器周期不是所執(zhí)行指令的最后一個機(jī)器周期 正在執(zhí)行的指令是訪問IE、IP或RETI指令 在執(zhí)行上述指令后至少再執(zhí)行一條指令,才可能響應(yīng)中斷。 MCS-51的中斷響應(yīng)的基本條件: 首先要有中斷源發(fā)出中斷申請; 中斷總允許位EA=1,即CPU允許所有中斷源申請中斷; 在中斷源寄存器TCON和SCON中,申請中斷的中斷標(biāo)志位為1, 即此中斷源可以向CPU申請中斷。第58頁,共75頁,2022年,5月20日,1點45分,星期日A 51CPU自動完成: CPU先在每個機(jī)器周期的S5P2期間,對各中斷源重復(fù)進(jìn)行查
31、詢,并設(shè)置相應(yīng)的中斷標(biāo)志位 。 如果中斷響應(yīng)條件滿足,且不存在中斷阻斷的情況,則CPU就響應(yīng)中斷。 硬件生成長調(diào)用指令自動地把斷點地址壓入堆棧保護(hù),并隨之將對應(yīng)的中斷入口裝入程序計數(shù)器PC,使程序轉(zhuǎn)向該入口地址,以執(zhí)行中斷服務(wù)程序。A 用戶必須完成: 在這些入口地址存放一條無條件跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷服務(wù)程序起始地址上去 。 MCS-51響應(yīng)中斷的過程第59頁,共75頁,2022年,5月20日,1點45分,星期日MCS-51 的中斷響應(yīng)過程中斷源 入口地址 同級中斷優(yōu)先級 IE0 0003H TF0 000BH IE1 0013H TF1 001BH TI/RI 0023H 中斷
32、入口地址表第60頁,共75頁,2022年,5月20日,1點45分,星期日低級中斷源的中斷服務(wù)程序用戶編程設(shè)計CLR EASETB EA第61頁,共75頁,2022年,5月20日,1點45分,星期日MCS-51 的中斷程序設(shè)計舉例例5-2請根據(jù)圖6-2的支持電路,編出CPU響應(yīng)INT0上中斷時的主程序和中斷服務(wù)程序。P1口中斷方式傳送第62頁,共75頁,2022年,5月20日,1點45分,星期日 ORG 0000H AJMP MAIN ORG 0003H LJMP EX1SVR ORG 0100HMAIN:MOV SP#6FH SETB IT0 SETB EX0 SETB EA SJMP $;等
33、待中斷EX1SVR: PUSH PSW PUSH ACC MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A POP ACC POP PSW RETI END初始化部分第63頁,共75頁,2022年,5月20日,1點45分,星期日答:將子程序入口地址壓入堆棧,因為它是CALL指令的 轉(zhuǎn)移目標(biāo)地址, 而不是CALL的下一條指令地址。問:響應(yīng)中斷后什么地址壓入堆棧?答:將 SJMP $ 指令的轉(zhuǎn)移目標(biāo)地址壓入堆棧。即 中斷在本 指令處產(chǎn)生,本指令的目標(biāo)地址是本指令地址。問:若中斷在CALL指令執(zhí)行后產(chǎn)生, 響應(yīng)中斷后什么地址壓入堆棧?問:若要控制中斷的次數(shù),
34、在主程序中采用 CJNE R7,#10,NEXT指令,NEXT標(biāo)號應(yīng)寫在什么語句上?答:將NEXT標(biāo)號寫在本指令上。 即:NEXT:CJNE R7,#10,NEXT;等待中斷 必須在中斷服務(wù)程序中用INC R7指令更新R7的值。 R7的初值在主程序的初始化部分置入。第64頁,共75頁,2022年,5月20日,1點45分,星期日子程序與中斷服務(wù)程序的區(qū)別 對強(qiáng)迫中斷的服務(wù)程序具有隨機(jī)性 要考慮可能在程序的什么指令處發(fā)生, 要保護(hù)什么內(nèi)容,才能保證返回斷點后正常工作。 對人為設(shè)置的軟件中斷與子程序調(diào)用的區(qū)別 返回指令不同 子程序返回用RET 中斷服務(wù)程序返回用RETI 處理內(nèi)容不同,中斷一般處理I
35、/O操作。 RETI 恢復(fù)中斷邏輯 轉(zhuǎn)向中斷服務(wù)是由CPU通過硬件產(chǎn)生的LCALL指令第65頁,共75頁,2022年,5月20日,1點45分,星期日544 MCS-51中斷系統(tǒng)的初始化及應(yīng)用1、MCS-51中斷系統(tǒng)的初始化中斷系統(tǒng)初始化步驟為: 1)CPU開中斷或關(guān)中斷; 2)某中斷源中斷請求的允許或禁止(屏蔽); 3)設(shè)定所用中斷的中斷優(yōu)先級; 4)若為外部中斷,則應(yīng)規(guī)定低電平還是負(fù)邊沿 的中斷觸發(fā)方式。 第66頁,共75頁,2022年,5月20日,1點45分,星期日 解: (1)采用位操作指令 SETB EA ;CPU開中斷 SETB EX1 ;開/INT1中斷 SETB PX1 ;令/I
36、NT1為高優(yōu)先級 CLR IT1 ;令/INT1為電平觸發(fā) (2)采用字節(jié)型指令 MOV IE,#84H ;開/INT1中斷 ORL IP,#04H ;令/INT1為高優(yōu)先級 ANL TCON,#OFBH ;令/INT1為電平觸發(fā) IT1=0 例5-1請寫出/INT1為低電平觸發(fā)的中斷系統(tǒng)初始化程序第67頁,共75頁,2022年,5月20日,1點45分,星期日 (1)主程序 主程序除了用來對MCS-51本身中斷系統(tǒng)初始化外,還經(jīng)常用來對具有中斷功能的外部擴(kuò)展的可編程I/O接口、可編程內(nèi)部定時器/計數(shù)器T/C0、T/C1和可編程內(nèi)部串行口等初始化,程序如下: ORG 0000H AJMP MAI
37、N MAIN: ; MAIN為主程序首地址 復(fù)位后,其PC的內(nèi)容被強(qiáng)迫置成0000H 上電啟動,CPU就執(zhí)行0000H單元的指令 必須在0000H單元放一條跳轉(zhuǎn)到主程序的跳轉(zhuǎn)指令, 實現(xiàn)了上電自動轉(zhuǎn)向主程序2、程序設(shè)計方法第68頁,共75頁,2022年,5月20日,1點45分,星期日(2)中斷服務(wù)程序 中斷服務(wù)程序是一種具有特定功能的獨立程序段,它為中斷源的特定要求服務(wù),其一般低級中斷源程序編寫格式如下: ORG ZDRK AJMP INTVS INTVS:CLR EA PUSH ACC PUSH 01H SETB EA 中斷服務(wù) CLR EA POP 01H POP ACC SETB EA RETI中斷服務(wù)程序入口地址:ZDRK 0003H 000BH 0013H 001BH 0023H 高級中斷服務(wù)程序的設(shè)計GJZHD: CLR EA 保護(hù)現(xiàn)場
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度農(nóng)業(yè)機(jī)械設(shè)備租賃服務(wù)合同4篇
- 2025年度墓地陵園墓地租賃期限調(diào)整合同4篇
- 2025年度個人與文化傳播公司合作推廣合同2篇
- 2025年度個人信用汽車貸款額度調(diào)整合同4篇
- 2025年度綠色能源儲藏系統(tǒng)采購合同4篇
- 二零二五年度美容院美容院連鎖經(jīng)營管理股份合作合同3篇
- 二零二五版綠色建筑暖通系統(tǒng)性能評估合同4篇
- 2025年度建筑工地臨時宿舍租賃服務(wù)合同范本2篇
- 2025年度寧波市事業(yè)單位財務(wù)人員勞動合同4篇
- 二零二五年度養(yǎng)老服務(wù)業(yè)合作合同2篇
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細(xì)目表四級
- 撂荒地整改協(xié)議書范本
- GB/T 20878-2024不銹鋼牌號及化學(xué)成分
- 診所負(fù)責(zé)人免責(zé)合同范本
- 2024患者十大安全目標(biāo)
- 印度與阿拉伯的數(shù)學(xué)
- 會陰切開傷口裂開的護(hù)理查房
- 實驗報告·測定雞蛋殼中碳酸鈣的質(zhì)量分?jǐn)?shù)
- 部編版小學(xué)語文五年級下冊集體備課教材分析主講
- 電氣設(shè)備建筑安裝施工圖集
- 《工程結(jié)構(gòu)抗震設(shè)計》課件 第10章-地下建筑抗震設(shè)計
評論
0/150
提交評論