單片機擴展中斷的簡(jiǎn)便方法
MCS—51系列單片機內部只有兩個(gè)外部中斷源輸入端,當外部中斷源多于兩個(gè)時(shí),就必須進(jìn)行擴展,下面介紹兩種簡(jiǎn)單的擴展方法:
1、 采用硬件請求和軟件查詢(xún)的方法:
這種方法是:把各個(gè)中斷源通過(guò)硬件“或非”門(mén)引入到單片機外部中斷源輸入端(INT0或INT1),同時(shí)再把各個(gè)中斷源送到單片機的某個(gè)輸入輸出端口,這樣當外部中斷時(shí),通過(guò)“或非”門(mén)引起單片機中斷,在中斷服務(wù)程序中再通過(guò)軟件查詢(xún),進(jìn)而轉到相應的中斷服務(wù)程序。顯然,這種方法的中斷優(yōu)先級取決于軟件查詢(xún)的次序。其硬件連接和軟件編程如下:
Void zhongduan (void) interrupt 0 using 3 //中斷函數
{
EX0=0;//關(guān)中斷
If(P0_0=1) { *****}//中斷查詢(xún)
If(P0_1=1) { *****}//中斷查詢(xún)
If(P0_2=1) { *****}//中斷查詢(xún)
EX0=1;開(kāi)中斷
}
2、 用定時(shí)器/計數器作外部中斷:
單片機的定時(shí)器/計數器是一個(gè)加一計數器,每當計數輸入端有一個(gè)“1—0”的負跳變時(shí),計數器加一,當加一計數器溢出時(shí),就向CPU發(fā)出中斷,利用這個(gè)特性來(lái)擴展中斷的方法是:首先把定時(shí)器/計數器設置成計數方式,并預置滿(mǎn)值,把外部中斷源輸入到P3口第4引腳或第5引腳(計數器輸入端),這樣就可以利用定時(shí)器/計數器作為單片機外部中斷了。注意這種方法的中斷服務(wù)的入口地址應在000BH或001BH。
評論