单片机实用技术--第3章习题解答

  • 格式:doc
  • 大小:29.50 KB
  • 文档页数:5

下载文档原格式

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

1.设变量x以补码形式存放在片内RAM 30H单元中,变量y与x的关系是:

X, X>0

Y= 20H, X=0

X+5, X<0

编程根据x的值求y值并放回原单元。

答:START:MOV A,30H

JZ NEXT

ANL A,#80H

JZ ED

MOV A,#05H

ADD A,30H

MOV 30H,A

SJMP ED

NEXT:MOV 30H,#20H

ED:SJMP $

2.MCS-51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何?答:立即寻址对应程序存储器

直接寻址对应内部数据存储器和SFR

寄存器寻址对应工作寄存器R0~R7,A,B,DPTR

寄存器间接寻址对应片内RAM:@R0,@R1,SP,片外RAM:@R0,@R1,@DPTR

变址寻址对应程序存储器:@A+PC,@A+DPTR

相对寻址对应程序存储器256字节范围内:PC+偏移量

位寻址对应片内RAM的位寻址区(20H~2FH字节地址),某些可位寻址的SFR 3.访问特殊功能寄存器SFR可以采用哪些寻址方式?

答:直接寻址方式和位寻址方式

4.访问片内RAM单元可以采用哪些寻址方式?

答:直接和间接寻址方式

5.访问外部RAM单元可以采用哪些寻址方式?

答:间接寻址方式

6.访问外部ROM可以采用哪些寻址方式?

答:立即、变址和相对寻址方式

7.为什么说布尔处理功能是8051单片机的重要特点?

答:因为8051具有位寻址功能

8.对于AT89S52单片机内部RAM还存在高128字节,应采用何种方式访问?

答:采用间接寻址方式

9.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令。(1)将R0的内容传送到R1;

(2)内部RAM单元50H的内容传送到寄存器R4;

(3)外部RAM单元2000H的内容传送到内部RAM单元70H;

(4)外部RAM单元0800H的内容传送到寄存器R5;

(5)外部RAM单元2000H的内容传送到外部RAM单元2100H。

答:(1)MOV A,R0

MOV R1,A

(2)MOV R4,50H

(3)MOV DPTR,#2000H

MOVX A,@DPTR

MOV 70H, A

(4)MOV DPTR,#0800H

MOVX A,@DPTR

MOV R5,A

(5)MOV DPTR,#2000H

MOVX A,@DPTR

MOV DPTR,#2100H

MOVX @DPTR,A

10.若(R0)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。

答:MOV A,@R0 ;(A)=60H

MOV @R0,40H ;(30H)=08H

MOV 40H,A ;(40H)=60H

MOV R0,#7FH ;(R0)=7FH

11.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H,41H,42H单元中的内容各为多少?

答:MOV A,50H ;(A)=40H

MOV R0,A ;(R0)=40H

MOV A,#00H ;(A)=00H

MOV @R0,A ;(40H)=00H

MOV A,# 3BH ;(A)=3BH

MOV 41H,A ;(41H)=3BH

MOV 42H,41H ;(42H)=3BH

12.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容。若该指令影响标志位,试指出CY,AC 和OV的值。

(1)MOV A,@R0 ;(A)=2CH

(2)ANL 40H,#0FH ;(40H)=0CH

(3)ADD A,R4 ;(A)=22H, C=1,AC=1 ,OV=0

(4)SWAP A ;(A)=8EH

(5)DEC @R1 ;(20H)=0EH

(6)XCHD A,@R1 ;(A)=EFH ,(20H)=08H

13.试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

(1)使ACC.2置位;

(2)清除累加器低4位;

(3)清除ACC.0,ACC.3,ACC.5,ACC.7。

答:(1)SETB ACC.2

(2) CLR ACC.3

CLR ACC.2

CLR ACC.1

CLR ACC.0

(3)CLR ACC.0

CLR ACC.3

CLR ACC.5

CLR ACC.7

14.试编写程序,将内部RAM的21H,22H,23H三个连续单元的内容依次存入30H,31H 和32H单元。

答:MOV 30H,21H

MOV 31H,22H

MOV 32H,23H

15.试编写程序,完成两个16位数的减法:7E56H-2B4EH。其结果存入内部RAM的30H 和31H单元,31H单元存差的高8位,30H单元存差的低8位。

答:CLR C

MOV A,#56H

SUBB A,#4EH

MOV 30H, A

MOV A, #7EH

SUBB A, #2BH

MOV 31H,A

16.试编写程序,将R0中的低4位数与R3中的高4位数合并成一个8位数,并将其存放在R0中。

答:MOV A, R0

ANL A, #0FH

MOV 30H, A

MOV A, R3

ANL A, #0F0H

ORL A, 30H

MOV R0, A

17.试编写程序,将内部RAM的20H,21H单元的两个无符号数相乘,结果存放在R2,R3中,R2中存放高8位,R3中存放低8位。

答:MOV A, 20H

MOV B, 21H

MUL AB

MOV R2, B

MOV R3, A

18.若单片机的主频为12MHz,试用循环转移指令编写延时20ms的延时子程序,并说明这种软件延时方式的优缺点。

答:因为主频是12MHZ,所以机器周期为1us。

DEL: MOV R7, #80 ;1T机

DEL1: MOV R6, #123 ;1 T机

NOP ;1 T机

DJNZ R6, $ ;2 T机

DJNZ R7,DEL1 ;2 T机

RET ;2 T机

延时时间:T =1+80[(1+1+2*123)+2]+2