单片机原理-李全利第二版课后题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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