加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

51單片機(jī)中斷程序編寫

2021/07/19
3336
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

硬件型號(hào):TELESKY STC89C51

系統(tǒng)版本:單片機(jī)系統(tǒng)

中斷示例:

/**********************************
中斷實(shí)現(xiàn)小燈每個(gè)一秒亮一次
***********************************/
#include <reg51.h>
sbit LED=P2^1;
#define uint unsigned int
uint count;
void main(void)
{
TMOD=0x01;
TH0=0xfc;
TL0=0x18;  //定時(shí)1ms

ET0=1;        //打開中斷允許
EA=1;

TR0=1;             //打開計(jì)時(shí)器
while(1)
{
if(count==1000)                 
{
LED=~LED;
count=0;
}
}
}

void time0() interrupt 1
{      count++;
        TH0=0xfc;
        TL0=0x18;
}

(圖片來源于互聯(lián)網(wǎng)

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

(圖片來源于互聯(lián)網(wǎng))  

EA:中斷允許總開關(guān)控制位。(1:所有中斷請(qǐng)求被允許;0:所有中斷請(qǐng)求被屏蔽)

ES:串行口中斷允許控制位。(1:允許串口中斷;0:禁止串口中斷)

ET1:定時(shí)器/計(jì)數(shù)器T1的溢出中斷允許控制位。(1:允許T1溢出中斷;0:禁止T1溢出中斷)

EX1:外部中斷1中斷允許位。(1:允許外部中斷1中斷;0:禁止外部中斷1中斷)

ET0:定時(shí)器/計(jì)數(shù)器T0的溢出中斷允許控制位。(1:允許T1溢出中斷;0:禁止T1溢出中斷)

EX0:外部中斷0中斷允許位。(1:允許外部中斷1中斷;0:禁止外部中斷1中斷)

中斷請(qǐng)求標(biāo)志 

TCON 的中斷標(biāo)志

(圖片來源于互聯(lián)網(wǎng))

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

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

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

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

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

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

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

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

中斷優(yōu)先級(jí)


(圖片來源于互聯(lián)網(wǎng))   

中斷源

(圖片來源于互聯(lián)網(wǎng))
     

中斷響應(yīng)條件

中斷源有中斷請(qǐng)求

此中斷源的中斷允許位為1

CPU開中斷(EA=1)

(圖片來源于互聯(lián)網(wǎng))

相關(guān)推薦

電子產(chǎn)業(yè)圖譜