新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機第三次作業

        單片機第三次作業

        作者: 時間:2016-11-25 來源:網絡 收藏
        作業第7題:比較R0中的數是否大于10H,等于則R1賦值0,小于10H則R1賦值FF,大于則R1則賦值AAH.
        1、先fileànew建asm文件7.asm
        MOV A,R0
        CJNE A,#10H,L1
        MOV R1,#0
        AJMP L3
        L1:JC L2
        MOV R1,#0AAH
        AJMP L3
        L2:MOV R1,#0FFH
        L3:SJMP L3
        END

        為了調試時看數據,預先在R0中賦值為12H,所以程序前加:
        MOV R0,#12H
        程序變為:
        MOV R0,#12H
        MOV A,R0
        CJNE A,#10H,L1
        MOV R1,#0
        AJMP L3
        L1:JC L2
        MOV R1,#0AAH
        AJMP L3
        L2:MOV R1,#0FFH
        L3:SJMP L3
        END
        2、建新工程,Projectànewproject,選AtemlàAT89C51,導入文件7.asm。
        注意,對初學者,一個工程里只能有本程序7.asm,無關的程序要刪除,新試驗一個程序最好重新建工程,以保證一個工程里只有你要試驗的那一個程序。
        3、可見程序




        4、編譯通過后,點debug下的start/stop開始調試,step和stepover都是單步調試,step是遇到子程序或中斷也要進入進行單步調試,stepover是遇到子程序或中斷當一句一次執行完。本程序物子程序,二者是一樣的。我們執行一句得到:




        是將要執行的語句,再執行一步,可見:



        繼續執行:

        下一步:


        下一步:


        可見R1中的值以變為AAH.下一步:

        L3跳轉自身,程序不再往下執行。


        綜上,程序即為比較R0中的數和10H的大小。



        關鍵詞: 單片機賦

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 武陟县| 三明市| 呼和浩特市| 赤城县| 长子县| 鄂托克旗| 平南县| 岳普湖县| 厦门市| 海口市| 青海省| 岳池县| 吉木萨尔县| 定南县| 宾阳县| 汉源县| 湾仔区| 姚安县| 昔阳县| 朝阳区| 宁晋县| 大兴区| 尖扎县| 会同县| 禹城市| 科技| 武定县| 绩溪县| 加查县| 沙洋县| 九龙城区| 莱芜市| 女性| 桐梓县| 盘锦市| 溧阳市| 广昌县| 荆门市| 眉山市| 兴宁市| 中方县|