ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:75KB ,
资源ID:3120451      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3120451.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机第3章习题参考答案.doc)为本站会员(11****ws)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

单片机第3章习题参考答案.doc

1、- 1 -第 3 章习题参考答案3.1 (略)3.2 (略)3.3 (略)3.4 指出下列指令源操作数的寻址方式和功能。1) MOV A,# 40H ;立即寻址。 40H A2) MOV A, 40H ;直接寻址。 (40H) A3) MOV A, R1 ;寄存器间址。 (R1) A4) MOV A, R3 ;寄存器寻址。 R3 A5) MOVC A,A+PC ;变址寻址。 (A+PC) A6) SJMP LOOP ;相对寻址。 程序转到标号为 LOOP 的语句处执行。3.5 内部 RAM 的 00H 单元的寻址方式:1) 直接寻址,MOV A,00H2) 因为 00H 是工作寄存器区,所以还

2、可以寄存器寻址。MOV A, R0特殊功能寄存器中的操作数的寻址方式:1) 直接寻址,MOV A, SP2) 部分 SFR 可以位寻址,MOV C, ACC.73.6 变址寻址和相对寻址中的地址偏移量异同:1) 变址寻址的偏移量是一个 00H FFH 范围内的无符号数;相对寻址偏移量是一个带符号的 8 位二进制补码,范围为-128 +127。2) 变址寻址的偏移量放在累加器 A 中,相对寻址的偏移量直接在指令中给出。3) 都是将基地址与地址偏移量相加,形成操作数地址。3.7 写出下列指令的机器码,指出指令中 50H 和 66H 各代表什么?1) 指 令 50H 的含义 机器码MOV A,# 5

3、0H 源操作数 7450HMOV A,50H 源操作数的地址 E550HMOV 50H,# 20H 目的操作数的地址 755020HMOV C, 50H 位地址 A250HMOV 50H,20H 目的操作数的地址 852050H2) 指 令 66H 的含义 机器码MOV R0,# 66H 源操作数 7666HMOV R6,#66H 源操作数 7E66HMOV 66H,# 45H 目的操作数的地址 756645HMOV 66H,C 位地址 9266HMOV 66H,R1 目的操作数的地址 8966H3.8 写出下列指令的机器码,指出下列程序执行后的结果。1) MOV A,# 60H 机器码: 7

4、460HMOV R0,# 40H 7840HMOV R0,A F6 HMOV 41H,R0 8841HXCH A,R0 C8 H 结果:A = 40H,R0 = 60H, (40H)= 60H, (41H)= 40H2) MOV DPTR, # 2003H 机器码:902003HMOV A, # 18H 7418HMOV 20H,# 38H 752038H- 2 -MOV R0, # 20H 7820HXCH A, R0 C8H结果:A = 38H, R0 = 20H, (20H)= 18H3.9 写出能完成下列数据传送的指令。1) R1 中的内容传送到 R0MOV R0, 01H 或: MO

5、V A, R1MOV R0, A2) 内部 RAM 20H 单元中的内容送到 30HMOV 30H, 20H3) 外部 RAM 20H 单元中的内容送到内部 RAM 20H 单元MOV R0, # 20HMOV P2, # 00H ; 外部 RAM 区 16 位地址的高 8 位清 0MOVX A, R0 MOV 20H, A4) 外部 RAM 2000H 单元中的内容送到内部 RAM 20H 单元MOV DPTR, # 2000HMOVX A, DPTRMOV 20H, A5) 外部 ROM 2000H 单元中的内容送到内部 RAM 20H 单元MOV DPTR, # 2000HMOV A,

6、# 00HMOVC A, A+DPTRMOV 20H,A6) 外部 ROM 2000H 单元中的内容送到外部 RAM 3000H 单元MOV DPTR, # 2000HMOV A, # 00HMOVC A, A+DPTRMOV DPTR, # 3000HMOVX DPTR, A3.10 试编出把外部 RAM 的 2050H 单元中的内容与 2060H 单元中的内容相交换的程序MOV DPTR, # 2050HMOVX A, DPTRMOV R0,AMOV DPTR, # 2060HMOVX A, DPTRXCH A, R0MOVX DPTR,AMOV DPTR,# 2050HMOV A, R0

7、MOVX DPTR,A3.11 已知(20H)= X, (21H)= Y, (22H)= Z。请用图示说明下列程序执行以后堆栈中的内容是什么?MOV SP,# 70H PUSH 20HPUSH 21HPUSH 22H70H 栈底71H X72H Y73H Z SP60H 栈底61H Z62H Y63H X SP- 3 -1) MOV SP,# 60H PUSH 22HPUSH 21HPUSH 20H3.12 已知 SP = 73H, (71H)= X, (72H)= Y, (73H)= Z。试问执行下列程序后 20H,21H 和 22H 单元中的内容是什么?并用图示说明堆栈指针 SP 的指向和

8、堆栈中数据的变化。1) POP 20H ;(20H)= ZPOP 21H ;(21H)= YPOP 22H ;(22H)= X2) POP 22H ;(22H)= ZPOP 21H ;(21H)= YPOP 20H ;(20H)= X3.13 试问如下程序执行后累加器 A 和 PSW 中的内容是什么?1) MOV A,# 0FEHADD A,# 0FEH ;A = FCH,PSW = C0H2) MOV A,# 92HADD A,# 0A4H ;A = 36H,PSW = 84H3.14 指令结果如下:1) A = 20H,Cy = 1, (30H)= A6H2) A = D5H,Cy = 1

9、3) A = 49H,Cy = 0,R0 = 2FH4) A = 4AH,Cy = 0, (30H)= A4H3.15 已知内部 RAM 的 M1、M2 和 M3 单元中有无符号数 X1、X2 和 X3。编程令其相加,并把和存入 R0 和R1(R0 中为高 8 位)中。 参考程序如下:ORG 1000HMOV R0, # M1MOV R1, # M2MOV A, R0ADD A, R1MOV B, AMOV A, # 00HADDC A, # 00H MOV R1, AMOV A, BMOV R0, # M3 ADD A, R0MOV R0, AMOV A, # 00HADDC A, R1MO

10、V R1, ASJMP $END3.16 参考程序:ORG 1000HMOV R0, # M1MOV A, R0 ;取被乘数低 8 位MOV R1, # M2MOV B, R1 ;取乘数MUL AB ;被乘数低 8 位与乘数相乘MOV R4, A ;保存低 8 位MOV R3, BINC R0 MOV A, R0;取被乘数高 8 位MOV B, R1MUL ABADD A ,R3 MOV R3, AMOV A, BADDC A, # 00H ;加上进位MOV R2, A ;保存高 8 位SJMP $ END3.17 参考程序:70H 栈底71H X72H Y73H Z SP数据出栈后SP 的位

11、置- 4 -ORG 1000HMOV R0, # 20HMOV A, R0 ;取被除数INC R0MOV B, R0 ;取除数DIV AB ;A / B = ABMOV R0, # 20HMOV P2, # 00HMOVX R0, A ;保存商INC R0MOVX R0, B ;保存余数SJMP $END 3.18 参考程序:ORG 1000HCLR CMOV A, # 5DHSUBB A, # B4HMOV R0, # 30HMOV R0, A ;保存商的低 8 位MOV A, # 6FHSUBB A, # 13HINC R0MOV R0, A;保存商的高 8 位SJMP $END 3.19

12、 参考答案:1) A = E1H, (30H)= ABH2) A = AAH3) A = 10H4) A = F0H3.20 参考程序:1) ANL 20H, 3FH2) ORL 20H, C0H3) XRL 20H, C0H4) XRL 20H, FFH或:MOV A, 20H CPL A MOV 20H, A3.21 参考程序:(用移位指令,两操作数为 8 位无符号数,操作结果 10CJNE A, # 0AH,COMP ;若 A10,则形成 Cy 并转到 COMPSJMP DONE ;若 A = 10,则停机COMP: JC DONE ;若 Cy = 1,表示 A 10,转到 LABELD

13、ONE: SJMP $3.23 参考程序:ORG 1000HMOV DPTR, # DATA1 ;源操作区的起始地址MOV R0, #30H ;目的操作区的起始地址MOV R2, #14H ;数据块长度NEXT: MOVX A, DPTRMOV R0, A ;从源操作取操作数INC DPTRINC R0DJNZ R2, NEXT ;判断数据块是否传送结束SJMP $END3.24 执行完调用指令后,堆栈指针 SP = 72H, 堆栈中的内容为 2345H+02H = 2347H,如图所示:调用的子程序在:3456H3.25 执行 RET 指令后,SP = 70H,PC = 2347H71H、7

14、2H 中的内容不变,仍为 47H 和 23H,但不属于堆栈区。3.26 若 SUPER = 4060H,则程序 2、3 都是正确的。程序 3 更好一点。程序 1 是绝对调用指令,只能在 2KB 区域内寻址。若 SUPER = 2060H,程序 1 最好,因为绝对调用指令是在页内寻址,比长调用指令更有效。3.27 参考程序:ORG 1000HMOV R0, #20H ;目的操作区的起始地址MOV R2, #14H ;数据块长度70H 栈底71H 47H72H 23HSP- 6 -MOV DPTR, # 2000H ;源操作区的起始地址LOOP: MOVX A, DPTRINC DPTRJB ACC.7, NEXT ;若为负数,则去判断下一个MOV R0, A ;若为正数,则送到片内 RAM 区INC R0NEXT: DJNZ R2, LOOP ;判断数据块是否传送结束SJMP $END3.28 参考程序:ORG 1000HMOV A, 20HCLR CSUBB A, 21HJNB ACC.7, DONE ;差为正数则存结果CPL A ;若差为负数,则求绝对值INC ADONE: MOV 30H, A ;存结果SJMP $END

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。