版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目-1可中斷控制流水燈系統(tǒng)2知識(shí)擴(kuò)展學(xué)習(xí)情境3-交通燈控制系統(tǒng)制作早期的計(jì)算機(jī)系統(tǒng)是不包含中斷系統(tǒng)的。但是當(dāng)一個(gè)高速主機(jī)和一個(gè)低速外設(shè)連接時(shí),效率極低,低速外設(shè)工作時(shí)無端占用大量CPU時(shí)間。一個(gè)高速主機(jī)和多個(gè)低速外設(shè)連接時(shí),高速主機(jī)無法進(jìn)行多任務(wù)并行處理。后來為了解決快速主機(jī)與慢速外設(shè)的數(shù)據(jù)傳送問題,引入中斷系統(tǒng),并可以實(shí)現(xiàn)如下功能:分時(shí)操作:CPU可以分時(shí)為多個(gè)外設(shè)服務(wù),提高了計(jì)算機(jī)的利用率;實(shí)時(shí)響應(yīng):CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng);可靠性高:CPU具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。1、為什么要采用中斷?
(1)外部中斷源
外部中斷0(INT0):來自P3.2引腳,外部中斷請(qǐng)求信號(hào)(低電平或負(fù)跳變有效)由INT0引腳輸入,中斷請(qǐng)求標(biāo)志為IE0。外部中斷1(INT1):來自P3.3引腳,外部中斷請(qǐng)求信號(hào)(低電平或負(fù)跳變有效)由INT1*引腳輸入,中斷請(qǐng)求標(biāo)志為IE1。2、中斷源產(chǎn)生中斷的請(qǐng)求源稱為中斷源。MCS-51單片機(jī)的中斷源可分為兩類:外部中斷和內(nèi)部中斷。
(2)內(nèi)部中斷源定時(shí)器∕計(jì)數(shù)器0(T0):定時(shí)功能時(shí),計(jì)數(shù)脈沖來自片內(nèi);計(jì)數(shù)功能時(shí),計(jì)數(shù)脈沖來自片外P3.4引腳。發(fā)生溢出時(shí),產(chǎn)生中斷請(qǐng)求,標(biāo)志為TF0。定時(shí)器∕計(jì)數(shù)器1(T1):定時(shí)功能時(shí),計(jì)數(shù)脈沖來自片內(nèi);計(jì)數(shù)功能時(shí),計(jì)數(shù)脈沖來自片外P3.5引腳。發(fā)生溢出時(shí),產(chǎn)生中斷請(qǐng)求,標(biāo)志為TF1。串行口:為完成串行數(shù)據(jù)傳送而設(shè)置。單片機(jī)完成接受或發(fā)送一組數(shù)據(jù)時(shí),產(chǎn)生中斷請(qǐng)求。RXD:串行口輸入端。P3.0引腳的復(fù)用功能,當(dāng)接收完一幀數(shù)據(jù)時(shí),硬件自動(dòng)使RI置“1”,請(qǐng)求串行口輸入中斷。TXD:串行口輸出端。P3.1引腳的復(fù)用功能,當(dāng)接收完一幀數(shù)據(jù)時(shí),硬件自動(dòng)使TI置“1”,請(qǐng)求串行口輸出中斷2、中斷源字節(jié)地址為88H,可位尋址。包括溢出中斷請(qǐng)求標(biāo)志位TF0和TF1,兩個(gè)外部中斷請(qǐng)求的標(biāo)志位IE1與IE0,兩個(gè)外部中斷請(qǐng)求源的中斷觸發(fā)方式選擇位。3、中斷控制寄存器?TF1—定時(shí)器/計(jì)數(shù)器T1的溢出中斷請(qǐng)求標(biāo)志位當(dāng)啟動(dòng)T1計(jì)數(shù)后,T1從初值開始加1計(jì)數(shù),當(dāng)最高位產(chǎn)生溢出時(shí),硬件置TF1為“1”,向CPU申請(qǐng)中斷,響應(yīng)TF1中斷時(shí),TF1標(biāo)志硬件自動(dòng)清“0”,TF1也可由軟件清“0”。?TF0—定時(shí)器/計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志位,與TF1類似(1)TCON(TimerControlRegister)定時(shí)器/計(jì)數(shù)器控制寄存器
(1)TCON(TimerControlRegister)定時(shí)器/計(jì)數(shù)器控制寄存器3、中斷控制寄存器?IE1—外部中斷請(qǐng)求1中斷請(qǐng)求標(biāo)志位。?IE0—外部中斷請(qǐng)求0中斷請(qǐng)求標(biāo)志位,與IE1類似。?IT1—選擇外中斷請(qǐng)求1的觸發(fā)方式0--電平觸發(fā)方式,加到INT0腳上的外中斷請(qǐng)求輸入信號(hào)為低電平有效,并把IE1置“1”。轉(zhuǎn)向中斷服務(wù)程序時(shí),則由硬件自動(dòng)把IE1清“0”。1---跳沿觸發(fā)方式,加到INT1腳上的外中斷請(qǐng)求輸入信號(hào)從高到低的負(fù)跳變有效,并把IE1置“1”。轉(zhuǎn)向中斷服務(wù)程序時(shí),則由硬件自動(dòng)把IE1清“0”。?IT0—選擇外中斷請(qǐng)求0為跳沿觸發(fā)方式還是電平觸發(fā)方式,與IT1類似。當(dāng)AT89S51復(fù)位后,TCON被清“0”,5個(gè)中斷源的中斷請(qǐng)求標(biāo)志均為0。對(duì)脈沖觸發(fā)方式的外部中斷,CPU響應(yīng)中斷后硬件自動(dòng)清除中斷請(qǐng)求標(biāo)志IE0和IE1但對(duì)電平觸發(fā)方式的外部中斷,由于CPU響應(yīng)中斷速度較快,容易導(dǎo)致連續(xù)多次中斷因此,選擇外部中斷觸發(fā)方式時(shí),最好選擇下降沿觸發(fā)方式。1、IT:interrupttypecontrol2、IE:interruptenable3、TF:Timeroverflowflag4、EX:externalinterruptenable5、ET:timerinterruptenable6、PX:externalinterruptpriority
(2)SCON(SerialPortControlRegister)串口控制寄存器3、中斷控制寄存器(1)TI:串口發(fā)送中斷請(qǐng)求標(biāo)志位CPU將1字節(jié)的數(shù)據(jù)寫入串口的發(fā)送緩沖器SBUF時(shí),就啟動(dòng)一幀串行數(shù)據(jù)的發(fā)送,每發(fā)送完一幀串行數(shù)據(jù)后,硬件使TI自動(dòng)置“1”。CPU響應(yīng)串口發(fā)送中斷時(shí),并不清除TI中斷請(qǐng)求標(biāo)志,TI標(biāo)志必須在中斷服務(wù)程序中用指令對(duì)其清“0”。(2)RI:串行口接收中斷請(qǐng)求標(biāo)志位在串口接收完一個(gè)串行數(shù)據(jù)幀,硬件自動(dòng)使RI中斷請(qǐng)求標(biāo)志置“1”。CPU在響應(yīng)串口接收中斷時(shí),RI標(biāo)志并不清“0”,須在中斷服務(wù)程序中用指令對(duì)RI清“0”。串行口控制寄存器,字節(jié)地址為98H,可位尋址。SCON的低二位鎖存串口的發(fā)送中斷和接收中斷的中斷請(qǐng)求標(biāo)志TI和RI。這兩個(gè)標(biāo)志位在CPU響應(yīng)中斷后,硬件無法自動(dòng)使其清零,需要用軟件清零
各中斷源開放或屏蔽,是由片內(nèi)中斷允許寄存器IE控制。IE字節(jié)地址為A8H,可進(jìn)行位尋址3、中斷控制寄存器(3)IE(InterruptEnable)中斷允許控制寄存器IE對(duì)中斷開放和關(guān)閉實(shí)現(xiàn)兩級(jí)控制一個(gè)總的中斷開關(guān)控制位EA(IE.7位),當(dāng)EA=0,所有中斷請(qǐng)求被屏蔽,CPU對(duì)任何中斷請(qǐng)求都不接受;當(dāng)EA=1時(shí),CPU開中斷但5個(gè)中斷源的中斷請(qǐng)求是否允許,還要由IE中的低5位所對(duì)應(yīng)的5個(gè)中斷請(qǐng)求允許控制位的狀態(tài)來決定
各中斷源開放或屏蔽,是由片內(nèi)中斷允許寄存器IE控制。IE字節(jié)地址為A8H,可進(jìn)行位尋址3、中斷控制寄存器(3)IE(InterruptEnable)中斷允許控制寄存器?EX0和EX1—外部中斷0和1允許控制位EX0(EX1)=0,禁止外部中斷0(1)的中斷;EX0(EX1)=1,允許外部中斷0(1)的中斷。?ET0和ET1—定時(shí)/計(jì)數(shù)器0和1中斷允許控制位ET0(ET1)=0,禁止定時(shí)/計(jì)數(shù)器T0(T1)的中斷;ET0(ET1)=1,允許定時(shí)/計(jì)數(shù)器T0(T1)的中斷。?ES—串行口中斷允許位。ES=0,禁止串行口中斷。ES=1,允許串行口中斷。?ET2—定時(shí)/計(jì)數(shù)器2中斷允許控制位(8052系列單片機(jī)使用)。AT89S51復(fù)位后,IE被清“0”,所有中斷請(qǐng)求被禁止。IE中與各個(gè)中斷源相應(yīng)位可用指令置“1”或清“0”,即可允許或禁止各中斷源的中斷申請(qǐng)。若使某一個(gè)中斷源被允許中斷,除了IE相應(yīng)位被置“1”外,還必須使EA位置“1”。中斷請(qǐng)求源有兩個(gè)中斷優(yōu)先級(jí),每一個(gè)中斷請(qǐng)求源可由軟件設(shè)置為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,也可實(shí)現(xiàn)兩級(jí)中斷嵌套。即正在執(zhí)行低優(yōu)先級(jí)中斷的服務(wù)程序時(shí),可被高優(yōu)先級(jí)中斷請(qǐng)求所中斷,待高優(yōu)先級(jí)中斷處理完畢后,再返回低優(yōu)先級(jí)中斷服務(wù)程序。中斷優(yōu)先級(jí)寄存器IP,字節(jié)地址為B8H,可位尋址。只要用程序改變其內(nèi)容,即可進(jìn)行各中斷源中斷優(yōu)先級(jí)設(shè)置址3、中斷控制寄存器(4)IP(InterruptPriority)中斷優(yōu)先級(jí)寄存器?PS—串行口中斷優(yōu)先級(jí)控制位,1—高級(jí),0—低級(jí)。?PT1—T1中斷優(yōu)先級(jí)控制位,1—高級(jí),0—低級(jí)。?PX1—外部中斷1中斷優(yōu)先級(jí)控制位,1—高級(jí),0—低級(jí)。?PT0—T0中斷優(yōu)先級(jí)控制位,1—高級(jí),0—低級(jí)。
?PX0—外部中斷0中斷優(yōu)先級(jí)控制位,1—高級(jí),0—低級(jí)。位 符號(hào) 描述7 -- 保留6 -- 保留5 PT2 定時(shí)器2中斷優(yōu)先級(jí)控制位4 PS 串口中斷優(yōu)先級(jí)控制位3 PT1 定時(shí)器1中斷優(yōu)先級(jí)控制位2 PX1 外部中斷1中斷優(yōu)先級(jí)控制位1 PT0 定時(shí)器0中斷優(yōu)先級(jí)控制位0 PX0 外部中斷0中斷優(yōu)先級(jí)控制位中斷系統(tǒng)有兩個(gè)不可尋址的“優(yōu)先級(jí)激活觸發(fā)器”,其中一個(gè)指示某高優(yōu)先級(jí)中斷正在執(zhí)行,所有后來中斷均被阻止;另一個(gè)觸發(fā)器指示某低優(yōu)先級(jí)中斷正在執(zhí)行,所有同級(jí)中斷都被阻止,但不阻斷高優(yōu)先級(jí)的中斷請(qǐng)求。在同時(shí)收到幾個(gè)同優(yōu)先級(jí)的中斷請(qǐng)求時(shí),哪一個(gè)中斷請(qǐng)求能優(yōu)先得到響應(yīng),取決于內(nèi)部查詢順序。這相當(dāng)于在同一個(gè)優(yōu)先級(jí)還存在另一輔助優(yōu)先級(jí)結(jié)構(gòu),其查詢順序見表。各中斷源在同一優(yōu)先級(jí)條件下,外部中斷0中斷優(yōu)先權(quán)最高,串行口中斷的優(yōu)先權(quán)最低。4、中斷入口地址及響應(yīng)過程中斷源入口地址中斷號(hào)說明中斷優(yōu)先級(jí)外部中斷00003H0P3.2()引腳上的低電平/下降沿引起的中斷高定時(shí)/計(jì)數(shù)器0000BH1TO計(jì)數(shù)器溢出后引起的中斷
外部中斷10013H2P3.3()引腳上的低電平/下降沿引起的中斷定時(shí)/計(jì)數(shù)器1001BH3T1計(jì)數(shù)器溢出后引起的中斷串口中斷0023H4串行口接收或發(fā)送完一幀數(shù)據(jù)后引起的中斷定時(shí)/計(jì)數(shù)器2002BH5T2計(jì)數(shù)脂溢出后引起的中斷(51系列單片機(jī)沒冇此中斷)低5、中斷響應(yīng)條件單片機(jī)并非任何時(shí)刻都能響應(yīng)中斷請(qǐng)求,而是在滿足中斷響應(yīng)條件下才能響應(yīng),須滿足以下必要條件:(1)總中斷允許開關(guān)接通,即IE寄存器中的中斷總允許位EA=1。(2)該中斷源發(fā)出中斷請(qǐng)求,即該中斷源對(duì)應(yīng)的中斷請(qǐng)求標(biāo)志為“1”。(3)該中斷源的中斷允許位=1,即該中斷被允許。(4)無同級(jí)或更高級(jí)中斷正在被服務(wù)。中斷響應(yīng)禁止的3種情況:中斷響應(yīng)是有條件的,當(dāng)遇到下列3種情況之一時(shí),中斷響應(yīng)被封鎖:(1)CPU正在處理同級(jí)或更高優(yōu)先級(jí)的中斷。(2)所查詢機(jī)器周期不是當(dāng)前正在執(zhí)行指令的最后一個(gè)機(jī)器周期。(3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。任務(wù)7:兩個(gè)優(yōu)先級(jí)相同的外中斷應(yīng)用任務(wù)要求:如下圖所示,在51單片機(jī)的P1口上接有8只LED。在外部中斷0輸入引腳P3.2(INT0*)引腳接有一只按鈕開關(guān)K1。在外部中斷1輸入引腳P3.3(INT1*)引腳接有一只按鈕開關(guān)K2。程序要求K1和K2都未按下時(shí),P1口的8只LED呈流水燈顯示,僅K1(P3.2)按下時(shí),左右4只LED交替閃爍。僅按下K2(P3.3),P1口的8只LED全部閃亮。兩個(gè)外中斷的優(yōu)先級(jí)相同。#include<reg51.h>void
Delay(unsigned
int
i)
{
unsigned
int
j;
for(;i>0;i--)
for(j=0;j<125;j++)
{;;}
/*空函數(shù)*/}void
main(){
unsigned
char
play[9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned
char
a;
for(;;)
{
for(a=0;a<9;a++)
{
{
Delay(500);
P1=play[a];
}
EA=1;
/*總中斷允許*/
EX0=1;
/*允許外部中斷0中斷*/
EX1=1;
/*允許外部中斷1中斷*/
IT0=1;
/*選擇外部中斷0為跳沿觸發(fā)方式*/
IT1=1;
/*選擇外部中斷1為跳沿觸發(fā)方式*/
IP=0;
}
}}void
int0_isr(void)interrupt0using
0/*外中斷0的中斷服務(wù)函數(shù)*/{
for(;;)
P1=0x0f;
/*低4位LED滅,高4位LED亮*/
Delay(500);
/*延時(shí)*/
P1=0xf0;
/*高4位LED滅,低4位LED亮*/
Delay(500);
/*延時(shí)*/}void
int1_isr(void)interrupt2using
1/*外中斷1的中斷服務(wù)函數(shù)*/{
for(;;)
{
P1=0xff;
/*全滅*/
Delay(500);
/*延時(shí)*/
P1=0;
/*全亮*/
Delay(500);
}}任務(wù)8兩個(gè)優(yōu)先級(jí)不同的外中斷應(yīng)用(中斷嵌套)任務(wù)要求:設(shè)計(jì)一個(gè)中斷嵌套程序。要求K1和K2都未按下時(shí),P1口的8只LED呈流水燈顯示,當(dāng)K1按下再松開時(shí),產(chǎn)生一個(gè)低優(yōu)先級(jí)的外中斷0請(qǐng)求(跳沿觸發(fā)),進(jìn)入外中斷0中斷服務(wù)程序,左右4只LED交替閃爍。此時(shí)按下K2再松開時(shí),產(chǎn)生一個(gè)高優(yōu)先級(jí)的外中斷1請(qǐng)求(跳沿觸發(fā)),進(jìn)入外中斷1中斷服務(wù)程序,P1口的8只LED全部閃爍。當(dāng)顯示一段時(shí)間后,再從外中斷1返回繼續(xù)執(zhí)行外中斷0中斷服務(wù)程序,即P1口控制8只LED左右4只LED交替閃爍。。設(shè)置外中斷1為高優(yōu)先級(jí),外中斷0為低優(yōu)先級(jí)。#include<reg51.h>unsigned
char
play[9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void
Delay(unsigned
int
i)
{
unsigned
int
j;
for(;i>0;i--)
for(j=0;j<125;j++)
{;}
}void
main()
{unsigned
char
a;EA=1;
/*總中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年漳州衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 2025年中考英語一輪復(fù)習(xí)之主謂一致
- 【八年級(jí)下冊地理粵教版】期末測試
- 2024年石家莊郵電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 2024年考上大學(xué)祝福語(49篇)
- 易錯(cuò)點(diǎn)03 中國古代史中的時(shí)間問題(一)-備戰(zhàn)2023年中考?xì)v史考試易錯(cuò)題(解析版)
- 基本護(hù)理技術(shù) 課件匯 章曉幸 項(xiàng)目1-8 醫(yī)院環(huán)境設(shè)置 -排泄護(hù)理
- 2025高壓配電施工及設(shè)備供應(yīng)合同
- 2024年度四川省公共營養(yǎng)師之三級(jí)營養(yǎng)師綜合練習(xí)試卷B卷附答案
- 2024年度四川省公共營養(yǎng)師之二級(jí)營養(yǎng)師題庫檢測試卷B卷附答案
- 氮?dú)饩彌_罐安全操作規(guī)程
- 金工釩鈦科技有限公司-年處理600萬噸低品位釩鈦磁鐵礦選礦項(xiàng)目可行性研究報(bào)告
- ncv65系列安裝金盤5發(fā)版說明
- 國能神皖安慶發(fā)電有限責(zé)任公司廠內(nèi)108MW-108MWh儲(chǔ)能項(xiàng)目環(huán)境影響報(bào)告表
- 鐵路試驗(yàn)檢測技術(shù)
- 2023-2024人教版小學(xué)2二年級(jí)數(shù)學(xué)下冊(全冊)教案【新教材】
- 小學(xué)奧數(shù)基礎(chǔ)教程(附練習(xí)題和答案)
- 九年級(jí)語文上學(xué)期教學(xué)工作總結(jié)
- TWSJD 002-2019 醫(yī)用清洗劑衛(wèi)生要求
- GB/T 7324-2010通用鋰基潤滑脂
- 杭州地鐵一號(hào)線工程某盾構(gòu)區(qū)間實(shí)施施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論