MCS-51單片機單步工作方式
假定利用外部中斷0來實現程序的單步執行,為此應事先作好兩項準備工作:
本文引用地址:http://www.j9360.com/article/201611/317458.htm〈1〉建立單步執行的外部控制電路,以按鍵產生脈沖作為外部中斷0的中斷請求信號,經INT0端輸入,并把電路設計成不按鍵為低電平,按一次鍵產生一個正脈沖。此外還需要初始化程序中定義INT0低電平有效。
〈2〉編寫外部中斷0的中斷服務程序:
JNB P3.2,$
JB P3.2,$
RETI

這樣在沒有按鍵的時候,INT=0,中斷請求有效,單片機響應中斷,但轉入中斷服務程序后,只能在它的第一條指令上“原地踏步”。只有按一次單步按鍵,產生下脈沖使INT0=1,才能通過第一指令而到第二條指令上去“原地踏步”。當正脈沖結束后,再結束第二條指令通過第三條指令返回主程序。而MCS-51的中斷機制有這樣一個特點,即從中斷服務程序返回主程序后,至少要執行一條指令,然后才能再響應新的中斷。為此單片機從上述中斷0的中斷服務程序返回主程序后,能且只能執行一條指令。國為這時INT0已為低電平,外部中斷0請求有效,單片機就再一次中斷響應,并進入中斷服務程序去踏步。從而實現了主程序的單步執行。
評論