您现在的位置: 主页 > MCU > 单片机技术应用 > 51单片机教程:单片机数据传递类指令 -
本文所属标签:
为本文创立个标签吧:

51单片机教程:单片机数据传递类指令 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]单片机数据传递类指令(3)以直接地址为目的操作数的指令MOV direct,A 例: MOV 20H,AMOV direct,Rn MOV 20H,R1MOV direct1,direct2 MOV 20H,30HMOV direct,@Ri MOV 20H,@R1MOV direct,#data MOV 20H,#34H(4)以间接

单片机数据传递类指令

本文引用地址: http://www.21ic.com/app/mcu/201206/127051.htm

(3)以直接地址为目的操作数的指令

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)以间接地址为目的操作数的指令

MOV @Ri,A 例:MOV @R0,A

MOV @Ri,direct MOV @R1,20H

MOV @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

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状态,进入WAVE所在的目录,例D:WAVE

键入MCS51,出现如下画面

点击浏览下一页
<单片机数据传递指令>图1

按File->Open,出现对话框后,在Name处输入一个文件名(见图2),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件(见图3)

点击浏览下一页
图2

点击浏览下一页

在空白处将上面的程序输入。见图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菜单。



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 51单片机教程:单片机数据传递类指令 -
 

"51单片机教程:单片机数据传递类指令 -"的相关文章

网站地图

围观()