在51單片機(jī)當(dāng)中,一般的at89s51就是兩個(gè)外部中斷源,其它加強(qiáng)型的我想應(yīng)該會(huì)多兩個(gè),但是依舊還是不是很多,某些時(shí)候需要對(duì)其進(jìn)行擴(kuò)展,一般用定時(shí)器/計(jì)數(shù)器作外部中斷,將其設(shè)定為計(jì)數(shù)器模式,并置初始化數(shù)為0xffH,這樣只要一次就會(huì)計(jì)數(shù)溢出,產(chǎn)生中斷。一般比較實(shí)用的就是實(shí)用軟件中斷。
這種方法是:把各個(gè)中斷源通過(guò)硬件“或非”門引入到單片機(jī)外部中斷源輸入端(INT0或INT1),同時(shí)再把外部中斷源送到單片機(jī)的某個(gè)輸入輸出端口,這樣 當(dāng)外部中斷時(shí),通過(guò)“或非”門引起單片機(jī)中斷,在中斷服務(wù)程序中再通過(guò)軟件查詢,進(jìn)而轉(zhuǎn)相應(yīng)的中斷服務(wù)程序。顯然,這種方法的中斷優(yōu)先級(jí)取決于軟件查詢的 次序。其硬件連接如下:
注意:這里碰到一個(gè)很讓人費(fèi)解的問(wèn)題,原來(lái)的時(shí)候我仿真的是int1,但是在實(shí)際仿真的過(guò)程當(dāng)中是沒(méi)有辦法成功的,于是只能是采用INT0來(lái)仿真,效果正常??赡苁擒浖膯?wèn)題吧。