版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
授課教師:左敬龍電話(huà)號(hào):68012郵箱:oklong@單片機(jī)原理及應(yīng)用MCS-51中斷系統(tǒng)概述與上對(duì)比,單片機(jī)中也有同樣的問(wèn)題。CPU正在執(zhí)行原程序,突然,被意外事情打斷,轉(zhuǎn)去執(zhí)行新程序。CPU執(zhí)行新程序結(jié)束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過(guò)程就叫。中斷
什么叫中斷?舉例:某同學(xué)正在教室寫(xiě)作業(yè),忽然被人叫出去,回來(lái)后,繼續(xù)寫(xiě)作業(yè)。這就是生活中中斷的例子。中斷處理過(guò)程概述對(duì)突發(fā)事故,做出緊急處理。根據(jù)現(xiàn)場(chǎng)隨時(shí)變化的各種參數(shù)、信息,做出實(shí)時(shí)監(jiān)控。
CPU與外部設(shè)備并行工作,以中斷方式相聯(lián)系,提高工作效率。解決快速CPU與慢速外設(shè)之間的矛盾。在多項(xiàng)外部設(shè)備同時(shí)提出中斷請(qǐng)求情況下,CPU能根據(jù)輕重緩急響應(yīng)外設(shè)的中斷請(qǐng)求。中斷的作用:概述單片機(jī)中斷系統(tǒng)中斷源1中斷控制2中斷過(guò)程3外部中斷源擴(kuò)展4一、中斷源中斷源外部中斷定時(shí)/計(jì)數(shù)器溢出中斷串行發(fā)送結(jié)束請(qǐng)求中斷串行接收有效請(qǐng)求中斷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中斷請(qǐng)求源(“五源中斷”)二、中斷控制單片機(jī)設(shè)有四個(gè)特殊功能寄存器:定時(shí)控制寄存器TCON串行控制寄存器SCON中斷屏蔽寄存器IE中斷優(yōu)先級(jí)寄存器IPMCS-51中斷控制系統(tǒng)TCONIT0IE0IT1IE1TR0TF0TR1TF1TR0/TR1:定時(shí)/計(jì)數(shù)器運(yùn)行控制位。IT0/IT1:外部中斷0/1請(qǐng)求觸發(fā)方式控制位。1為脈沖觸發(fā),下降沿有效。0為電平觸發(fā),低電平有效。TCON的字節(jié)地址為88H,位地址為88H~8FH。IE0/IE1:外中斷/請(qǐng)求標(biāo)志位。當(dāng)CPU采樣到(/INT)端出現(xiàn)有效中斷請(qǐng)求時(shí),IE0(IE1)位由硬件置“1”。當(dāng)中斷響應(yīng),轉(zhuǎn)向中斷服務(wù)程序后,由硬件把IE0(或IE1)清零。1.定時(shí)控制寄存器TCONTF0/TF1:定時(shí)/計(jì)數(shù)溢出標(biāo)志位。用于定時(shí)/計(jì)數(shù)器控制。2.串行中斷控制寄存器SCON串行控制寄存器SCON的字節(jié)地址為98HTI:
串行口發(fā)送中斷請(qǐng)求標(biāo)志位。當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”;在中斷響應(yīng),轉(zhuǎn)向中斷服務(wù)程序后,接口硬件不能自動(dòng)將TI或RI清零,需用戶(hù)用軟件清零,來(lái)撤消中斷。中斷撤消必須在下一個(gè)中斷到來(lái)之前完成。
RI:串行口接收中斷請(qǐng)求標(biāo)志位。當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“1”;在中斷響應(yīng),轉(zhuǎn)向中斷服務(wù)程序后,需用軟件清“0”。串行中斷請(qǐng)求由TI和RI的邏輯或得到。
SM0SM1SM2RENTB8RB8TIRISCON在中斷源與CPU之間有二級(jí)中斷允許控制邏輯電路,類(lèi)似開(kāi)關(guān),其中第一級(jí)為一個(gè)總開(kāi)關(guān),第二級(jí)為六個(gè)分開(kāi)關(guān),由IE控制。3、中斷屏蔽寄存器IEIEEX0ET0EX1ET1ESET2—EA若為“1”,開(kāi)關(guān)接通,允許例如EA=1;若為“0”,開(kāi)關(guān)斷開(kāi),不允許例如IE.7=0;EA——總控制位“—”——未定義位ES——串口控制位ET1——T1中斷控制位EX1——/INT1控制位ET0——T0中斷控制位EX0——/INT0控制位ET2——T2中斷控制位4、中斷優(yōu)先級(jí)寄存器IPCPU同一時(shí)間只能響應(yīng)一個(gè)中斷請(qǐng)求。若同時(shí)來(lái)了兩個(gè)或兩個(gè)以上中斷請(qǐng)求,就必須有先有后。?。。?/p>
為此將6個(gè)中斷源分成0,1兩個(gè)個(gè)級(jí)別,0低、1為高優(yōu)先級(jí)IPPX0PT0PX1PT1
PSPT2——PT2——定時(shí)/計(jì)數(shù)器T2的中斷優(yōu)先級(jí)別PS——串口的中斷優(yōu)先級(jí)別PT1——定時(shí)/計(jì)數(shù)器T1的中斷優(yōu)先級(jí)別PX1——外部中斷1的中斷優(yōu)先級(jí)別PT0——定時(shí)/計(jì)數(shù)器T0的中斷優(yōu)先級(jí)別PX0——外部中斷0的中斷優(yōu)先級(jí)別“1”,1優(yōu)先級(jí)“0”,0優(yōu)先級(jí),最低優(yōu)先級(jí)控制可以通過(guò)修改中斷優(yōu)先級(jí)控制寄存器IP的內(nèi)容實(shí)現(xiàn)。IP的字節(jié)地址為0B8H同一級(jí)中的5個(gè)中斷源的優(yōu)先順序是:/INT0中斷
T0溢出中斷
/INT1中斷
T1溢出中斷串口中斷
T2溢出中斷高低出廠(chǎng)前已由廠(chǎng)家固化順序——事先約定中斷優(yōu)先原則:(概括為四句話(huà))1、低級(jí)不打斷高級(jí)2、高級(jí)不睬低級(jí)3、同級(jí)不能打斷4、同級(jí)、同時(shí)中斷,事先約定。
中斷匯編程序初始化SETBIT0SETBEX0SETBEA
SETBPT0中斷C程序初始化 EX0=1; IT0=1;EA=1; PX0=1;三、MCS-51中斷的響應(yīng)過(guò)程CPU每個(gè)機(jī)器周期都需要順序檢查每個(gè)中斷源,當(dāng)檢測(cè)到有中斷請(qǐng)求時(shí),能否響應(yīng),還要看下述情況是否存在:
(1)CPU正處理相同級(jí)別或更高級(jí)別的中斷;(2)正在執(zhí)行指令,還未到最后一個(gè)機(jī)器周期;(3)正在執(zhí)行的指令是RETI或訪(fǎng)問(wèn)IP、IPH、IE指令,則執(zhí)行完上述指令后,再執(zhí)行一條指令后,才會(huì)響應(yīng)新中斷。
日常生活中的中斷與單片機(jī)中斷的比較
某同學(xué) 單片機(jī)過(guò)程說(shuō)明正在看書(shū)
執(zhí)行主程序有人找出去
中斷信號(hào)
中斷請(qǐng)求暫??磿?shū)
暫停執(zhí)行主程序中斷響應(yīng)書(shū)中作記號(hào)
當(dāng)前PC入棧
保護(hù)斷點(diǎn)出去做事
執(zhí)行中斷程序
中斷服務(wù)回來(lái)繼續(xù)看
返回主程序
中斷返回1、中斷請(qǐng)求
中斷請(qǐng)求就是中斷源向CPU申請(qǐng)中斷的過(guò)程,即建立中斷請(qǐng)求標(biāo)志位IE0、IE1、TF0、TF1、TI/RI的過(guò)程外部中斷請(qǐng)求:經(jīng)由引腳P3.2、P3.3向CPU申請(qǐng)中斷的過(guò)程。外部中斷請(qǐng)求有兩種方式:低電平觸發(fā)和下降沿觸發(fā)。通過(guò)設(shè)置觸發(fā)方式控制位IT0、IT1進(jìn)行選擇。IT0=0,表示為低電平觸發(fā)方式;IT0=1,表示為下降沿觸發(fā)方式。IT1的情況類(lèi)似。內(nèi)部中斷請(qǐng)求:當(dāng)T0計(jì)數(shù)產(chǎn)生溢出時(shí),由硬件置位TF0。當(dāng)CPU響應(yīng)中斷后,再由硬件將TF0清0。T1的情況類(lèi)似。當(dāng)串行口發(fā)送結(jié)束時(shí),使TI=1;當(dāng)串行口接收結(jié)束時(shí),使RI=1。CPU響應(yīng)中斷后,由軟件將TI/RI位清0。2、中斷響應(yīng)
CPU對(duì)中斷請(qǐng)求進(jìn)行判斷,形成中斷矢量,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序的過(guò)程叫中斷響應(yīng)。1)CPU響應(yīng)中斷的基本條件有中斷源提出中斷請(qǐng)求;中斷總允許位EA=1,即CPU中斷開(kāi)放;申請(qǐng)中斷的中斷源的中斷允許位為1,即中斷源開(kāi)放;CPU沒(méi)有響應(yīng)同級(jí)或更高優(yōu)先級(jí)的中斷;當(dāng)前指令執(zhí)行結(jié)束;如果正在執(zhí)行的指令是RETI或是訪(fǎng)問(wèn)IE、IP指令,則多等待一條指令。2)中斷響應(yīng)過(guò)程
單片機(jī)在每個(gè)機(jī)器周期的S5P2期間,順序采樣每個(gè)中斷源,建立中斷請(qǐng)求標(biāo)志。在下一個(gè)機(jī)器周期按優(yōu)先級(jí)查詢(xún)中斷標(biāo)志,如查詢(xún)到有中斷標(biāo)志為1,則按優(yōu)先級(jí)進(jìn)行中斷響應(yīng)。硬件將程序計(jì)數(shù)器PC的當(dāng)前內(nèi)容壓入堆棧保護(hù),然后將對(duì)應(yīng)的中斷矢量裝入程序計(jì)數(shù)器PC,使程序轉(zhuǎn)向相應(yīng)的中斷入口。這相當(dāng)于執(zhí)行一條長(zhǎng)調(diào)用指令。中斷源 入口地址外中斷 0003H定時(shí)/計(jì)數(shù)器T0溢出中斷 000BH外中斷 0013H定時(shí)/計(jì)數(shù)器T1溢出中斷 001BH串行口中斷 0023H定時(shí)/計(jì)數(shù)器T2溢出中斷 002BH3、中斷處理(中斷服務(wù))CPU響應(yīng)中斷后,根據(jù)不同的中斷源,形成不同的中斷矢量,執(zhí)行相應(yīng)的中斷服務(wù)應(yīng)用程序。CPU執(zhí)行中斷服務(wù)應(yīng)用程序的過(guò)程,就是中斷處理過(guò)程。中斷處理一般包括保護(hù)現(xiàn)場(chǎng)、中斷服務(wù)、恢復(fù)現(xiàn)場(chǎng)三部分。關(guān)中斷保護(hù)現(xiàn)場(chǎng)開(kāi)中斷中斷服務(wù)恢復(fù)現(xiàn)場(chǎng)開(kāi)中斷中斷返回?cái)帱c(diǎn)地址由堆棧彈出保護(hù)和恢復(fù)現(xiàn)場(chǎng)之后開(kāi)中斷,是為了允許響應(yīng)更高級(jí)別的中斷。保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)的過(guò)程中不允許中斷,以免現(xiàn)場(chǎng)遭到破壞。關(guān)中斷4、中斷返回1)中斷返回的過(guò)程在中斷服務(wù)程序的最后,遇到C語(yǔ)言中斷服務(wù)程序的“}”:將相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器清零;恢復(fù)斷點(diǎn)地址,即從堆棧中彈出棧頂?shù)膬蓚€(gè)字節(jié)到PC,從而返回到斷點(diǎn)處;2)中斷請(qǐng)求的撤銷(xiāo)在中斷返回(執(zhí)行RETI)前,必須撤除中斷請(qǐng)求,即將中斷標(biāo)志位清除,否則當(dāng)CPU返回到主程序后會(huì)錯(cuò)誤地再一次引起中斷響應(yīng)。
(1)T0/T1和邊沿觸發(fā)的INT0/INT1:自動(dòng)撤銷(xiāo)(2)電平觸發(fā)的INT0/INT1:CPU無(wú)法直接控制,需要在引腳處加硬件撤銷(xiāo)中斷請(qǐng)求。(3)串行口中斷:CPU響應(yīng)中斷后不能用硬件清除中斷標(biāo)志位,必須由用戶(hù)在中斷服務(wù)程序中用指令來(lái)清除相應(yīng)的中斷標(biāo)志。3)中斷響應(yīng)時(shí)間MCS-51單片機(jī)響應(yīng)中斷的最短時(shí)間為3個(gè)機(jī)器周期,最長(zhǎng)為8個(gè)機(jī)器周期。事件1事件2子程序2子程序1中斷嵌套的概念:
主程序中斷中斷例:每次按鍵都會(huì)觸發(fā)INT0中斷,中斷發(fā)生時(shí)將LED狀態(tài)取反,產(chǎn)生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ā),當(dāng)外部中斷0到來(lái)時(shí),P1的8個(gè)端口為00H;外部中斷1采用低電平沿觸發(fā),當(dāng)外部中斷1到來(lái)時(shí),P1的8個(gè)端口為0FFH;分析外部中斷0會(huì)否打斷外部中斷1?
練習(xí):試編程,目前單片機(jī)的P1在數(shù)55H和0AAH之間進(jìn)行跳變,外部中斷0采用下降沿觸發(fā),當(dāng)外部中斷0到來(lái)時(shí),P1的8個(gè)端口均在0和1之間進(jìn)行跳變,跳變10秒后退出中斷。四、外部中斷源擴(kuò)展MCS-51單片機(jī)只提供了兩個(gè)外部中斷請(qǐng)求輸入端,在實(shí)際應(yīng)用中,如果需要使用多于兩個(gè)的外部中斷源,就必須進(jìn)行外部中斷源的擴(kuò)展。常用的幾種外部中斷源擴(kuò)展方法是:利用單片機(jī)中的定時(shí)器/計(jì)數(shù)器T0、T1來(lái)擴(kuò)展;外接硬件電路并配合查詢(xún)程序擴(kuò)展;外接中斷控制芯片(如8259)進(jìn)行擴(kuò)展。實(shí)踐利用單片機(jī)中斷,擴(kuò)展成8路搶答器的按鍵。實(shí)踐:全自動(dòng)洗衣機(jī)“啟動(dòng)/暫?!笨刂芇toteus仿真
全自動(dòng)洗衣機(jī)工作過(guò)程中,當(dāng)遇到意外事件發(fā)生,如衣物纏繞,或需要干預(yù)洗衣進(jìn)程時(shí),如需要添加消毒液,就需要暫停當(dāng)前洗衣進(jìn)程,處理這些事件。假設(shè)全自動(dòng)洗衣機(jī)有8個(gè)流程,用8個(gè)指示燈表示;用8個(gè)按鍵進(jìn)行選擇控制。當(dāng)某個(gè)流程工作時(shí),對(duì)應(yīng)的指示燈點(diǎn)亮。當(dāng)按下按鍵K時(shí),中斷正在進(jìn)行的流程,對(duì)應(yīng)的流程指示燈閃爍,洗衣機(jī)進(jìn)入等待狀態(tài);再次按下K時(shí),指示燈停止閃爍,變成點(diǎn)亮狀態(tài),表示洗衣機(jī)恢復(fù)原來(lái)被中斷的洗衣流程。#include<reg51.h> //包含頭文件voiddelayMs(unsignedinti) //定義延時(shí)程序{unsignedintj; //定義延時(shí)變量
while(i--){ //延時(shí)外循環(huán)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 玩具設(shè)計(jì)師童心未泯創(chuàng)意無(wú)限
- 文化創(chuàng)意技術(shù)工作總結(jié)
- 整形外科護(hù)士全年工作總結(jié)
- 證券行業(yè)衛(wèi)生規(guī)范
- 《愛(ài)勞動(dòng)講衛(wèi)生》課件
- 2021年高考語(yǔ)文試卷(上海)(春考)(解析卷)
- 2024年濮陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 2024年美術(shù)的教案
- 農(nóng)村房屋問(wèn)題協(xié)議書(shū)(2篇)
- 出境游全程無(wú)憂(yōu)旅游合同
- 微型頂管施工方案
- 湘教文藝版小學(xué)五年級(jí)音樂(lè)上冊(cè)期末測(cè)試題
- 老化箱點(diǎn)檢表A4版本
- 略說(shuō)魯迅全集的五種版本
- 2022年110接警員業(yè)務(wù)測(cè)試題庫(kù)及答案
- 中聯(lián)16T吊車(chē)參數(shù)
- DB44∕T 115-2000 中央空調(diào)循環(huán)水及循環(huán)冷卻水水質(zhì)標(biāo)準(zhǔn)
- 嵌入式軟件架構(gòu)設(shè)計(jì)
- 《石油天然氣地質(zhì)與勘探》第3章儲(chǔ)集層和蓋層
- 航道整治課程設(shè)計(jì)--
- 超星爾雅學(xué)習(xí)通《科學(xué)計(jì)算與MATLAB語(yǔ)言》章節(jié)測(cè)試含答案
評(píng)論
0/150
提交評(píng)論