返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

 单片机教程 栏目导航   第一页..单片机入门教程    第二页..单片机c语言   第三页..红外遥控和步进电机    第四页..单片机问答

第3章 单片机的指令系统---51系列单片机设计实例教程

3.1 单片机指令系统基础

3.1.1 汇编指令格式

汇编指令是指令系统最基本的书写方式,由助记符、目的操作数、源操作数组成。格式如下:

(标号):操作码助记符、目的操作数、源操作数;(注释)

标号可以是以英文字母开头的字母、数字和某些特殊符号的序列。某条指令一旦赋予标号,则在其他指令的操作数中即可引用该标号作为引用地址。

操作码助记符用来表达指令的操作功能。

操作数是指令操作所需的数据、地址或符号(标号)。通常右边操作数为源操作数,左边为目的操作数。例如:

MOV  A,   #40H;   把数40H送入累加器A中

MOV  A,   40H;    把40H中的数送入累加器A中

INC  A;   把A中的数加1

CJNE A,   #40H,   LOOP1;  A中数与数40H比较,不等时程序转到LOOP1

DIV  AB;  A中内容被B中内容除,商在A中,余数在B中。

3.1.2 指令代码格式

指令代码是程序指令的二进制数字表示方法。指令有单字节指令、双字节指令和三字节指令。第一个字节代码为操作码,表达了指令的操作功能,第二、三个字节则为操作数,可以是地址或立即数。

表3.1中列出了几种汇编指令与指令代码

表3.1汇编指令与指令代码

3.1.3 汇编指令中的符号约定

汇编指令中的符号约定如下:

Rn(0--7):当前选中的8个工作寄存器R0--R7;

Ri(i=0,1):当前选中的用于间接寻址的两个工作寄存器R0、R1;

Direct:8位直接地址,可以使RAM单元地址(00H--7FH),或特殊功能寄存器(SFR)地址(80H--FFH);

#data:8位常数

#data:16位常数

addr16:16位地址

addr11:11位地址

rel:8位偏移地址,表示相对跳转的偏移字节,按下一条指令的第一个字节计算,在—128--+127取值范围内;

DPTR:16位数据指针;

bit:位地址,内部RAM20H--2F中可寻址位和SFR中的可寻址位;

A:累加器;

B:寄存器,用于乘法等指令中;

C:进位标志或进位位,或位操作指令中的累加器;

@:间接寻址寄存器的前缀;

/:位操作的取反前缀

3.1.4 指令系统的寻址方式

指令系统的寻址方式有以下七种方式:

1.寄存器寻址方式

(1)单片机中的所有工作寄存器R0--R7及SFR都是可寻址寄存器,这些寄存器都以寄存器名作指令操作数。例如:

MOV  A,RO

MOV  SP,#70H

(2)在寄存器寻址方式的操作指令中,寄存器内容作为操作数,可以使源操作数或目的操作数。例如:

MOV  R1,#10H

MOV  A,R1

2.直接寻址方式

(1)直接寻址的空间有片内数据存储器的直接地址direct,其包括00H--7FH中的数据区及80H--FFH中的SFR。

(2)直接寻址方式的操作指令直接把地址作为操作数来运行,既可作为源操作数,也可作目的操作数。例如:

MOV   50H, 60H

MOV   DPH, 40H

INC   60H

3.间接寻址方式

(1)间接寻址的地址空间有片内数据存储器的00H--FFH和片外数据存储器的0000H--FFFFH。

(2)间接寻址的寄存器有Ri和DPTR,间接寻址时要在间接寻址寄存器标记前面加@符号。

(3)间接寻址时,寄存器中的内容是操作数的地址。例如:

MOV   RO,#30H

MOV   A@,Ro

MOV   DPTR,#OFFH

MOVX  A,@DPTR

4.位寻址方式

(1)位寻址的位地址在RAM的20H--2FH单元的128个位和SFR中可位寻址的位单元。

(2)进位位C作为位操作的位累加器。

(3)在位寻址操作中,位单元可以使用地址编号或位地址名。例如:

SETB  TRo

CLR   OOH

ANL  C,5FH;将5FH中的位状态与进位位C相与,结果在C中

5.立即寻址方式

(1)常数用来参与指令操作,一般用#标记作前缀。

(2)立即数载寻址操作中只能作源操作数。例如:

MOV  A,#30H

MOV  DPTR,#2FFFH

ANL  A,#OF4H

6.基址变址寻址方式

(1)基址变址寻址方式是一种间接寻址方式,PC和DPTR可作为基址地址,A作为变量地址。

(2)共有三条指令:

MOVC   A,@A+DPTR

MOVC   A,@A+PC

JMP    @A+DPTR

7.相对寻址方式

(1)相对寻址中,相对地址rel是一个8位的地址偏移量,是相对于转移指令下一条指令第一个代码的地址偏移量,为-128--+127。

(2)使用中应注意rel的范围不要超出。例如:

JZ   LOOP

DJNE  RO,DISPLAY

51系列单片机设计实例教程12题

单片机指令的应用例子

定时器/计数器的基本结构与操作方式

定时器/计数器的SFR

定时器/计数器的工作方式

定时器/计数器的编程和使用

单片机定时器应用举例

中断系统的基本组成

单片机中断系统中的SFR

中断响应的自主操作过程

串行口的基本结构与操作方式

串行口的特殊功能寄存器

单片机串口的工作方式

如果对本文有疑问,请到论坛提问 编辑:51单片机学习网 @ 2009-10-20校对 中国开发板最佳品牌  版权:部分由编辑摘引,权利属原著作人