DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 722|回复: 0
打印 上一主题 下一主题

[教程] 单片机入门教程第九课-单片机指令(二)

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-29 12:35:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机入门教程第九课-单片机指令(二)
数据传递类指令
  (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
  (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),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件(见图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菜单。此次大家就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友单独介绍一个好一点的吧。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-4 04:18 , 耗时 0.079571 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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