新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī) 中斷1中斷整體介紹

51單片機(jī) 中斷1中斷整體介紹

作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
簡單介紹--[高手繞過這一段;心急的直接跳到下一部份]

本文引用地址:http://m.butianyuan.cn/article/201611/318434.htm

>_<:51單片機(jī)上的應(yīng)用[應(yīng)用控制篇]

>_<:MCS51的中斷

外部中斷請(qǐng)求源:即外部中斷0 和1,經(jīng)由外部引腳引入,在單片機(jī)上有兩個(gè)引腳,外稱為INT0、INT1,也就是P3.2、P3.3這兩個(gè)引腳

>_<:MCS51的中斷向量表

單片機(jī)內(nèi)部的中斷模塊在每個(gè)CPU周期都查詢各個(gè)中斷源的狀態(tài),當(dāng)其發(fā)生預(yù)期的中斷事件時(shí),通知CPU將程序跳轉(zhuǎn)到中斷服務(wù)程序所在的程序存儲(chǔ)器(ROM)地址。該地址稱為中斷向量。

中斷的實(shí)質(zhì)仍然是查詢,只是不需要用戶程序查詢,不占用CPU運(yùn)行時(shí)間而已。

51系列只有5個(gè)中斷向量,5X系列還增加一個(gè)定時(shí)器2的中斷向量

——————————————————————————————
地址中斷入口 中斷編號(hào)
——————————————————————————————
0x0 復(fù)位
0x3 外部中斷00
0xB 定時(shí)器01
0x0013 外部中斷1 2
0x001B 定時(shí)器1 3
0x0023 串口4
0x002B 定時(shí)器2(5x系列新增的) 5
——————————————————————————————

>_<:MCS51中斷運(yùn)行的機(jī)里

以INT0為例:中斷模塊在每個(gè)CPU時(shí)鐘周期都查詢P3.2的狀態(tài),當(dāng)輸入的電平由高電平變?yōu)榈碗娖綍r(shí),CPU的程序運(yùn)行會(huì)立即跳轉(zhuǎn)的到地址0x03。處理INT0中斷的代碼放在地址為0x03開始的ROM區(qū)域。c語言中采用一類特殊的函數(shù)來實(shí)現(xiàn)此代碼定位的功能,叫做 中斷服務(wù)函數(shù),格式如下:

void 函數(shù)名()interrupt N

函數(shù)名可以任意,但一般要用一個(gè)有意義的函數(shù)名,N代表中斷向量編號(hào)。

>_<:中斷控制寄存器IE

MCS51中斷系統(tǒng)中,中斷的允許或禁止是由片內(nèi)可以進(jìn)行位尋址的8位中斷允許寄存器IE來控制的。

EX0 :外中斷0中斷允許

ET0 :定時(shí)器0中斷允許

EX1 :外中斷1中斷允許

ET1 :定時(shí)器1中斷允許

ES :串行口中斷允許

ET2 :定時(shí)器2中斷允許

EA :是總開關(guān),若為0,則所有中斷都不允許。

>_<:中斷標(biāo)志及外部中斷方式選擇寄存器 TCON

IT0 :INT0觸發(fā)方式控制位,邊沿/電平觸發(fā)模式

IE0 :INT0中斷請(qǐng)標(biāo)志,

IT1 :同上

IE1 :同上

TF0 :定時(shí)器/計(jì)數(shù)器0的溢出中斷標(biāo)志

TF1 :定時(shí)器/計(jì)數(shù)器1的溢出中斷標(biāo)志

>_<:外部中斷的2種觸發(fā)模式

觸發(fā)模式由IT0和IT1控制。

1)邊沿觸發(fā):IT0(IT1)=1,INT0(INT1)為邊沿觸發(fā)方式。如果一個(gè)周期中采樣到高電平,下個(gè)周期中采樣到低電平,則硬件使IE0(IE1)置1,向CPU請(qǐng)求中斷。

2)電平觸發(fā):IT0(IT1)=0,INT0(INT1)為電平觸發(fā)方式。此時(shí)外部中斷是通過檢測P3.2(P3.3)腳的輸入電平(低電平)來觸發(fā)的。采用電平觸發(fā)時(shí),輸入腳的外部中斷源必須保持低電平有效,直到該中斷被響應(yīng)。同時(shí)在中斷返回前必須使用電平變高,否則將會(huì)再次產(chǎn)生中斷。

一般采用邊沿觸發(fā)方式,因?yàn)榇四J娇垢蓴_能力較強(qiáng),極少采用電平觸發(fā)模式。



關(guān)鍵詞: 51單片機(jī)中

評(píng)論


技術(shù)專區(qū)

關(guān)閉