单片机原理-李全利第二版课后题答案

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

第二章

2. 80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?

答:

采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。

第三章

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

答:

单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。

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

答:

寄存器间接寻址方式。

15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。

答:

MOV 2FH,20H

MOV 2EH,21H

MOV 2DH,22H

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

答:

CLR CY

MOV 30H,#7FH

MOV 31H,#4DH

MOV R0, #31H

MOV A,@R0

SUBB A ,#4E

MOV @R0,A ;保存低字节相减结果

DEC R0

MOV A, @R0

SUBB A,#2BH

MOV @R0,A ;保存高字节相减结果

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

答:

MOV A,R2

ANL A,#0F0H

ORL R1,A

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

答:

MOV A,20H

MOV B,21H

MUL AB

MOV R3,A

MOV R2,B

19.若(CY)=1,(P1)=B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口内容的变化情况。

MOV ,C

MOV ,C

MOV C,

MOV ,C

MOV C,

MOV ,C

答:

(CY)=1,(P1)=B,(P3)=00111100B

第四章

3.常用的程序结构有哪几种?特点如何?

答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;

分支程序:可以改变程序的执行顺序;

循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。

4.子程序调用时,参数的传递方法有哪几种?

答:

利用累加器或寄存器;利用存储器;利用堆栈。

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

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}=秒(含调用指令2个机器周期)

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

答:

ORG 0000H

BIG DATA 2FH

ONE DATA 2AH

TWO DATA 2BH

相关文档
最新文档