![]() | ![]() | ![]() | |
返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛 |
单片机教程第1课 教学资料 | 单片机教程第18课 算术指令 |
单片机教程第2课 好书推荐 | 单片机教程第19课 逻辑指令 |
单片机教程第3课 单片机不易掌握的概念 | 单片机教程第20课 逻辑指令 |
单片机教程第4课 实战一:流水灯 | 单片机教程第21课 转移指令 |
单片机教程第5课 实战二:唱歌 | 单片机教程第22课 位操作 |
单片机教程第6课 测试一 | 单片机教程第23课 计数定时器 |
单片机教程第7课 新教程前言 | 单片机教程第24课 计数定时器 |
单片机教程第8课 总体规划 | 单片机教程第25课 中断系统 |
单片机教程第9课 概述 | 单片机教程第26课 中断练习 |
单片机教程第10课 单片机结构 | 单片机教程第27课 定时计数实验2 |
单片机教程第11课 基本概念 | 单片机教程第28课 串行口 |
单片机教程第12课 延时程序分析 | 单片机教程第29课 串口实例 |
单片机教程第13课 延时程序分析 | 单片机教程第30课 数码管编程 |
单片机教程第14课 并口结构 | 单片机教程第31课 动态数码管编程 |
单片机教程第15课 结构分析 | 单片机教程第32课 键盘接口编程 |
单片机教程第16课 寻址方式 | 单片机教程第33课 键盘扫描编程 |
单片机教程第17课 上机练习 | 单片机教程第34课 指令介绍 平凡的单片机教程 |
单片机指令(二) 1. 数据传递类指令 (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。 综合练习: 1. 给出每条指令执行后的结果
说明:用括号括起来代表内容,如(23H)则代表内部RAM23H单元中的值,(A)则代表累加器A单元中的值。 2.上机练习: 1.进入DOS状态,进入WAVE所在的目录,例D:\WAVE 2.键入MCS51,出现如下画面 图1 3. 按File->Open,出现对话框后,在Name处输入一个文件名(见图2),如果是下面列表中已存在的,则打开这个文件,如果不存在这个文件,则新建一个文件(见图3)
4.在空白处将上面的程序输入。见图4。用ALT+A汇编通过。用F8即可单步执行,在执行过程中注意观察屏幕左边的工作寄存器及A累加器中的值的变化。
5.内存中值的变化在此是看不到的,可以用如下方法观察(看图5):将鼠标移到DATA,双击,则光标进入此行,此时可以键盘上的上下光标键上下翻动来观察内存值的变化。本行的最前面DATA后面的数据代表的是“一段”的开始地址,如现在为20H,再看屏幕的最上方,数字从0到F,显示两者相加就等于真正的地址值,如现在图上所示的内存20H、21H、22H、23H中的值分别是FBH 、0EH、E8H、30H。
6、当运行完程序后,即进入它的反汇编区,不是我们想要的东西。为了再从头开始,可以用CTRL+F2功能键复位PC值。注意此时不会看到原来的窗口,为看到原来的窗口,请用ALT+4或ALT+5等来切换。当然以上操作也可以菜单进行。CTRL+F2是程序复位,用RUN菜单。窗口用WINDOWS菜单。 此次大家就用用熟这个软件吧,说实话,我并不很喜欢它,操作起来不方便,但给我的机器只能上这个,没办法,下次再给网友单独介绍一个好一点的吧。 本页图片较多,如果大家无法忍受它的等待 |