新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)擴(kuò)展中斷的方法簡(jiǎn)介

單片機(jī)擴(kuò)展中斷的方法簡(jiǎn)介

作者: 時(shí)間:2012-08-03 來源:網(wǎng)絡(luò) 收藏

MCS—51系列內(nèi)部只有兩個(gè)外部源輸入端,當(dāng)外部源多于兩個(gè)時(shí),就必須進(jìn)行,下面介紹兩種簡(jiǎn)單的
1、 采用硬件請(qǐng)求和軟件查詢的
這種是:把各個(gè)源通過硬件“或非”門引入到外部中斷源輸入端(INT0或INT1),同時(shí)再把各個(gè)中斷源送到的某個(gè)輸入輸出端口,這樣當(dāng)外部中斷時(shí),通過“或非”門引起單片機(jī)中斷,在中斷服務(wù)程序中再通過軟件查詢,進(jìn)而轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序。顯然,這種方法的中斷優(yōu)先級(jí)取決于軟件查詢的次序。其硬件連接和軟件編程如下:

本文引用地址:http://butianyuan.cn/article/171078.htm

Void zhongduan (void) interrupt 0 using 3 //中斷函數(shù)
{
EX0=0;//關(guān)中斷
If(P0_0=1) { *****}//中斷查詢
If(P0_1=1) { *****}//中斷查詢
If(P0_2=1) { *****}//中斷查詢
EX0=1;開中斷
}
2、 用定時(shí)器/計(jì)數(shù)器作外部中斷:
單片機(jī)的定時(shí)器/計(jì)數(shù)器是一個(gè)加一計(jì)數(shù)器,每當(dāng)計(jì)數(shù)輸入端有一個(gè)“1—0”的負(fù)跳變時(shí),計(jì)數(shù)器加一,當(dāng)加一計(jì)數(shù)器溢出時(shí),就向CPU發(fā)出中斷,利用這個(gè)特性來中斷的方法是:首先把定時(shí)器/計(jì)數(shù)器設(shè)置成計(jì)數(shù)方式,并預(yù)置滿值,把外部中斷源輸入到P3口第4引腳或第5引腳(計(jì)數(shù)器輸入端),這樣就可以利用定時(shí)器/計(jì)數(shù)器作為單片機(jī)外部中斷了。注意這種方法的中斷服務(wù)的入口地址應(yīng)在000BH或001BH。



評(píng)論


相關(guān)推薦

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

關(guān)閉