云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第三章习题解答

第三章习题解答

  • 62 次阅读
  • 3 次下载
  • 2025/5/22 23:16:29

1. MCS-51单片机有几种寻址方式?这几种寻址方式是如何寻址的?

答:七种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。

2. 试编程将片外RAM中80H单元的内容送到片内RAM的2BH单元。 答:

MOV @R0, #80H MOVX A, @R0 MOV 2BH, A

3. 试编程将片外RAM中40H单元的内容与R0的内容交换。 答:

MOV @R1, #40H MOVX A, @R1 XCH A, R0 MOVX @R1, A

4. 已知(A)=C9H,(B)=8DH,CY=1,执行指令ADDC A,B后结果如何?执行指令SUBB A,B后结果如何? 答:

执行指令ADDC A,B后(A)=57H,(B)=8DH,CY=1 执行指令SUBB A,B后(A)=3BH,(B)=8DH,CY=0

5. 试编程将片外RAM中30H和31H单元的内容相乘,结果存放在32H和33H单元,高位存放在32H单元。 答:

MOV R1, #30H MOVX A, @R1 MOV B, A INC R1

MOVX A, @R1 MUL AB INC R1 INC R1

MOVX @R1, A MOV A, B DEC R1

MOVX @R1, A

6. 试编程将20H单元的2个BCD数拆开,并变成相应的ASCII码存入21H和22H单元。 答: MOV ANL ORL

A, 20H A, #0FH A, #30H

MOV 21H, A MOV A, 20H ANL A, #0F0H SWAP A ORL A, #30H MOV 22H, A

7. 设在寄存器R3的低4位存有数码0~F中的一个数,试将其转换成ASCII码,并存入片外RAM的2000H单元。 答:

MOV A, R3 ;取4位二进制数 ANL A, #0FH ;屏蔽高4位

PUSH A ;保存A内容到堆栈 CLR C ;清C SUBB A, #0AH ;(A)-10

POP A ;恢复A内容

JC LOOP ;若C =1,则数<10转到LOOP ADD A, #07H ;若C =0,则加37H

LOOP: ADD A, #30H ;转换成ASCII码

MOV DPTR,#2000H MOVX @DPTR, A

8. 试编程将片内RAM中30H单元中8位无符号二进制数转换成3位BCD码,并存入片内RAM的40H(百位)和41H(十位、个位)2个单元中。 答:

MOV A, 30H ;取二进制数到A MOV B, #100 ;除数送入B DIV AB ;相除

MOV 40H, A ;存入百位数 MOV A, B ;余数送入A

MOV B, #10 ;除数送入B DIV AB ;相除

SWAP A ;十位移到高4位

ORL A, B ;十位、个位合并到1个字节 MOV 41H, A ;存十位、个位数 SJMP $

9. 试用MCS-51指令实现以下传送: (1) R2的内容传送入R7;

MOV B, R2 MOV R7, B

(2) ROM中1000H单元的内容传送入R1; MOV

DPTR, #1000H

CLR A

MOVC A, @A+DPTR MOV R1, A

(3) ROM中1000H单元的内容传送入片内RAM 50H单元; MOV DPTR, #1000H CLR A

MOVC A, @A+DPTR MOV 50H, A

(4) ROM中1000H单元的内容传送入片外RAM 70H单元。 MOV CLR A MOVC MOV MOVX

DPTR, #1000H A, @A+DPTR R1, #70H @R1, A

10. 编程将片内35H~55H单元中的内容传送入以3000H为首地址的片外数据存储区中。 答:

MOV R0, #35H

MOV DPTR, #3000H LOOP: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR CJNE R0, #56H, LOOP SJMP $

11. 编程计算片内RAM区50H~57H共8个单元中数的算术平均值,结果存放于5AH中。 答: MOV R2, #8 ;计数器 MOV R0, #50H ;取数首地址 CLR A ;清A KKK: ADD A, @R0 ;加数 INC R0 DJNZ R2,KKK MOV B, #8 DIV AB MOV 5AH, A SJMP $

12. 设有100个无符号数,连续存放在以2000H为首地址的存储区中,试编程统计奇数和偶数的个数。 答:

MOV MOV MOV MOV R2, #100

DPTR, #2000H R3, #0 R4, #0

;奇数个数存放

;偶数个数存放

KKK: MOVX A, @DPTR MOV B, #2 DIV AB MOV A, B INC DPTR CJNE A,#0,DDD INC R4 SJMP NNN DDD: INC R3

NNN: DJNZ R2,KKK SJMP $

13. 将片外数据存储器地址为1000H~1030H的数据块全部搬到片内RAM的30H~60H单元中,并将原数据块区域全部清0。 答:

MOV DPTR, #1000H

MOV R0, #30 LOOP: MOVX A, @DPTR MOV @R0, A CLR A MOVX @DPTR, A INC DPTR INC R0 CJNE R0, #61H, LOOP SJMP $

14. 从20H单元开始有一无符号数据块,其长度在20H单元中。试求出数据块中的最小值,并存入21H单元。 答:

MOV @R0,#21H ;数据块首地址 MOV R1, 20H ;取数据块长度 MOV A, @R0 ;取一个数 MOV 21H,A ;存数 DDD:DJNZ R1,KKK ;判断是否取完 SJMP $ ;取完结束

KKK:INC MOV MOV CLR C

R0 A, @R0 B,A ;指向下一个数 ;取数 ;暂存

SUBB A,21H JNC DDD MOV 21H,B ;比较

;C=0,21H中数小,转移 ;存小数

SJMP DDD

15. 在以2000H为首地址的存储区中,存放着20个用ASCII码表示的0~9之间的数,试编程将它们转换成BCD码,并以压缩BCD码(即一个单元存储两位BCD码)的形式存放在3000H~3009H单元中。 答:

ORG 2000H MOV R1,#10 MOV R0,#30H MOV DPTR,#2000H LOOP: MOVX A,@DPTR ANL A,#0FH MOV B,A INC DPTR MOVX A,@DPTR ANL A,#0FH SWAP A ORL A,B MOV @R0, A INC R0 INC DPTR DJNZ R1,#00H,LOOP END

搜索更多关于: 第三章习题解答 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

1. MCS-51单片机有几种寻址方式?这几种寻址方式是如何寻址的? 答:七种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。 2. 试编程将片外RAM中80H单元的内容送到片内RAM的2BH单元。 答: MOV @R0, #80H MOVX A, @R0 MOV 2BH, A 3. 试编程将片外RAM中40H单元的内容与R0的内容交换。 答: MOV @R1, #40H MOVX A, @R1 XCH A, R0 MOVX @R1, A 4. 已知(A)=C9H,(B)=8DH,CY=1,执行指令ADDC A,B后结果如何?执行指令SUBB A,B后结果如何? 答: 执行指令ADDC A,B后(A)=57H,(B

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com