单片机习题答案

发布时间 : 星期一 文章单片机习题答案更新完毕开始阅读

.

《单片机原理与应用》作业

第二章:第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时,一个机器周期为12?1?1.2?s

10MHz

9.在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不会发生冲突? 答:

因为MCS-51系列单片机的存储器组织采用的是哈佛结构,即将程序存储器和数据存储器分开,程序存储器和数据存储器具有各自独立的寻址方式、寻址空间和控制信号。访问时用的指令也不一样。对外部程序存储器,使用MOVC指令;对外部数据存储器,使用MOVX

精选文档

.

指令。

10.MCS-51的P3口具有哪些第二种功能? P19 答:

P3口的第二功能定义 端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1(外部中断1) T0(定时器0外部中断) T1(定时器1外部中断) WR(外部数据存储器写信号) RD(外部数据存储器读信号)

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

精选文档

.

(4)MOV A,90H 答:(A)=(P1)=0FCH /P1的物理地址是90H P15 (5)MOV 80H,#81H 答:(80H)=81H (6)MOVX @R0,A 答:(6FH)=35H (7)PUSH A

答:(SP)=0C1H, (0C1H)=35H (8)SWAP A 答:(A)=53H (9)XCH A,R0

答:(A)=6FH,(R0)=35H

第四章:第2、3、6、11、12题

2.在汇编语言程序设计中,为什么要采用标号来表示地址?标号的构成原则是什么?使用标号有什么限制?注释段起什么作用? P69 答:

标号位于语句的开始,代表语句的地址,采用标号便于在编写程序时,实现跳转、循环等程序控制转移。

标号由以字母开头的字母和数字组成。 标号与指令间要用冒号“:”分开,标号与“:”之间不能有空格,“:”与操作码之间可以有空格。

注释段放在语句的最后,以“;”开始,为不可执行部分,对程序进行解释说明。

3.MCS-51汇编语言有哪几条常用伪指令?各起什么作用? 答:

(1)设置起始地址伪指令ORG 格式:ORG起始地址

作用:ORG伪指令总是出现在每段源程序或数据块的开始,可以使程序、子程序或数据块存放在存储器的任何位置。若在源程序开始处不放ORG指令,则汇编将从0000H单元开始编排程序。

(2)定义字节伪指令DB 格式:〈标号:〉DB〈项或项表〉

作用:从指定地址(标号)开始,定义字节数据,把项或项表的数值存入从标号开始的连续单元中。

(3)定义字伪指令DW 格式:〈标号:〉DW〈项或项表〉

作用:从指定地址(标号)开始,定义16位数据,常用于建立地址表,16位数据的高8位存低地址,低8位存高地址。 (4)预留存储区伪指令DS 格式:〈标号:〉DS〈表达式〉

作用:由标号指定的单元开始,定义一个存储区,以给程序使用。存储区内预留的存储单元

精选文档

联系合同范文客服:xxxxx#qq.com(#替换为@)