單片微機(jī)原理第四章42定時(shí)、中斷、串行課件_第1頁(yè)
單片微機(jī)原理第四章42定時(shí)、中斷、串行課件_第2頁(yè)
單片微機(jī)原理第四章42定時(shí)、中斷、串行課件_第3頁(yè)
單片微機(jī)原理第四章42定時(shí)、中斷、串行課件_第4頁(yè)
單片微機(jī)原理第四章42定時(shí)、中斷、串行課件_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

4.2中斷系統(tǒng)及應(yīng)用4.2.1中斷有關(guān)的概念4.2.28051中斷標(biāo)志及控制寄存器4.2.3中斷響應(yīng)的條件及響應(yīng)過程

4.2.4中斷程序設(shè)計(jì)思想4.2.5中斷應(yīng)用程序設(shè)計(jì)舉例4.2.1

中斷有關(guān)的概念中斷:利用軟硬件配合,根據(jù)某種需要斷開正在執(zhí)行的程序而轉(zhuǎn)向另一專門程序,結(jié)束后再返回到原斷開處繼續(xù)執(zhí)行被中止的程序,這個(gè)過程稱為中斷。中斷服務(wù)程序或中斷處理程序:中斷后轉(zhuǎn)向執(zhí)行的程序。斷點(diǎn):原程序被斷開的位置(地址)。中斷源:發(fā)出中斷信號(hào)的設(shè)備。中斷請(qǐng)求或中斷申請(qǐng):中斷源要求中斷服務(wù)所發(fā)出的標(biāo)志信號(hào)。中斷源包括:外部設(shè)備如鍵盤、打印機(jī)、磁盤驅(qū)動(dòng)器等,還有內(nèi)部定時(shí)器、故障源,以及根據(jù)需要人為設(shè)置的中斷源等等。中斷響應(yīng):中斷源向CPU發(fā)出中斷申請(qǐng),CPU經(jīng)過判斷認(rèn)為滿足條件,則對(duì)中斷源作出的答復(fù)。

中斷流程1.外部中斷源2個(gè):INT0(P3.2)、INT1(P3.3)

由P3.2端口線引入,低電平或下降沿引起。由P3.3端口線引入,低電平或下降沿引起。2.內(nèi)部中斷源T0溢出中斷:定時(shí)/計(jì)數(shù)器0中斷,由T0溢出引起。T1溢出中斷:定時(shí)/計(jì)數(shù)器1中斷,由T1溢出引起。串行口中斷TI/RI:串行I/O中斷,完成一幀字符發(fā)送/接收引起。805l單片機(jī)共有5個(gè)中斷:4.2.28051中斷標(biāo)志及控制寄存器一、中斷標(biāo)志寄存器TCON、SCONTCON是定時(shí)/計(jì)數(shù)器控制寄存器SCON是串行口控制寄存器1.TCON中斷標(biāo)志位TCON寄存器中與中斷有關(guān)位如下:D7D6D5D4D3D2D1D0

①TF1和TF0定時(shí)器溢出中斷申請(qǐng)標(biāo)志位。②IE1和IE0外部中斷申請(qǐng)標(biāo)志位。IE1=1表示外部中斷1(1NT1)發(fā)出中斷申請(qǐng);IE0=1表示外部中斷0(1NT0)發(fā)出中斷申請(qǐng)。

TF1TR1TF0TR0IE1IT1IE0IT0③IT1和IT0外部中斷觸發(fā)方式控制位。

IT1=1邊沿觸發(fā)方式INT1端有下跳變↓時(shí),發(fā)出中斷申請(qǐng),把IE1置“1”;

IT1=0電平觸發(fā)方式

INT1端加低電平時(shí),發(fā)出中斷申請(qǐng),把1E1置“1”。只有外部中斷才有中斷觸發(fā)方式控制。在邊沿觸發(fā)方式,中斷響應(yīng)后由硬件自動(dòng)清除中斷標(biāo)志IE1和IE0。在電平觸發(fā)方式,無論硬件或軟件均不能清除中斷標(biāo)志位,只有把INT1或INT0端的低電平撤掉,才能清除IT1或IT0。二、中斷優(yōu)先級(jí)控制寄存器IP8051單片機(jī)內(nèi)有5個(gè)中斷。若有兩個(gè)以上中斷同時(shí)發(fā)出中斷請(qǐng)求,先響應(yīng)哪一個(gè)的申請(qǐng)則是CPU必須解決的問題中斷優(yōu)先級(jí):根據(jù)每個(gè)中斷源的重要程度和中斷請(qǐng)求的緊急程度,事先排好一個(gè)響應(yīng)中斷的順序,這個(gè)順序叫中斷優(yōu)先級(jí)。1.自然優(yōu)先級(jí)(機(jī)器內(nèi)預(yù)先安排好的中斷順序)

外部中斷0(INT0)最高級(jí)定時(shí)器T0中斷外部中斷1(INT1)定時(shí)器T1中斷串行口中斷最低級(jí)

T0、T1同時(shí)發(fā)出中斷申請(qǐng),CPU自然會(huì)先響應(yīng)T0的中斷請(qǐng)求。因?yàn)門0的優(yōu)先級(jí)比T1優(yōu)先級(jí)高。2.優(yōu)先級(jí)設(shè)定通過對(duì)優(yōu)先級(jí)控制寄存器IP的設(shè)置,把中斷源分成兩大類:高優(yōu)先級(jí)中斷源和低優(yōu)先級(jí)中斷源。若同一級(jí)有幾個(gè)中斷源申請(qǐng),則按自然優(yōu)先級(jí)順序響應(yīng)。IP(B8H)格式如下:

D7D6D5D4D3D2D1D0

INT0中斷優(yōu)先級(jí)控制位T0中斷優(yōu)先級(jí)控制位INT1中斷優(yōu)先級(jí)控制位T1中斷優(yōu)先級(jí)控制位串行口中斷優(yōu)先級(jí)控制位PSPT1PX1PT0PX0指令MOVIP,#09H;把T1、INT0設(shè)置為高優(yōu)先級(jí),其余為低優(yōu)先級(jí)。若T1、INT0同時(shí)發(fā)出中斷申請(qǐng),按自然優(yōu)先級(jí),先響應(yīng)外部中斷即INT0,后響應(yīng)定時(shí)器T1的中斷。例如,若允許T0中斷,禁止其它中斷,則中斷允許控制字為82H(EA=1,ET0=1),由送數(shù)指令設(shè)置。方法一:程序MOVIE,#82H;IE寄存器送入控制字方法二:

由于IE寄存器可以位尋址,也可用位尋址指令設(shè)置它。程序SETBEA;開總中斷SETBET0;T0中斷允許805l系統(tǒng)復(fù)位后,IE、IP都被清0,若使用中斷必須由程序事先對(duì)二者進(jìn)行設(shè)置。4.2.3中斷響應(yīng)的條件及響應(yīng)過程中斷源發(fā)出中斷請(qǐng)求后,要得到CPU的響應(yīng)是有條件的?;緱l件如下:①首先中斷源要發(fā)出中斷請(qǐng)求,即把中斷標(biāo)志寄存器TCON、SCON相應(yīng)位置“1”。②中斷總允許位EA=1,CPU允許響應(yīng)中斷申請(qǐng)。③IE寄存器相應(yīng)中斷允許位置“1”,允許該中斷源發(fā)出中斷申請(qǐng),進(jìn)行中斷。④沒有更高一級(jí)中斷響應(yīng)。4.2.3中斷響應(yīng)的條件及響應(yīng)過程中斷響應(yīng)過程:

當(dāng)中斷條件滿足后,CPU響應(yīng)中斷。這時(shí),硬件自動(dòng)產(chǎn)生長(zhǎng)調(diào)用LCALL指令。此指令把主程序斷點(diǎn)地址壓入堆棧,然后把中斷服務(wù)程序入口地址裝入PC。在PC指引下進(jìn)入中斷服務(wù)程序。中斷服務(wù)程序最后都必須有一條中斷返回指令RETI。當(dāng)執(zhí)行RETI時(shí)把程序斷點(diǎn)彈出并送往PC,這樣程序又返回到主程序斷點(diǎn)處,繼續(xù)執(zhí)行主程序。4.2.4中斷程序設(shè)計(jì)思想中斷系統(tǒng)雖是硬件系統(tǒng),但必須由相應(yīng)軟件配合才能正確使用。設(shè)計(jì)中斷程序需要弄清以下幾個(gè)方面的問題。一、中斷程序設(shè)計(jì)的任務(wù)①設(shè)置中斷允許控制寄存器IE,允許相應(yīng)中斷源中斷。②設(shè)置中斷優(yōu)先級(jí)寄存器IP,選擇、分配所使用中斷源的優(yōu)先級(jí)。③若是外部中斷源,還要設(shè)置中斷請(qǐng)求觸發(fā)方式IT1或IT0,決定采用邊沿觸發(fā)方式還是電平觸發(fā)方式。④編寫中斷服務(wù)程序,處理中斷請(qǐng)求。前3條一般放在初始化主程序中。

例如,假設(shè)允許外部中斷0中斷,并設(shè)定它為最高級(jí)中斷,其它中斷源為低級(jí)中斷,采取邊沿觸發(fā)方式。在主程序中可使用如下指令:SETBEA;開總中斷SETBEX0;允許外部中斷0產(chǎn)生中斷SETBPX0;外部中斷0為高級(jí)中斷SETBIT0;外部中斷0申請(qǐng)信號(hào)為邊沿觸發(fā)方式二、中斷入口地址中斷入口地址和中斷源是一一對(duì)應(yīng)關(guān)系。MCS—51系列有5個(gè)中斷對(duì)應(yīng)5個(gè)入口地址:中斷源入口地址INT00003HT0000BHINT10013HT1001BH串行口0023H中斷服務(wù)程序必須從相應(yīng)入口地址開始存放。當(dāng)中斷響應(yīng)時(shí)由硬件生成的長(zhǎng)調(diào)用指令(LCALL)先把斷點(diǎn)壓入堆棧保存,然后把上述相應(yīng)入口地址裝入PC。中斷服務(wù)程序從入口地址開始執(zhí)行,直到返回指令RETI為止。四、中斷服務(wù)程序基本結(jié)構(gòu)關(guān)中斷↓保護(hù)現(xiàn)場(chǎng)↓開中斷↓中斷處理↓關(guān)中斷↓恢復(fù)現(xiàn)場(chǎng)↓開中斷↓中斷返回4.2.5中斷應(yīng)用程序設(shè)計(jì)舉例例1

使用定時(shí)器定時(shí),每隔10s使與P1.0口連接的發(fā)光二極管閃爍10次;設(shè)P1.0高電平燈亮,反之燈滅。分析:中斷源T0,入口地址000BH。當(dāng)T0溢出時(shí)TF0為“l(fā)”發(fā)出中斷申請(qǐng),條件滿足CPU響應(yīng),進(jìn)入中斷處理程序。

置循環(huán)常數(shù)T0初始值閃爍常數(shù)開中斷啟動(dòng)T0置循環(huán)常數(shù)YYN重裝常數(shù)10s?燈閃10次?置循環(huán)常數(shù)N主程序框圖中斷服務(wù)程序框圖主程序中要進(jìn)行中斷設(shè)置和定時(shí)器初始化,中斷服務(wù)程序中安排燈閃爍。程序如下:ORG0000H;程序起始地址LJMPMAIN;主程序入口地址ORG000BH;T0中斷入口地址LJMPINT;中斷人口地址ORG0100HMAIN:MOVR0,#200;10s循環(huán)次數(shù)MOVTMOD,#01H;T0定時(shí)方式1MOVTH0,#3CH;50MS初值高位MOVTL0,#0B0H;50ms初值低位MOVR1,#10;閃爍次數(shù)SETBEA;開總中斷SETBET0;開T0中斷SETBTRO;啟動(dòng)T0LP:SJMPLP;循環(huán)等待中斷定時(shí)/計(jì)數(shù)器及中斷系統(tǒng)綜合【例】設(shè)MCS-51單片機(jī)系統(tǒng)時(shí)鐘頻率fosc為6MHz,請(qǐng)編出利用定時(shí)/計(jì)數(shù)器T0在P1.0引腳上產(chǎn)生周期為2秒,占空比為50%的方波信號(hào)的程序(1)主程序任務(wù):1)T0工作方式的設(shè)定:選擇方式1(16位方式)(最大定時(shí)131ms)2)定時(shí)常數(shù)的設(shè)定:TC=216-100ms/2μs=15536=3CB0H即:TH0應(yīng)裝3CH,TL0應(yīng)裝B0H。3)中斷管理:允許T0中斷,開放總中斷即:IE應(yīng)裝10000010B。4)啟動(dòng)定時(shí)器T0:SETB TR05)設(shè)置軟件計(jì)數(shù)器初值:(如使用R7)即R7應(yīng)裝0AH6)動(dòng)態(tài)停機(jī):SJMP $完整程序如下: ORG0000HAJMPMAIN ORG000BHAJMP TOINT ORG0030HMAIN: MOV TMOD,#01H MOVTH0,#3CH MOV TL0,#0B0H MOVIE,#82HSETB TR0 MOV R7,#0AH SJMP $TOINT: MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,NEXT CPL P1.0MOV R7,#0AHNEXT: RETI END返回本節(jié)

例2設(shè)計(jì)交通十字路口特種車優(yōu)先通過的程序。要求:正常情況,東西南北十字路口的燈按要求正常行駛,一旦特種車(如救護(hù)車、消防車等)到達(dá),則給外部中斷INT0(P3.2)端一個(gè)負(fù)跳變,發(fā)出中斷申請(qǐng)。條件滿足后轉(zhuǎn)中斷處理程序,使東西南北四個(gè)方向燈全“紅”,一切車全停,只有特種車可以暢通無阻地通過,10s后各種車輛恢復(fù)正常運(yùn)行。重點(diǎn)介紹程序結(jié)構(gòu)。特種車優(yōu)先通過的交通燈程序框圖如圖4-4所示。

主程序結(jié)構(gòu)ORG0000HLJMPMAINORG0003HLJMPINTORG0200HMAIN:SETBEA;INT0中斷設(shè)置SETBEX0SETBIT0↓

正常行駛程序↓

中斷服務(wù)程序結(jié)構(gòu)

ORG1000HINT:PUSHACC;保護(hù)現(xiàn)場(chǎng)PUSHPSW

四個(gè)方向紅燈全亮特種車通過延時(shí)10sPOPPSW;恢復(fù)現(xiàn)場(chǎng)POPACCRETI;中斷返回4.2.6設(shè)計(jì)與調(diào)試中斷程序應(yīng)注意的幾個(gè)問題一、調(diào)試時(shí)注意開發(fā)機(jī)上使用的中斷入口地址若開發(fā)機(jī)監(jiān)控程序占用一部分地址(如占用2000H或4000H以前地址),在開發(fā)機(jī)監(jiān)控程序中一般把中斷入口地址處都加一條無條件轉(zhuǎn)移指令,跳轉(zhuǎn)到用戶可使用的最小地址加上中斷入口地址處。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論