单片机习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理与应用》作业
第二章:第1、3、5、8、9、10、11题
1.MCS-51系列单片机内部有哪些主要的逻辑部件P10
答:
程序存储器、数据存储器、中断系统、定时器/计数器、串行口、4个并行I/O、特殊功能寄存器、CPU。
3.MCS-51内部RAM区功能如何分配?如何选用4组工作寄存器中的一组作为当前的工作寄存器组?位寻址区域的字节地址范围是多少?P14
答:
MCS-51内部RAM分三个区域,00H~1FH为寄存器工作区、20H~2FH为位寻址区、30H~7FH为用户区。
通过PSW中的RS1、RS0来设置当前工作寄存器组。当RS1 RS0=00时,选择寄存器1组,地址为00H~07H;当RS1 RS0=01时,选择寄存器2组,地址为08H~0FH,当RS1 RS0=10时,选择寄存器2组,地址为10H~17H,当RS1 RS0=11时,选择寄存器3组,地址为18H~1FH。
位寻址区域的字节地址范围为20H~2FH。
5.8031设有4个8位并行端口,若实际应用8位I/O,应使用P0~P3中哪个端口传送?16位地址如何形成?
答:
若实际应用8位I/O,应使用P1口传送。
16位地址的低8位地址由P0端口给出,高8位地址由P2端口给出。
(8031没有内部程序存储区,只能外接 P3有第二功能)
8.MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一个机器周期为多少微秒?P25
答:
指令周期:CPU执行一条指令的时间称为指令周期。
机器周期:MCS-51典型的指令周期为一个机器周期。
时钟周期:即为振荡周期。每个机器周期由6个状态周期组成,每个状态周期由2个振荡周期组成,即一个机器周期由12个振荡周期组成。
若MCS-51振荡频率为12MHz,则每一个指令周期(机器周期)为1us。
当振荡频率为10MHz时,一个机器周期为
1
12 1.2
10
s
MHz
μ⨯=
9.在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不会发生冲突?
答:
因为MCS-51系列单片机的存储器组织采用的是哈佛结构,即将程序存储器和数据存储器分开,程序存储器和数据存储器具有各自独立的寻址方式、寻址空间和控制信号。访问时用的指令也不一样。对外部程序存储器,使用MOVC指令;对外部数据存储器,使用MOVX
指令。
10.MCS-51的P3口具有哪些第二种功能?P19
答:
11.位地址7CH与字节地址7CH有什么区别?位地址7CH具体在内存中什么位置?
答:
字节地址7CH是内部RAM的实际地址,其存储空间为一个字节,处于用户区,只能按字节寻址。位地址7CH不是内部RAM的实际地址,其存储实间为一个二进制位,要通过位寻址才能找到。
位地址7CH位于内部RAM的位寻址区20H~2FH范围内,具体为字节地址2FH从低位算起的第5位位地址。
(7CH 124 20H-2FH 128)
第三章:第2、3、7、8、9、10题
2.什么是寻址方式?MCS-51单片机有哪几种寻址方式?P36
答:
寻址方式是指令中确定操作数的形式。
单片机寻址方式有:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址寄存器+变址寄存器的间接寻址、相对寻址和位寻址。
3.指出下列指令中画线的操作数的寻址方式。
MOV R0,#55H
答:立即寻址
MOV A,2AH
答:直接寻址
MOV A,@R1
答;寄存器间接寻址
MOV @R0,A
答:寄存器寻址
DIV A,B
答:寄存器寻址
ADD A,R7
答:寄存器寻址
MOVX A,@DPTR
答:寄存器间接寻址
MOV DPTR,#0123H
答:立即寻址
MOVC A,@A+DPTR
答:基址寄存器+变址寄存器间接寻址
INC DPTR
答:寄存器寻址
7.为什么要进行十进制调整?调整方法是什么?
答:
因为在单片机,表示0~9之间的十进制数是用4位二进制数表示的,即BCD码。而在运算过程中,是按二进制规则进行的,即每位相加大于16时进位,十进制数是大于10时进位。因此BCD码运算时,结果大于9时得到的结果不是正确的,必须进行调整。
调整方法是在加法指令后用指令DA A进行调整。
(注意,减法指令不可以使用DA进行调整)
8.编程实现两个一字节压缩型BCD码的减法。设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。(BCD码减法不考)
答:
CLR C
MOV A, #9AH
SUBB A ,@R1
ADD A,@R0
DA A
MOV @R0,A
也可以在开头改为:SETB C
MOV A,#99H
9.把片外数据存储器8000H单元中的数据读到累加器中,应用哪几条指令?
答:
MOV DPTR,#8000H
MOVX A,@DPTR
外部数据存储器(@R0、@R1、DPTR)
10.已知内部RAM中,(A)=35H,(R0)=6FH,(P1)=0FCH,(SP)=0C0H
答:
(1)MOV R0,A
答:(R0)=35H
(2)MOV @R0,A
答:(6FH)=35H
(3)MOV A,#90H
答:(A)=90H