關(guān)于51單片機外部中斷響應(yīng)
外部中斷方式最好設(shè)為下降沿方式,特別是中斷引腳接按鍵的情況。
外部下降沿中斷:SETB IT0。每個機器周期都由硬件對引腳自動采樣,若連續(xù)在2個周期采樣到電平從高到低,則認定有中斷請求,IE0=1。IE0會一直保持到該中斷請求被CPU響應(yīng),響應(yīng)前都不會自動清零,只有在響應(yīng)后硬件才自動將IE0清零IE0=0。
外部低電平中斷:CLR IT0。當(dāng)中斷引腳為低電平時,并保持一個機器周期,硬件自動置IE0=1。如果在下一個周期采樣到中斷引腳為高電平時,硬件自動將IE0清0。中斷標志位自動清0條件:下降沿中斷只有CPU響應(yīng)中斷同時才會清0,否則一直保持。低電平中斷:任何時候當(dāng)外部中斷引腳為低電平時,IE0=1;為高電平時,IE0=0,所以不需要響應(yīng)中斷才會清0,與引腳狀態(tài)有關(guān)。注意:當(dāng)EA=0時,中斷引腳為低電平也不會將IE0自動置1,只有EA=1時才會自動置1
單片機設(shè)計中有兩個CPU時,主CPU控制副CPU中斷時應(yīng)注意:主CPU發(fā)出中斷信號的時候,副CPU能夠及時接收到,也就是副CPU工作狀態(tài)不允許在關(guān)中斷CLR EA的程序中運行。只要副CPU不工作在關(guān)中斷的程序中運行,主CPU發(fā)出的中斷信號副CPU都能夠及時響應(yīng)中斷。還有就是如果采用下降沿方式,主CPU發(fā)出的高低電平之間間隔時間只需一條NOP指令。所以應(yīng)該盡可能考慮這個時差問題。有時候就是副CPU還沒有運行完屏蔽中斷的程序的時候,主CPU就發(fā)出了中斷信號,造成副CPU無法中斷或時好時壞。
鍵盤中斷到今天為止終于可以告一段落了。
現(xiàn)在才知道,程序架構(gòu)有了并不代表程序就容易完成,更多的時間在于調(diào)試,防真,再調(diào)試,如此循環(huán)。所以遇到問題要有耐心,信心,細心。做到這三點,不行也得行?。。。?/P>
51單片機相關(guān)文章:51單片機教程
評論