新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MCS-51單片機單步工作方式

        MCS-51單片機單步工作方式

        作者: 時間:2016-11-10 來源:網絡 收藏
        MCS-51有一種單步工作方式,所謂單步執行就是由外來脈沖控制程序的執行,使之達到來一個脈沖就執行一行指令的目的。而外來脈沖是通過按鍵產生的,因此實際上單片機執行是按一次鍵執行一條指令。單步執行是借助單片機的外部中斷功能來實現的。

        假定利用外部中斷0來實現程序的單步執行,為此應事先作好兩項準備工作:

        本文引用地址:http://www.104case.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請求有效,單片機就再一次中斷響應,并進入中斷服務程序去踏步。從而實現了主程序的單步執行。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 龙泉市| 黄梅县| 易门县| 南充市| 余干县| 旺苍县| 榆社县| 兴城市| 望谟县| 盈江县| 东丽区| 涟水县| 莱阳市| 临颍县| 上蔡县| 崇阳县| 宜阳县| 丽水市| 象山县| 万荣县| 宣威市| 普定县| 湘阴县| 方正县| 东乌珠穆沁旗| 上虞市| 彩票| 靖西县| 潞城市| 苍溪县| 临汾市| 株洲县| 乐东| 青州市| 武穴市| 吉木萨尔县| 东乡县| 施甸县| 甘肃省| 阿克陶县| 凌源市|