找回密码
 注册
关于网站域名变更的通知
查看: 149|回复: 3
打印 上一主题 下一主题

单片机教程9单片机数据传递类指令

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-7-20 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
  • 单片机数据传递类指令
    ( u% U( _5 I- }
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中的值为12HDPL中的值为34H。反之,如果我们分别向DPHDPL送数,则结果也一样。如有下面两条指令:MOV DPH#35HMOV DPL#12H。则就相当于执行了MOV DPTR#3512H
数据传递类指令综合练习:
    ; l3 _" V# F/ q  a: ~9 j
  • 给出每条指令执行后的结果4 c6 R& a( k2 o+ x: w
  • 上机练习:   
    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单元中的值。

    # s( Y0 Y0 c& y7 q

    6 m% K1 T' x. p! j+ W8 `/ ^3 K" Q( P9 g/ z

      i/ U& a8 S) J6 z1 g; p
  • 进入DOS状态,进入WAVE所在的目录,例D:\WAVE
  • 键入MCS51,出现如下画面
    <单片机数据传递指令>图1
    4 l; l, z3 X) x2 a
  • File->Open,出现对话框后,在Name处输入一个文件名(见图2),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件(见图3
    图2

    ; l" E- z  ~. c9 D. ?/ B% ^7 _$ o
  • 在空白处将上面的程序输入。见图4。用ALT+A汇编通过。用F8即可单步执行,在执行过程中注意观察屏幕左边的工作寄存器及A累加器中的值的变化。
    图4

    / Y/ E( g4 I  z+ @% [
  • 内存中值的变化在此是看不到的,可以用如下方法观察(看图5):将鼠标移到DATA,双击,则光标进入此行,此时可以键盘上的上下光标键上下翻动来观察内存值的变化。本行的最前面DATA后面的数据代表的是“一段”的开始地址,如现在为20H,再看屏幕的最上方,数字从0F,显示两者相加就等于真正的地址值,如现在图上所示的内存20H21H22H23H中的值分别是FBH 0EHE8H30H 图5
    ( Y  E, x4 L- j) F6、当运行完程序后,即进入它的反汇编区,不是我们想要的东西。为了再从头开始,可以用CTRL+F2功能键复位PC值。注意此时不会看到原来的窗口,为看到原来的窗口,请用ALT+4ALT+5等来切换。当然以上操作也可以菜单进行。CTRL+F2是程序复位,用RUN菜单。窗口用WINDOWS菜单。
    & M3 i/ _$ m: J; ?/ I
      z5 Y/ z2 L' }
此次大家就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友单独介绍一个好一点的吧。现在最好的是keil 这个软件本站有详细的教程请看:    keil教程  单片机c语言教程
) k) z! h; l( U7 t" V1 K

该用户从未签到

2#
发表于 2022-7-20 10:31 | 只看该作者
不错不错,非常好的学习资料

该用户从未签到

3#
发表于 2022-7-20 13:24 | 只看该作者
不错不错,非常好的学习资料,多看看

该用户从未签到

4#
发表于 2022-7-20 15:00 | 只看该作者
非常好的学习资料,多看看,多学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 16:18 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表