




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
授課教師:左敬龍電話號:68012郵箱:oklong@單片機原理及應用MCS-51中斷系統概述與上對比,單片機中也有同樣的問題。CPU正在執(zhí)行原程序,突然,被意外事情打斷,轉去執(zhí)行新程序。CPU執(zhí)行新程序結束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過程就叫。中斷
什么叫中斷?舉例:某同學正在教室寫作業(yè),忽然被人叫出去,回來后,繼續(xù)寫作業(yè)。這就是生活中中斷的例子。中斷處理過程概述對突發(fā)事故,做出緊急處理。根據現場隨時變化的各種參數、信息,做出實時監(jiān)控。
CPU與外部設備并行工作,以中斷方式相聯系,提高工作效率。解決快速CPU與慢速外設之間的矛盾。在多項外部設備同時提出中斷請求情況下,CPU能根據輕重緩急響應外設的中斷請求。中斷的作用:概述單片機中斷系統中斷源1中斷控制2中斷過程3外部中斷源擴展4一、中斷源中斷源外部中斷定時/計數器溢出中斷串行發(fā)送結束請求中斷串行接收有效請求中斷TLi(8位)THi(8位)TFi中斷控制BAC/T=0振蕩器1/12&≥1TiTRiGATEINTiC/T=10~70~7中斷源:入口地址外部中斷0(/INT0)0003HT0溢出中斷000BH外部中斷1(/INT1)0013HT1溢出中斷001BH串口中斷0023H
T2溢出中斷002BH中斷請求源(“五源中斷”)二、中斷控制單片機設有四個特殊功能寄存器:定時控制寄存器TCON串行控制寄存器SCON中斷屏蔽寄存器IE中斷優(yōu)先級寄存器IPMCS-51中斷控制系統TCONIT0IE0IT1IE1TR0TF0TR1TF1TR0/TR1:定時/計數器運行控制位。IT0/IT1:外部中斷0/1請求觸發(fā)方式控制位。1為脈沖觸發(fā),下降沿有效。0為電平觸發(fā),低電平有效。TCON的字節(jié)地址為88H,位地址為88H~8FH。IE0/IE1:外中斷/請求標志位。當CPU采樣到(/INT)端出現有效中斷請求時,IE0(IE1)位由硬件置“1”。當中斷響應,轉向中斷服務程序后,由硬件把IE0(或IE1)清零。1.定時控制寄存器TCONTF0/TF1:定時/計數溢出標志位。用于定時/計數器控制。2.串行中斷控制寄存器SCON串行控制寄存器SCON的字節(jié)地址為98HTI:
串行口發(fā)送中斷請求標志位。當發(fā)送完一幀串行數據后,由硬件置“1”;在中斷響應,轉向中斷服務程序后,接口硬件不能自動將TI或RI清零,需用戶用軟件清零,來撤消中斷。中斷撤消必須在下一個中斷到來之前完成。
RI:串行口接收中斷請求標志位。當接收完一幀串行數據后,由硬件置“1”;在中斷響應,轉向中斷服務程序后,需用軟件清“0”。串行中斷請求由TI和RI的邏輯或得到。
SM0SM1SM2RENTB8RB8TIRISCON在中斷源與CPU之間有二級中斷允許控制邏輯電路,類似開關,其中第一級為一個總開關,第二級為六個分開關,由IE控制。3、中斷屏蔽寄存器IEIEEX0ET0EX1ET1ESET2—EA若為“1”,開關接通,允許例如EA=1;若為“0”,開關斷開,不允許例如IE.7=0;EA——總控制位“—”——未定義位ES——串口控制位ET1——T1中斷控制位EX1——/INT1控制位ET0——T0中斷控制位EX0——/INT0控制位ET2——T2中斷控制位4、中斷優(yōu)先級寄存器IPCPU同一時間只能響應一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。!!!
為此將6個中斷源分成0,1兩個個級別,0低、1為高優(yōu)先級IPPX0PT0PX1PT1
PSPT2——PT2——定時/計數器T2的中斷優(yōu)先級別PS——串口的中斷優(yōu)先級別PT1——定時/計數器T1的中斷優(yōu)先級別PX1——外部中斷1的中斷優(yōu)先級別PT0——定時/計數器T0的中斷優(yōu)先級別PX0——外部中斷0的中斷優(yōu)先級別“1”,1優(yōu)先級“0”,0優(yōu)先級,最低優(yōu)先級控制可以通過修改中斷優(yōu)先級控制寄存器IP的內容實現。IP的字節(jié)地址為0B8H同一級中的5個中斷源的優(yōu)先順序是:/INT0中斷
T0溢出中斷
/INT1中斷
T1溢出中斷串口中斷
T2溢出中斷高低出廠前已由廠家固化順序——事先約定中斷優(yōu)先原則:(概括為四句話)1、低級不打斷高級2、高級不睬低級3、同級不能打斷4、同級、同時中斷,事先約定。
中斷匯編程序初始化SETBIT0SETBEX0SETBEA
SETBPT0中斷C程序初始化 EX0=1; IT0=1;EA=1; PX0=1;三、MCS-51中斷的響應過程CPU每個機器周期都需要順序檢查每個中斷源,當檢測到有中斷請求時,能否響應,還要看下述情況是否存在:
(1)CPU正處理相同級別或更高級別的中斷;(2)正在執(zhí)行指令,還未到最后一個機器周期;(3)正在執(zhí)行的指令是RETI或訪問IP、IPH、IE指令,則執(zhí)行完上述指令后,再執(zhí)行一條指令后,才會響應新中斷。
日常生活中的中斷與單片機中斷的比較
某同學 單片機過程說明正在看書
執(zhí)行主程序有人找出去
中斷信號
中斷請求暫停看書
暫停執(zhí)行主程序中斷響應書中作記號
當前PC入棧
保護斷點出去做事
執(zhí)行中斷程序
中斷服務回來繼續(xù)看
返回主程序
中斷返回1、中斷請求
中斷請求就是中斷源向CPU申請中斷的過程,即建立中斷請求標志位IE0、IE1、TF0、TF1、TI/RI的過程外部中斷請求:經由引腳P3.2、P3.3向CPU申請中斷的過程。外部中斷請求有兩種方式:低電平觸發(fā)和下降沿觸發(fā)。通過設置觸發(fā)方式控制位IT0、IT1進行選擇。IT0=0,表示為低電平觸發(fā)方式;IT0=1,表示為下降沿觸發(fā)方式。IT1的情況類似。內部中斷請求:當T0計數產生溢出時,由硬件置位TF0。當CPU響應中斷后,再由硬件將TF0清0。T1的情況類似。當串行口發(fā)送結束時,使TI=1;當串行口接收結束時,使RI=1。CPU響應中斷后,由軟件將TI/RI位清0。2、中斷響應
CPU對中斷請求進行判斷,形成中斷矢量,轉入相應的中斷服務程序的過程叫中斷響應。1)CPU響應中斷的基本條件有中斷源提出中斷請求;中斷總允許位EA=1,即CPU中斷開放;申請中斷的中斷源的中斷允許位為1,即中斷源開放;CPU沒有響應同級或更高優(yōu)先級的中斷;當前指令執(zhí)行結束;如果正在執(zhí)行的指令是RETI或是訪問IE、IP指令,則多等待一條指令。2)中斷響應過程
單片機在每個機器周期的S5P2期間,順序采樣每個中斷源,建立中斷請求標志。在下一個機器周期按優(yōu)先級查詢中斷標志,如查詢到有中斷標志為1,則按優(yōu)先級進行中斷響應。硬件將程序計數器PC的當前內容壓入堆棧保護,然后將對應的中斷矢量裝入程序計數器PC,使程序轉向相應的中斷入口。這相當于執(zhí)行一條長調用指令。中斷源 入口地址外中斷 0003H定時/計數器T0溢出中斷 000BH外中斷 0013H定時/計數器T1溢出中斷 001BH串行口中斷 0023H定時/計數器T2溢出中斷 002BH3、中斷處理(中斷服務)CPU響應中斷后,根據不同的中斷源,形成不同的中斷矢量,執(zhí)行相應的中斷服務應用程序。CPU執(zhí)行中斷服務應用程序的過程,就是中斷處理過程。中斷處理一般包括保護現場、中斷服務、恢復現場三部分。關中斷保護現場開中斷中斷服務恢復現場開中斷中斷返回斷點地址由堆棧彈出保護和恢復現場之后開中斷,是為了允許響應更高級別的中斷。保護現場和恢復現場的過程中不允許中斷,以免現場遭到破壞。關中斷4、中斷返回1)中斷返回的過程在中斷服務程序的最后,遇到C語言中斷服務程序的“}”:將相應的優(yōu)先級狀態(tài)觸發(fā)器清零;恢復斷點地址,即從堆棧中彈出棧頂的兩個字節(jié)到PC,從而返回到斷點處;2)中斷請求的撤銷在中斷返回(執(zhí)行RETI)前,必須撤除中斷請求,即將中斷標志位清除,否則當CPU返回到主程序后會錯誤地再一次引起中斷響應。
(1)T0/T1和邊沿觸發(fā)的INT0/INT1:自動撤銷(2)電平觸發(fā)的INT0/INT1:CPU無法直接控制,需要在引腳處加硬件撤銷中斷請求。(3)串行口中斷:CPU響應中斷后不能用硬件清除中斷標志位,必須由用戶在中斷服務程序中用指令來清除相應的中斷標志。3)中斷響應時間MCS-51單片機響應中斷的最短時間為3個機器周期,最長為8個機器周期。事件1事件2子程序2子程序1中斷嵌套的概念:
主程序中斷中斷例:每次按鍵都會觸發(fā)INT0中斷,中斷發(fā)生時將LED狀態(tài)取反,產生LED狀態(tài)由按鍵控制的效果。
voidEX_INT0()interrupt0using1{ LED=~LED;//控制LED亮滅}voidmain(){ LED=1; EA=1; EX0=1; IT0=1; while(1);}#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitLED=P0^0;
例:試編程,外部中斷0采用下降沿觸發(fā),當外部中斷0到來時,P1的8個端口為00H;外部中斷1采用低電平沿觸發(fā),當外部中斷1到來時,P1的8個端口為0FFH;分析外部中斷0會否打斷外部中斷1?
練習:試編程,目前單片機的P1在數55H和0AAH之間進行跳變,外部中斷0采用下降沿觸發(fā),當外部中斷0到來時,P1的8個端口均在0和1之間進行跳變,跳變10秒后退出中斷。四、外部中斷源擴展MCS-51單片機只提供了兩個外部中斷請求輸入端,在實際應用中,如果需要使用多于兩個的外部中斷源,就必須進行外部中斷源的擴展。常用的幾種外部中斷源擴展方法是:利用單片機中的定時器/計數器T0、T1來擴展;外接硬件電路并配合查詢程序擴展;外接中斷控制芯片(如8259)進行擴展。實踐利用單片機中斷,擴展成8路搶答器的按鍵。實踐:全自動洗衣機“啟動/暫停”控制Ptoteus仿真
全自動洗衣機工作過程中,當遇到意外事件發(fā)生,如衣物纏繞,或需要干預洗衣進程時,如需要添加消毒液,就需要暫停當前洗衣進程,處理這些事件。假設全自動洗衣機有8個流程,用8個指示燈表示;用8個按鍵進行選擇控制。當某個流程工作時,對應的指示燈點亮。當按下按鍵K時,中斷正在進行的流程,對應的流程指示燈閃爍,洗衣機進入等待狀態(tài);再次按下K時,指示燈停止閃爍,變成點亮狀態(tài),表示洗衣機恢復原來被中斷的洗衣流程。#include<reg51.h> //包含頭文件voiddelayMs(unsignedinti) //定義延時程序{unsignedintj; //定義延時變量
while(i--){ //延時外循環(huán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CHATA 016-2021結核菌素皮膚試驗-γ干擾素釋放試驗兩步法的操作技術規(guī)范
- T/CGCC 74-2022大宗商品電子交易綜合服務平臺應用效果評價指南
- T/CECS 10244-2022綠色建材評價冷卻塔
- T/CECS 10023-2019無內置熱源相變蓄熱裝置
- T/CCT 012-2023 T/CCCAT 008-2023干法選煤工程設計規(guī)范
- T/CCT 006-2022煤礦礦井水處理運營能力評價
- T/CCS 011-2023采煤工作面智能化接續(xù)設計要求
- T/CCMA 0150-2023工業(yè)車輛用氫燃料電池動力系統技術規(guī)范
- T/CCBD 16-2022品牌價值評價環(huán)境保護企業(yè)
- T/CCAS 012-2019水泥密度測定方法(氣體置換法)
- GB/T 2410-1980透明塑料透光率和霧度試驗方法
- 六年級英語下冊單詞和短語默寫版廣州
- 礦井火災防治課件
- 中考物理復習杠桿和滑輪課件
- 辦公室擬辦意見范文(優(yōu)選十八篇)
- 最新安全生產管理教材電子版
- (完整版)馬克思主義基本原理概論知識點
- 地表水水質自動監(jiān)測站運行維護技術規(guī)范
- 健康證申請證明(通用)
- GB∕T 10054.1-2021 貨用施工升降機 第1部分:運載裝置可進人的升降機
- 生物安全委員會及組織架構
評論
0/150
提交評論