单片机第3章作业及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章作业

1、简述89C51的寻址方式,每一种方式请举一例。

(1) 立即数寻址(Immediate Addressing)

立即数寻址是将操作数直接存放在指令中,作为指令的一部分存放在代码段里。例如指令:MOV A,#30H

(2) 直接寻址(Direct Addressing)

直接寻址是将操作数的地址直接存放在指令中。这种寻址方式的操作数只能存放在内部数据存贮器和特殊功能寄存器中。例如:MOV A,30H

(3) 寄存器寻址(Register Addressing)

寄存器寻址是指操作数存放在以上所说的寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。例如:MOV A,R0

(4) 寄存器间接寻址(Register Indirect Addressing)

寄存器间接寻址是指操作数存放在以寄存器内容为地址的单元中。例如:MOV A,@R0

(5) 变址寻址(Base-Register-plus-Index-Register-Indirect Addressing)

变址寻址是指操作数存放在变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR 作基址寄存器。例如:MOVC A, @A+DPTR

(6) 相对寻址(Relative Addressing)

相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。例如:JZ 61H

(7) 位寻址(Bit Addressing)

位寻址,是指对片内RAM中20H~2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址。例如:位寻址指令MOV C,20H,此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器C。字节地址寻址指令:MOV A,20H,此指令是将内部RAM中20H单元中的内容送给累加器A。

2、请给下列指令加注释:

MOV A , 50H ;将片内RAM 50H单元中的数传送到累加器A中MOV A , #50H ;将立即数#50H传送到累加A中

MOV 50H , #30H ;将立即数#30H传送到片内RAM 50H单元中

MOV 52H , 51H ;将片内RAM 51H单元中的数传送到内RAM 51H

单元中

3、完成下列功能,写出相应指令:

(1) 在片内RAM 50H单元中存入立即数#76H;

MOV 50H , #76H

(2) 将片内RAM 30H单元中的低4位与高4交换;

MOV A , 30H

SW AP A

MOV 30H , A

(3) 将累加器A的低4位清0;

ANL A , #11110000B

(4) 将片内RAM 50H单元中的数取反后存入片外RAM7100H单元中;

MOV A , 50H

CPL A

MOV DPTR , #7100H

MOVX @DPTR , A

(5) 片内RAM 36H单元中存的小于10的BCD码乘以10以后存与片内RAM 37H中;

MOV A , 36H

RL A

RL A

RL A

RL A

MOV 37H , A

(6) 将片内RAM51H最高位置1;

ORL 51H , #10000000B

(7) 将程序状态字寄存器中的F0位置1;

CLR F0

(8) 片内RAM 78H单元中的数为#09H则转移,否则顺序执行;

MOV A , #09H

CLR C

SUBB A , 78H

JZ NEXT

(9) 请将片外RAM 3100H和3101H存的两个数交换。

MOV DPTR , #3100H

MOV R0 , #01H

MOV P2 , #31H

MOVX A , @DPTR

MOV R2 , A

MOVX A , @R0

MOVX @DPTR , A

MOV A , R2

MOVX @R0 , A

(10) 位地址00H中为1则片内RAM 55H为#55H,否则片内RAM 55H为#0。

JB 00H , NEXT

MOV 55H , #0

SJMP $

NEXT: MOV 55H , #55H

SJMP $

相关文档
最新文档