找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 26329|回復: 42
打印 上一主題 下一主題
收起左側

9課:單片機數(shù)據(jù)傳遞類指令

  [復制鏈接]
跳轉到指定樓層
樓主
ID:1 發(fā)表于 2013-5-21 03:05 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
  • 單片機數(shù)據(jù)傳遞類指令
3)以直接地址為目的操作數(shù)的指令
MOV direct,A 例: MOV 20H,A
MOV direct,Rn MOV 20H,R1
MOV direct1,direct2 MOV 20H,30H
MOV direct,@Ri MOV 20H,@R1
MOV direct,#data MOV 20H,#34H
4)以間接地址為目的操作數(shù)的指令
MOV @Ri,A 例:MOV @R0,A
MOV @Ri,direct MOV @R1,20H
MOV @Ri,#data MOV @R0,#34H
5)十六位數(shù)的傳遞指令
MOV DPTR,#data16
8051是一種8位機,這是唯一的一條16位立即數(shù)傳遞指令,其功能是將一個16位的立即數(shù)送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例:MOV DPTR,#1234H,則執(zhí)行完了之后DPH中的值為12H,DPL中的值為34H。反之,如果我們分別向DPH,DPL送數(shù),則結果也一樣。如有下面兩條指令:MOV DPH,#35HMOV DPL,#12H。則就相當于執(zhí)行了MOV DPTR#3512H。
數(shù)據(jù)傳遞類指令綜合練習:

  • 給出每條指令執(zhí)行后的結果
  • 上機練習:   
    MOV 23H,#30H
    MOV 12H,#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
    MOV DPTR,#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狀態(tài),進入WAVE所在的目錄,例D:\WAVE
  • 鍵入MCS51,出現(xiàn)如下畫面
    <單片機數(shù)據(jù)傳遞指令>圖1
  • File->Open,出現(xiàn)對話框后,在Name處輸入一個文件名(見圖2),如果是下面列表中已存在的,則打開這個文件,如果不存在這個文件,則新建一個文件(見圖3
    圖2
  • 在空白處將上面的程序輸入。見圖4。用ALT+A匯編通過。用F8即可單步執(zhí)行,在執(zhí)行過程中注意觀察屏幕左邊的工作寄存器及A累加器中的值的變化。
    圖4

  • 內存中值的變化在此是看不到的,可以用如下方法觀察(看圖5):將鼠標移到DATA,雙擊,則光標進入此行,此時可以鍵盤上的上下光標鍵上下翻動來觀察內存值的變化。本行的最前面DATA后面的數(shù)據(jù)代表的是“一段”的開始地址,如現(xiàn)在為20H,再看屏幕的最上方,數(shù)字從0F,顯示兩者相加就等于真正的地址值,如現(xiàn)在圖上所示的內存20H、21H、22H、23H中的值分別是FBH 0EH、E8H30H。 圖5
    6、當運行完程序后,即進入它的反匯編區(qū),不是我們想要的東西。為了再從頭開始,可以用CTRL+F2功能鍵復位PC值。注意此時不會看到原來的窗口,為看到原來的窗口,請用ALT+4ALT+5等來切換。當然以上操作也可以菜單進行。CTRL+F2是程序復位,用RUN菜單。窗口用WINDOWS菜單。

此次大家就用用熟這個軟件吧,說實話,我并不很喜歡它,操作起來不方便,但給我的機器只能上這個,沒辦法,下次再給網(wǎng)友單獨介紹一個好一點的吧,F(xiàn)在最好的是keil 這個軟件本站有詳細的教程請看:    keil教程  單片機c語言教程

評分

參與人數(shù) 5黑幣 +24 收起 理由
2019--stop + 4 很給力!
@小黑屋 + 5 絕世好帖!
yida1698 + 5 贊一個!
zwtuestc + 5 很給力!
chen_zhouge + 5 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂3 踩
回復

使用道具 舉報

沙發(fā)
ID:49404 發(fā)表于 2013-5-25 22:03 | 只看該作者

回帖獎勵 +1

這是什么軟件截的圖
回復

使用道具 舉報

板凳
ID:50559 發(fā)表于 2013-5-26 11:19 | 只看該作者
功力太淺,界面都沒看懂
回復

使用道具 舉報

地板
ID:52972 發(fā)表于 2013-8-13 15:24 | 只看該作者
看不懂得,軟件在什么地方
回復

使用道具 舉報

5#
ID:59021 發(fā)表于 2014-2-7 20:35 | 只看該作者
很難哦  老師
回復

使用道具 舉報

6#
ID:60257 發(fā)表于 2014-4-4 22:21 | 只看該作者
沒太懂
回復

使用道具 舉報

7#
ID:61875 發(fā)表于 2014-5-20 08:55 | 只看該作者
謝謝樓主我還用努力學習。
回復

使用道具 舉報

8#
ID:64053 發(fā)表于 2014-7-16 20:42 | 只看該作者
界面都沒看懂
回復

使用道具 舉報

9#
ID:65477 發(fā)表于 2014-8-29 16:13 | 只看該作者
這個是什么意思?
回復

使用道具 舉報

10#
ID:66016 發(fā)表于 2014-9-10 20:26 | 只看該作者
謝謝樓主分享。。!
回復

使用道具 舉報

11#
ID:66004 發(fā)表于 2014-9-17 10:23 | 只看該作者
MOV R1,12H 是否是寫錯了,應該是MOV R1,#12H
回復

使用道具 舉報

12#
ID:70651 發(fā)表于 2014-12-17 21:15 | 只看該作者
界面是什么
回復

使用道具 舉報

13#
ID:70547 發(fā)表于 2015-1-5 17:17 | 只看該作者
為什么我在這個網(wǎng)站上下載的東西下來都是一些亂碼啊
回復

使用道具 舉報

14#
ID:75710 發(fā)表于 2015-3-31 15:47 | 只看該作者
功力太淺,界面都沒看懂
回復

使用道具 舉報

15#
ID:75791 發(fā)表于 2015-4-6 14:13 | 只看該作者
感謝分享!
回復

使用道具 舉報

16#
ID:87913 發(fā)表于 2015-9-1 09:43 | 只看該作者
有點難,看不懂啊
回復

使用道具 舉報

17#
ID:102042 發(fā)表于 2016-1-6 10:48 | 只看該作者
16位數(shù)輸入輸出介紹那里:如有下面兩條指令:MOV DPH,#35H,MOV DPL,#12H。中的35H打錯了吧
回復

使用道具 舉報

18#
ID:110638 發(fā)表于 2016-3-24 22:18 | 只看該作者
學到了很多,超級感謝樓樓
回復

使用道具 舉報

19#
ID:113199 發(fā)表于 2016-4-14 14:29 | 只看該作者
請問一下:經(jīng)MOV12H,#34H后12H單元的值為34H,那接著,MOVR1,12H后,R1的值不是等于12H的值
回復

使用道具 舉報

20#
ID:113199 發(fā)表于 2016-4-14 14:34 | 只看該作者
請問一下:經(jīng)MOV12H,#34H后,12H的值等于34H,那接著,MOVR1,12H后,R1的值不是等于12H的值#34嗎?為什么等于12H?
回復

使用道具 舉報

21#
ID:113199 發(fā)表于 2016-4-14 14:54 | 只看該作者
以間接地址為目的操作數(shù)的指令看不懂,望老師耐心講解,辛苦!謝謝!
回復

使用道具 舉報

22#
ID:113199 發(fā)表于 2016-4-24 00:26 | 只看該作者
快看懂啦!
回復

使用道具 舉報

23#
ID:158008 發(fā)表于 2016-12-27 12:51 | 只看該作者
給力,學到了!
回復

使用道具 舉報

24#
ID:170323 發(fā)表于 2017-3-13 15:00 | 只看該作者
9課:單片機數(shù)據(jù)傳遞類指令
回復

使用道具 舉報

25#
ID:220734 發(fā)表于 2017-7-20 09:08 | 只看該作者
上機練習中R1應該等于34H。
回復

使用道具 舉報

26#
ID:224104 發(fā)表于 2017-8-15 12:30 | 只看該作者
我感覺MOVE R1,12H那句是直接尋址,不是立即尋址,結果應該是34H
回復

使用道具 舉報

27#
ID:241347 發(fā)表于 2017-10-24 11:15 | 只看該作者
新手,不太明白
回復

使用道具 舉報

28#
ID:243353 發(fā)表于 2017-10-27 11:07 | 只看該作者
MOV 20H,A
MOV 20H,R1
MOV 20H,30H
MOV 20H,@R1
MOV 20H,#34H


MOV @R0,A
MOV @R1,20H
請問老師這些各是什么意思  是地址還是數(shù)據(jù)?哪些是地址?詳細說一下,還有用keil 可以直接把這些語句寫上去編譯么?
回復

使用道具 舉報

29#
ID:243353 發(fā)表于 2017-10-27 11:15 | 只看該作者
老師,怎么將單片機內部RAM  30H~40H單元的數(shù)據(jù)一次儲存到內部RAM的 60H~70H單元中? 在keil中該怎樣寫代碼?你講的數(shù)據(jù)傳遞課 我不知道那里面是數(shù)據(jù)還是地址?還有30H~40H可以用循環(huán)吧  怎樣寫?
回復

使用道具 舉報

30#
ID:252697 發(fā)表于 2017-11-23 15:39 | 只看該作者
數(shù)據(jù)傳送指令和微機原理中的基本上都一樣呀。
回復

使用道具 舉報

31#
ID:276348 發(fā)表于 2018-1-16 20:31 | 只看該作者
這節(jié)了解了單片機的十六進制
回復

使用道具 舉報

32#
ID:229981 發(fā)表于 2018-2-26 20:47 來自手機 | 只看該作者
有一點匯編基礎看起來很輕松,也就沒詳細看。如果沒有基礎的話,看這些會很頭疼吧
回復

使用道具 舉報

33#
ID:308903 發(fā)表于 2018-6-12 16:27 | 只看該作者
MOV R7,#22H
MOV R1,12H  

加不加#有啥區(qū)別 啊
回復

使用道具 舉報

34#
ID:93625 發(fā)表于 2018-6-25 16:29 | 只看該作者
今天學習到這了,明天繼續(xù),,,
回復

使用道具 舉報

35#
ID:360721 發(fā)表于 2018-6-29 07:17 | 只看該作者
謝謝樓主的分享。
回復

使用道具 舉報

36#
ID:380461 發(fā)表于 2018-7-29 13:45 | 只看該作者
謝謝樓主,新手一枚
回復

使用道具 舉報

37#
ID:409309 發(fā)表于 2018-10-14 11:13 | 只看該作者
樓主把自己的學習所得整理的真好
回復

使用道具 舉報

38#
ID:421232 發(fā)表于 2018-12-12 19:44 | 只看該作者
謝謝分享
回復

使用道具 舉報

39#
ID:866313 發(fā)表于 2020-12-29 16:39 | 只看該作者
看了一下王爽師傅的《匯編語言》再看這篇文章理解起來非常輕松,建議有時間的朋友也可以參考下《匯編語言》
回復

使用道具 舉報

40#
ID:313023 發(fā)表于 2021-3-27 13:26 來自手機 | 只看該作者
mov R1,12H應該改為 mov R1 #12H
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表