新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 平凡單片機教學 第八講 單片機指令(二)

        平凡單片機教學 第八講 單片機指令(二)

        作者: 時間:2016-11-22 來源:網絡 收藏
        數據傳遞類指令

        (3)以直接地址為目的操作數的指令MOV direct,A 例: MOV 20H,A MOV direct,Rn MOV 20H,R1MOV direct1,direct2 MOV 20H,30HMOV direct,@Ri MOV 20H,@R1MOV direct,#data MOV 20H,#34H

        本文引用地址:http://www.104case.com/article/201611/319638.htm

        (4)以間接地址為目的操作數的指令MOV @Ri,A 例:MOV @R0,A MOV @Ri,direct MOV @R1,20HMOV @Ri,#data MOV @R0,#34H

        (5)十六位數的傳遞指令MOV DPTR,#data16 8051是一種8位機,這是唯一的一條16位立即數傳遞指令,其功能是將一個16位的立即數送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例:MOV DPTR,#1234H,則執行完了之后DPH中的值為12H,DPL中的值為34H。

        反之,如果我們分別向DPH,DPL送數,則結果也一樣。如有下面兩條指令:MOV DPH,#35H,MOV DPL,#12H。則就相當于執行了MOV DPTR,#3512H。 綜合練習: 給出每條指令執行后的結果

        MOV 23H,#30H
        MOV12H,#34H
        MOV R0,#23H
        MOV R7,#22H
        MOV R1,12H
        MOV A,@R0
        MOV 34H,@R1

        (23h)=30h
        (12h)=34h
        (R0)=23H
        (R7)=22H
        (R1)=12H
        (A)=30H
        (34H)=34H

        MOV 45H,34H
        MOVDPTR,#6712H
        MOV 12H,DPH
        MOV R0,DPL
        MOV A,@R0

        (45H)=34H
        (DPTR)=6712H
        (12H)=67H
        (R0)=12H
        (A)=67H

        說明:用括號括起來代表內容,如(23H)則代表內部RAM23H單元中的值,

        (A)則代表累加器A單元中的值。 上機練習:進入DOS狀態,進入WAVE所在的目錄,

        例D:WAVE 鍵入MCS51,出現如下畫面

        圖1

        按File->Open,出現對話框后,在Name處輸入一個文件名(見圖2),如果是下面列表中已存在的,則打開這個文件,如果不存在這個文件,

        圖2

        則新建一個文件(見圖3)

        圖3

        在空白處將上面的程序輸入。見圖4。用ALT+A匯編通過。用F8即可單步執行,

        在執行過程中注意觀察屏幕左邊的工作寄存器及A累加器中的值的變化。

        圖4

        內存中值的變化在此是看不到的,可以用如下方法觀察(看圖5):將鼠標移到DATA,雙擊,則光標進入此行,此時可以鍵盤上的上下光標鍵上下翻動來觀察內存值的變化。本行的最前面DATA后面的數據代表的是“一段”的開始地址,如現在為20H,再看屏幕的最上方,數字從0到F,顯示兩者相加就等于真正的地址值,如現在圖上所示的內存20H、21H、22H、23H中的值分別是FBH 、0EH、E8H、30H。

        圖5

        6、當運行完程序后,即進入它的反匯編區,不是我們想要的東西。為了再從頭開始,可以用CTRL+F2功能鍵復位PC值。注意此時不會看到原來的窗口,為看到原來的窗口,請用ALT+4或ALT+5等來切換。當然以上操作也可以菜單進行。CTRL+F2是程序復位,用RUN菜單。窗口用WINDOWS菜單。此次大家就用用熟這個軟件吧,說實話,我并不很喜歡它,操作起來不方便,但給我的機器只能上這個,沒辦法,下次再給網友單獨介紹一個好一點的吧。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 罗山县| 财经| 蕲春县| 崇仁县| 淳安县| 哈尔滨市| 凭祥市| 定襄县| 朔州市| 玉山县| 刚察县| 漳浦县| 铜山县| 泰州市| 翼城县| 吉林省| 邢台市| 台南市| 县级市| 柘城县| 平邑县| 遂昌县| 通州区| 石渠县| 鄄城县| 永宁县| 丰都县| 肃北| 巴塘县| 体育| 延津县| 威信县| 乌兰浩特市| 南投县| 张家口市| 嘉义市| 尼勒克县| 池州市| 南召县| 安陆市| 庆云县|