第三章-80C51系列单片机指令系统范文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章80C51系列单片机指令系统
3·1 80C51系列中所有单片机是否使用完全相同的指令系统?
答: 80C51系列单片机以MCS一51系列的8051为基核,采用CHMOS工艺,其指令系统与MCS一51单片机的指令系统完全相同。
但是在一些非总线型的产品中,由于引脚的减少,不能扩展外部数据存储器,MOVX 类的指令是无效的;相应的,也不能扩展外部程序存储器,ACALL、LCALL、AJMP及LJMP 类的指令的使用也将受到限制。
3·2 区别CPU时存中的时钟周期、节拍(相)、状态周期、机器周期、指令周期。
答: 80C51有内部时钟振荡器,在振荡器外部引脚XTAL2、XTALl上并联石英谐振器和振荡电容后产生单片机的基本时钟频率f osc.。f osc.是单片机时序状态的基础。
时钟周期: 基本时钟频率f osc.,其振荡周期为T osc.,也称时钟周期。
状态周期: 由两个时钟周期T osc构成一个状态周期T s。
节拍: 一个状态周期里将两个T osc分成Pl、P2节拍(或相)。
机器周期: 6个状态周期T s为一个机器周期T w。机器周期是指令周期的基本单位。
指令周期: 完成一条指令操作需要的机器周期数,称为指令周期。80C51系列中通常有单周期指令、双周期指令及四周期指令等。
3·3 请区别汇编指令、指令代吗、指令周期、指令长度(字节教)。
答: 汇编指令:是指令系统最基本的书写方式,它由助记符、目的操作数、源操作数构成。格式
如下:
助记符目的操作数,源操作数;(注释)
指令代码: 是程序指令的二进制数字表示方法,是在程序存储器中存放的数据形式。
指令周期: 是指完成一条指令操作需要的机器周期数。
指令长度: 是指指令代码所占的字节数,有单字节指令、双字节指令和三字节指令。无论是单字节、双字节还是三字节指令,第1个字节代码为操作码,它表达了指令的操作功能;第2、3个字节则为操作数,可以是地址或立即数。
3·4 80C51指令系统中有哪些寻址方式? 相应的寻址空间在何处? 请举一例说明。答: 1. 80C51指令系统的寻址万式
80C51指令系统中有寄存器寻址、直接寻址、间接寻址、立即寻址、位寻址、基址变址寻址和相对寻址七种寻址方式。
(1)寄存器寻址方式
80C51中所有的工作寄存器R0~R7和SFR都是可寻址寄存器。在寄存器寻址操作中,这些寄存器都以寄存器名作指令操作数。
在寄存器寻址方式的操作指令中,寄存器内容作为操作数,可以是源操作数或目的操作数。例如:
INC DPTR ;DPTR寄存器内容加1
MOV A,R7 ;工作寄存器R7内容送累加器A中
DIV AB ;A内容除以B寄存器内容
XCH A,R6 ;A内容与R6内容交换
(2)直接寻址方式
直接寻址方式的操作指令直接把地址作为操作数来运行,既可作源操作数,也可作目的操作数。如:
MOV 30H,40H ;把片内存储器40H单元的内容送入
;30H单元
MOV R6,DPH ;寄存器DPH的直接寻址,将DPH
;中的内容送入R6
(3)间接寻址方式
间接寻址寄存器有Ri(i=0、1)和DPTR。间接寻址时,在间接寻址寄存器标记前加@符号。间接寻址时,寄存器的内容是操作数的地址。
●通过@Ri可以对片内数据存储器的00H~FFH单元间接寻址。如将40H中的内容
送入累加器A申,其间接寻址操作如下:
MOV Rl,#40H ;用Rl作间接寻址寄存器,给Rl
;赋予地址值
MOV A,@R1 ; @Rl中内容送人A申
●通过@DPTR对片外数据存储器0000H~FFFFH的间接寻址。如将A中的内容送
入片外数据存储器385FH单元中,其间接寻址操作如下:
MOV DPTR, #385FH ;用DPTR作间接寻址寄存器,给DPTR
;赋以地址值
MOVX @DPTR,A ;A中的内容送人片外RAM的385FH
;单元中
(4)位寻址方式
80C51中有完全服务于位寻址操作的布尔指令系统。为了满足位操作中位状态的缓冲、传送、运算,将进位位C作为位寻址操作的位累加器。
在位寻址操作中,位单元可以使用地址编号或位地址名。如:
MOV 5FH,C ;将进位位C的状态送5FH位地址中
ANL C,5FH ;将5FH的位状态与进位位C的状态
;相"与",其结果保留在C中
SETB TR0 ;将TCON中的TR0置位
CLR 8CH ;将TCON中的TR0清零,TR0的
;位地址为8CH
(5)立即寻址方式
指令中常常要使用一些常数来参与指令操作,由于这些常数能立即传送或赋值,故称为立即数。立即数前面必须加"#"标记。
指令中的立即数有8位立即数#data8和16位立即数#datal6。由于立即数是一个常
数,不是物理空间,故立即数在寻址操作中只能作为源操作数。如:
MOV A,#40H ;立即数40H给A赋值
MOV DPTR,#385FH ;立即数385FH给DPTR赋值
ANL A,#55H ;A中的数与55H相"与",其结果放在A中
(6)基址变址寻址方式
基址变址寻址方式是以一个基地址加一个变量地址的寻址操作方式。作为基地址使用的有PC指针和DPTR地址指针;A作为变量地址使用。
基址变址寻址方式是一种间接寻址方式,基址变址作为间接地址。采用基址变址寻址操作的指令只有以下三条,即: