“单片机原理与接口技术”习题答案(1)(3)

2019-08-31 00:20

习题四

1. 一台计算机的指令系统就是它所能执行的 指令 集合。

2. 以助记符形式表示的计算机指令的程序设计语言就是 汇编 语言。

3. 按长度分,MCS-51指令有 单 字节的, 双 字节的和 三 字节的。 4.MCS-51汇编语言指令格式中,唯一不可缺少的部分是( B )。

A.标号 B.操作码 C.操作数 D.注释 5.MCS-51的立即寻址方式中,立即数前面( D )。

A.应加前缀“/”号 B.不加前缀号

C.应加前缀“@”号 D.应加前缀“#”号 6. 简述8051的寻址方式和每种寻址方式所涉及的寻址空间。 答:

寻址方式 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址 寻址空间(操作数的存放空间) 程序存储器 片内RAM低128字节、特殊功能寄存器 工作寄存器R0~R7、A、B、DPTR 片内RAM:@R0、@R1、SP 片外RAM:@R0、@R1、@DPTR 程序存储器:@A+PC、@A+DPTR 程序存储器256字节范围内:PC+偏移量 片内RAM的位寻址区(字节地址20H~2FH)、 地址能被8整除的特殊功能寄存器

7.MCS-51寻址方式中,操作数Ri加前缀“@”号的寻址方式是( A )。

A.寄存器间接寻址 B.寄存器寻址 C.基址加变址寻址 D.立即寻址

8.MCS-51寻址方式中,位寻址的寻址空间是( D )。

A.工作寄存器R0~R7 B.专用寄存器SFR C.程序存贮器ROM

D. 片内RAM的20H~2FH字节中的所有位和地址可被8整除的SFR的有效位 9.MCS-51寻址方式中,直接寻址的寻址空间是( D )。

A.工作寄存器R0~R7 B.专用寄存器SFR

C.程序存贮器ROM D.片内RAM 00H~7FH的128字节和80H~FFH中的SFR 10. 分析下面各指令源操作数的寻址方式。 MOV A,32H ;直接寻址 MOV R7,A ;寄存器寻址 MOV @R0,#0FEH ;立即寻址

MOV A,@R1 ;寄存器间接寻址 MOV DPTR,#1E00H ;立即寻址 MOVC A,@A+DPTR ;变址寻址 MOV C,20H ;位寻址 JC 10H ;相对寻址

11. 访问特殊功能寄存器和外部数据存储器,分别可以采用那些寻址方式?

11

答:访问特殊功能寄存器只能用直接寻址;访问外部数据存储器只能用寄存器间接寻址。 12. 在寄存器寻址方式中,指令中指定寄存器的内容就是 操作数 。 13. 在寻址方式中,只能使用 8 位二进制数作为直接地址。

14. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而操作

数的 地址 。 15. 在变址寻址方式中,以 累加器A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。 16. 三种传送指令MOV、MOVC和MOVX,使用时有什么区别?

答:MOV指令用来实现单片机内部寄存器、存储单元、特殊功能寄存器之间的数据传送。 MOVC指令用来读程序存储器中的数据表。

MOVX 指令用来实现累加器A和外部数据存储器之间的数据传送。

17.执行指令MOVX A,@DPTR时,错误!未找到引用源。、错误!未找到引用源。引脚的

电平为( C )。

A.高电平,高电平 B.低电平,高电平 C.高电平,低电平 D.低电平,低电平 18. 假定累加器(A)=30H ,执行指令:“1000H:MOVC A,@A+PC”后,

把程序存储器 1031H 单元的内容送累加器 A中。

19. 假定DPTR的内容为8100H,累加器的内容为 40H,执行下列指令“MOVC A,@A+DPTR”

后,程序存储器 8140H 单元的内容送累加器 A中。 20. 单片机中PUSH和POP指令常用来( D )。

A.保护断点 B.保护现场

C.保护现场,恢复现场 D.保护断点,恢复断点 21. 假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:

PUSH ACC POP B

后, (SP)= 60H ,(61H)= 30H , (B)= 30H 。 22. 假定(SP)=62H ,(61H)=30H,(62H) =70H。执行指令:

POP DPH POP DPL

后, (DPTR)= 7030H ,(SP)= 60H 。 23. 假定(A) =85H,(R0) =20H,(20H) =AFH。执行指令:ADD A,@R0后,累加器 A

的内容为 34H ,CY 的内容为 1 ,AC的内容为 1 ,OV的内容为 1 。 24. 按指令的执行时间分,MCS-51指令有 1 、 2 和 4 机器周期的指令。 25. 假定(A)=0FFH,(30H)=0F0H,(R0)=4FH,(50H)=00H。执行指令序列:

INC A ;(A)=00H INC R0 ;(R0)=50H INC 30H ;(30H)=F1H INC @R0 ;(50H)=01H 后,累加器(A)= 00H ,(R0)= 50H ,(30H)= F1H ,(50H)= 01H 。 26. 假定(A)=56H,(R5) =67H。执行指令:

ADD A,R6 DA A

后,累加器 A的内容为 23H , CY 的内容为 1 。 27. 假定(A)=0FH,(R4)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH。执行指令:

DEC A ;(A)=0EH

12

DEC R4 ;(R4)=18H DEC 30H ;(30H)=FFH DEC @R1 ;(40H)=FEH 后,(A)= 0EH ,(R4)= 18H , (30H)= FFH , (40H)= FEH 。 28. 假定(A)=50H,(B)=0A0H,执行指令:“MUL AB” 后,寄存器 B的内容为 32H ,

累加器 A的内容为 00H 。 29. 假定(A) =0FBH,(B)=12H 执行指令“DIV AB” 后,累加器 A的内容为 0DH ,

寄存器 B的内容为 11H 。

30. 下列指令可将累加器A最高位置1的是( B,C,D,E )。

A.ORL A,#7FH B.ORL A,#80H C.SETB 0E7H D.ORL E0H,#80H E.SETB ACC.7

31. 假定标号L2的地址为0100H,标号L3值为0123H,即跳转的目标地址为 0123H。当执

行指令“L2:SJMP L3”时,该指令的相对偏移量(即指令的第二字节)为 21H 。 32. 在位操作中,能起到与字节操作中累加器作用的是 进位标志位C 。

33.下列指令判断若P1口最低位为高电平就转到LP,否则就执行下一句的是( B )。

A.JNB P1.0,LP B.JB P1.0,LP C.JC P1.0,LP D.JNZ P1.0,LP 34. 累加器 A中存放着一个其值小于等于 127的 8为无符号数,(CY)=0,执行 RLC A指

令后,则A中的数变为原来的 2倍 。

35. 设内部RAM中50H单元的内容为34H,请分析下列程序段,说明各指令源操作数、目的

操作数的寻址方式以及按顺序执行指令后,A、R0以及内部RAM 30H、31H、50H单元的内容各为何值?

MOV R0,#50H ;(R0)=50H MOV A,@R0 ;(A)=34H SWAP A ;(A)=43H MOV 30H,A ;(30H)=43H MOV 31H,#30H ;(31H)=30H MOV 50H,30H ;(50H)=43H

36. 试根据以下要求写出相应的汇编语言指令。

(1)将R6的高四位和R7的高四位交换,R6、R7的低四位内容保持不变。 答:MOV A, R6

MOV 30H, R7 MOV R0, #40H MOV @R0, 30H XCHD A, @R0 MOV R7, A MOV 30H, @R0 MOV R7, 30H

(2)两个无符号数分别存放在30H、31H,试求出他们的和并将结果存放在32H。 答:MOV A, 30H

ADD A, 31H MOV 32H, A

(3)将30H单元的内容左环移两位,并送外部RAM 3000H单元。 答: MOV A, 30H

13

RL A RL A

MOV DPTR, #3000H MOVX @DPTR, A

(4)将程序存储器中1000H单元的内容取出送外部RAM 3000H单元。 答:MOV A, #0

MOV DPTR, #1000H MOVC A, @A+DPTR MOV DPTR, #3000H MOVX @DPTR, A

(5)使累加器A的最高位置1。 答:SETB ACC.7

(6)使进位标志位清0 答: CLR C

(7)使ACC.4、ACC.5和ACC.6置1。 答:ORL A, #01110000B

37. 设堆栈指针SP的内容为20H,累加器A的内容为67H,内部RAM中1FH、20H单元的内容分别为25H和34H,执行下列程序段后,1FH、20H、21H、22H、23H、DPTR、SP及累加器A的内容分别是多少?

PUSH ACC ;SP=21H, (21H)=67H PUSH 1FH ;SP=22H, (22H)=25H PUSH 20H ;SP=23H, (23H)=34H SWAP A ;A=76H

MOV 1FH,A ;(1FH)=76H RL A ;A=ECH MOV 20H,A ;(20H)=ECH

POP DPL ;(DPL)=34H, SP=22H

POP DPH ;(DPH)=25H, SP=21H, (DPTR)=2534H CLR 01H ;(20H.1)=0, (20H)=ECH

习题五

1. 用于程序设计的语言分为哪几种?它们各有什么特点?

答:MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言),

名称 汇编语言 特点 用符号书写指令(用助记符表示操作码,特殊符号表示操作数) 高级语言 用以英语为基础的语句编程 缺点 机器不能直接识别;程序员必须了解机器的结构和指令系统,不易推广和普及;不能移植,不具备通用性 机器不能直接识别;执行时间长 易于推广和交流;不依赖于机器,具有通用性 科学运算和数据处理 优点 较易为人们识适用场合 实时控制系别、记忆和读写 统 2. 说明伪指令的作用。

答:伪指令是指示性语句,没有对应的机器码,用来告诉汇编程序如何汇编源程序。 3. 说明常用伪指令ORG、EQU、DB、DW、END的作用。

14

答:ORG --指出后面程序块或数据块在程序存储器中存放的起始地址。

EQU --赋值命令 DB --定义字节数据 DW --定义字数据

BIT --定义位地址符号命令 END --汇编结束命令

4. 设常量和数据标号的定义为: ORG 2000H

DAT1: DB 1, 2, 3, 4, 5 DAT2: DB ‘ABCD’ N EQU $-DAT2 DAT3: DW 1200H,-2 TAB: DW DAT1, DAT3

(1)画出上述数据或地址的存储形式。 (2)写出各标号的地址。 答:

地址 2000H 2005H 2009H 200DH 内容(H) 01 02 03 04 05 41 42 43 44 12 00 FF FE 20 00 20 09 DAT1=2000H; DAT2=2005H; DAT3=2009H; TAB =200DH 5. 双字节加法。被加数放在内部RAM的30H(高字节)、31H(低字节)单元中,加数存放在内部RAM的32H(高字节)和33H(低字节)中,运算结果放存放在30H,31H中,进位存放在位寻址区的00H位。 答: ORG 0000H MOV A, 31H ADD A, 33H MOV 31H, A MOV A, 30H ADDC A, 32H MOV 30H, A MOV 00H, C

15


“单片机原理与接口技术”习题答案(1)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:律师接待委托人谈话记录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: