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

当前位置:首页 > 单片机原理及应用技术(第3版)+李全利+习题答案

单片机原理及应用技术(第3版)+李全利+习题答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 20:37:18

5.什么是伪指令?常用的伪指令功能如何? 答:

伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括: ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址; END,功能是结束汇编;

DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据; DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间; EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名; BIT,功能是将位地址赋给指定的符号名。

6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采用大端模式存储)。

答:程序如下:

ORG 0000H MOV R0,#21H MOV R1,#23H MOV A,@R0 ADD A,@R1 MOV 25H,A DEC R0 DEC R1 MOV A,@R0 ADDC A,@R1 MOV 24H,A SJMP $ END

7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中。 答:

ORG 0000H

MOV DPTR,#1000H MOV R0,#30H MOV R7,#32 LOOP:MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR DJNZ R7,LOOP RET

- 82 -

8.编写程序,实现双字节无符号数加法运算,要求 (R0R1)+(R6R7)→(60H61H)。 答:

ORG 0000H MOV A,R1 ADD A,R7 MOV 61H,A MOV A,R0

ADDC A,R6 MOV 60H,A SJMP $ END

9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。 DELAY:MOV R7,#0F6H LP:MOV R6,#0FAH DJNZ R6,$ DJNZ R7,LP RET

答:延时时间: 2μs*{[1+((1+2*250+2)*246)+2]+2}=0.247486秒(含调用指令2个机器周期)

10.在内部RAM 的30H~37H单元存有一组单字节无符号数。要求找出最大数存入BIG单元。试编写程序实现。

答:

ORG 0000H BIG DATA 2FH ONE DATA 2AH TWO DATA 2BH

START:MOV R7,#7 ;比较次数 MOV R0,#30H LOOP:MOV A,@R0 MOV ONE,A INC R0 MOV TWO,@R0 CLR C SUBB A,@R0

JC NEXT ;ONE小,TWO大继续比下一对数 MOV @R0,ONE ;ONE大放后面(交换)

- 83 -

DEC R0

MOV @R0,TWO ;TWO小放前面 INC R0 ; NEXT:DJNZ R7,LOOP MOV BIG,37H SJMP $ END

11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。

答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。

DCDTH:MOV R7,#8

MOV R0,A ;暂存于R0 LOOP:CLR C MOV A,R0 RLC A MOV R0,A

MOV R1,#51H;

MOV A,@R1 ; ADDC A,@R1 ; DA A ; MOV @R1,A ;

DEC R1 MOV A,@R1 ADDC A,@R1 DA A MOV @R1,A

DJNZ R7,LOOP

INC R1 ;50H已是结果,R1指向51H,51H单元需拆分

- 84 -

org 0 MOV 52H,#0 MOV 51H,#0 MOV 50H,#0 MOV A,#0FDh LCALL DCDTH SJMP $

答:

MOV A,#00H XCHD A,@R1 MOV 52H,A MOV A,@R1 SWAP A MOV @R1,A RET END

12.编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中。 ORG 0

MOV R1,#5BH MOV A,R1 ANL A,#0F0H SWAP A ACALL ASCII MOV R3,A MOV A,R1 ANL A, #0FH ACALL ASCII MOV R4, A SJMP $ ASCII:PUSH ACC CLR C SUBB A, #0AH POP ACC JC LOOP ADD A, #07H LOOP: ADD A, #30H RET END

13.编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元。 答:

ORG 0000H MOV R7,#10 MOV R0,#50H MOV B,#10

- 85 -

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

5.什么是伪指令?常用的伪指令功能如何? 答: 伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括: ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址; END,功能是结束汇编; DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据; DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间; EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名; BIT,功能是将位地址赋给指定的符号名。 6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采用大端模式存储)。 答:程序如下: ORG 0000H MOV R0,#21H MOV

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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