日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]一、中斷的概念:(1)CPU 在處理某一事件A時,發(fā)生了另一事件B請求 CPU 迅速去處理(中斷發(fā)生);(2)CPU 暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));(3)待 CPU 將事件B處理完畢后,再回到原來事

一、中斷的概念:

(1)CPU 在處理某一事件A時,發(fā)生了另一事件B請求 CPU 迅速去處理(中斷發(fā)生);

(2)CPU 暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));

(3)待 CPU 將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),

這一過程稱為中斷。

中斷源:

引起 CPU 中斷的根源,稱為中斷源。

中斷返回:

中斷源向 CPU 提出的中斷請求。CPU 暫時中斷原來的事務(wù) A,轉(zhuǎn)去處理事件 B。對事件 B 處理完畢后,再回到原來被中斷的地方(即斷點),稱為中斷返回。

中斷系統(tǒng):

實現(xiàn)上述中斷功能的部件(即中斷機構(gòu)),稱為中斷系統(tǒng)。


中斷技術(shù)的優(yōu)點:

(1)分時操作:CPU 可以分時為多個 I / O 設(shè)備服務(wù),提高了計算機的利用率;

(2)實時響應(yīng):CPU 能夠及時處理應(yīng)用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;

(3)可靠性高:CPU 具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。

二、80C51中斷系統(tǒng)的結(jié)構(gòu):

80C51的中斷系統(tǒng)有 5 個中斷源(8052有 6個) ,2個優(yōu)先級,可實現(xiàn)二級中斷嵌套 。

1.(P3.2)可由IT0(TCON.0)選擇其為低電平有效還是下降沿有效。當(dāng) CPU 檢測到P3.2引腳上出現(xiàn)有效的中斷信號時,中斷標(biāo)志IE0(TCON.1)置 1,向 CPU 申請中斷。

2.(P3.3)可由IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當(dāng)CPU檢測到P3.3引腳上出現(xiàn)有效的中斷信號時,中斷標(biāo)志IE1(TCON.3)置 1 ,向 CPU 申請中斷。

3.TF0(TCON.5),片內(nèi)定時 / 計數(shù)器T0溢出中斷請求標(biāo)志。當(dāng)定時 / 計數(shù)器T0發(fā)生溢出時,置位TF0,并向CPU 申請中斷。

4.TF1(TCON.7),片內(nèi)定時/計數(shù)器T1溢出中斷請求標(biāo)志。當(dāng)定時/計數(shù)器T1發(fā)生溢出時,置位TF1,并向CPU 申請中斷。

5.RI(SCON.0)或TI(SCON.1),串行口中斷請求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時置位RI或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時置位TI,向CPU申請中斷。


三、中斷請求標(biāo)志:

1、TCON的中斷標(biāo)志:

IT0(TCON.0),外部中斷0觸發(fā)方式控制位。

當(dāng)IT0= 0 時,為電平觸發(fā)方式。

當(dāng)IT0= 1 時,為邊沿觸發(fā)方式(下降沿有效)。

IE0(TCON.1),外部中斷 0 中斷請求標(biāo)志位。

IT1(TCON.2),外部中斷 1 觸發(fā)方式控制位。

IE1(TCON.3),外部中斷 1 中斷請求標(biāo)志位。

TF0(TCON.5),定時 / 計數(shù)器 T0 溢出中斷請求標(biāo)志位。

TF1(TCON.7),定時 / 計數(shù)器 T1 溢出中斷請求標(biāo)志位。


2、SCON的中斷標(biāo)志:

RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位RI。 注意,RI必須由軟件清除。

TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng) CPU 將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過 程。每發(fā)送完一個串行幀,由硬件置位TI。CPU 響應(yīng)中斷時,不能自動清除TI,TI必須由軟件清除。


四、80C51 中斷控制

1、中斷允許控制

CPU 對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。


EX0(IE.0),外部中斷 0 允許位;

ET0(IE.1),定時/計數(shù)器T0中斷允許位;

EX1(IE.2),外部中斷 0 允許位;

ET1(IE.3),定時 / 計數(shù)器 T1 中斷允許位;

ES(IE.4),串行口中斷允許位;

EA(IE.7), CPU 中斷允許(總允許)位。

2、中斷優(yōu)先級控制

斷源的中斷優(yōu)先級都是由中斷優(yōu)先級 寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的 。



PX0(IP.0),外部中斷 0 優(yōu)先級設(shè)定位;

PT0(IP.1),定時 / 計數(shù)器 T0 優(yōu)先級設(shè)定位;

PX1(IP.2),外部中斷 0 優(yōu)先級設(shè)定位;

PT1(IP.3),定時 / 計數(shù)器 T1 優(yōu)先級設(shè)定位;

PS(IP.4),串行口優(yōu)先級設(shè)定位;

PT2(IP.5),定時 / 計數(shù)器 T2 優(yōu)先級設(shè)定位。

(1)同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權(quán)排隊問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:



(2)80C51單片機中斷優(yōu)先級三條原則:

(1)CPU同時接收到幾個中斷時,首先響應(yīng)優(yōu)先級別最高的中斷請求。

(2)正在進行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷。

(3)正在進行的低優(yōu)先級中斷服務(wù),能被高優(yōu)先級中斷請求所中斷。

為了實現(xiàn)上述后兩條原則,中斷系統(tǒng)內(nèi)部設(shè)有兩個用戶不能尋址的優(yōu)先級狀態(tài)觸發(fā)器。其中一個置 1,表示正在響應(yīng)高優(yōu)先級的中斷,它將阻斷后來所有的中斷請求;另一個置 1,表示正在響應(yīng)低優(yōu)先級中斷,它將阻斷后來所有的低優(yōu)先級中斷請求。


五、中斷響應(yīng)條件

(1)中斷源有中斷請求;

(2)此中斷源的中斷允許位為 1;

(3)CPU 開中斷(即EA= 1)。


六、中斷程序:

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula = P2^6;//段選

sbit wela = P2^7;//位選

sbit d1 = P1^0;//P1 口 0 號 LED

uchar num;

uchar code table[]={ //LED 數(shù)字編碼

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

void delay(uint z);

void main()

{

EA = 1;//開總中斷

EX0 = 1;//開外部中斷0

//IT0 = 1;

TCON = 0x01;

wela = 1;//11101010 打開鎖存器

P0 = 0xea;//選擇數(shù)碼管

wela = 0;//鎖住數(shù)碼管

while(1)

{

for(num = 0; num < 16; num++)

{

d1 = 1; //關(guān)閉LED

dula = 1;//打開鎖存器

P0 = table[num];//數(shù)碼管入值

dula = 0;//鎖住數(shù)碼管輸入值

delay(1000);//延時1s

}

}

}

void Delay(unsigned int xx) //輸入 xx :ms

{

while(xx--)

{

Delay1ms();

}

}

void Delay1ms()//@11.0592MHz 1ms

{

unsigned char i, j;

_nop_();

_nop_();

_nop_();

i = 11;

j = 190;

do

{

while (--j);

} while (--i);

}

void exter0() interrupt 0 //中斷程序,0 為 中斷號

{

d1=0;//打開LED

}


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉