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