单片机原理课后习题参考答案 下载本文

内容发布更新时间 : 2024/5/17 16:00:48星期一 下面是文章的全部内容请认真阅读。

第2章 部分习题参考解答

1、 试述MCS-51单片机内部有哪些主要逻辑部件并说出其功能,画出片内结构图。

MCS-51单片机的内部除包含CPU外,还包含程序存储器、数据存储器、定时器/计数器、并行I/O接口、串行I/O接口、总线控制逻辑和中断控制逻辑等逻辑部件,其结构框图如图所示:

外接时钟源电源振荡器和时序逻辑定时计数器程序存储器数据存储器CPU内部总线64K空间总线控制中断控制逻辑并行I/O口串行I/O口 其中,CPU是单片机的最核心部分,它是整个单片机的控制和指挥中心,完成所有的计算和控制任务。振荡器和时序逻辑,产生CPU工作所需要的内部时钟。中断控制逻辑用来应付一些临时到达的突发事件,并能保证当有多个突发事件发生时,CPU能够有序地为这些事件进行服务,所有突发事件服务完成后CPU还能继续以前的工作。并行I/O接口和串行I/O接口作为CPU与外部设备通信的信息传输通道。程序存储器用于存放单片机的程序。数据存储器用于存放内部待处理的数据和处理后的结果。定时器/计数器主要是完成对外部输入脉冲的计数或者根据内部的时钟及定时设置,周期性的产生定时信号。64K总线控制逻辑,用于产生外部64KB存储空间的有关读写控制信号。

2、 MCS-51单片机有4个8位并行口(P0、P1、P2、P3),哪个口可作为地址/数据利用总线?

P0口可作为地址/数据复用总线口。

3、 P0口作为通用I/O口使用时,在输出状态下应注意什么?在输入状态下应注意什么?

P0口作为通用I/O口使用时,输出级是漏极开路的,因此在输出状态下外部应加上拉电阻。在输入状态下应先向端口锁存器写入1,这样引脚便处于悬浮状态,可作高阻抗输入。

5、 MCS-51单片机的最大寻址空间是多少?为什么?

MCS-51单片机,程序存储器空间采用片内、片外统一编址的方式,共有64KB,地址范围为 000OH~FFFFH。片内有256字节数据存储器地址空间,地址范围为 00H~FFH。片外数据存储器空间有64KB,其地址范围也是 000OH~FFFFH。

7、 MCS-51单片机片内低128字节的RAM中,分了几个基本区域?说出这些区域的名称。

MCS-51系列单片机片内低128字节的RAM包含:工作寄存器区(00H: 1FH)、可位寻址区(20H: 2FH)、通用RAM区(30H: 7FH)3个组成部分。

8、 片内和片外数据存储器地址重叠的区域是哪些地址?

片内与片外数据存储器空间的低地址部分(000OH~OOFFH)是重叠的,MCS-51单片机有MOV和MOVX两种指令,用以区分片内、片外RAM空间,当使用MOV指令时,访问的是片内区域,当使用MOVX指令时,访问的是片外区域。

9、 访问程序存储器的片外空间,是通过什么方式实现的?

程序存储器空间的片内、片外选择通过单片机的引脚EA来实现,当EA接低电平时,程序存储器空间的64KB全部由片外实现,当EA接高电平时,程序存储器空间的前4KB(MCS-52是8KB)由片内实现,对于片内没有的高地址空间部分单元,不管EA引脚接的是高电平还是低电平都由片外实现。片外程序存储器空间和片外数据存储器空间,采用的外部地址总线和数据总线是相同的,不同的是控制总线,程序存储空间的读信号PSEN,而数据存储空间的读信号为。

10、说出程序状态字寄存器(PSW)各位的含义。

PSW的位结构如下表所示。

D7 Cy D6 AC D5 F0 D4 RS1 D3 RS0 D2 OV D1 - D0 P 其中,各位的含义如下: ? Cy:高位进位标志位,当ALU的算术运算过程中有进位或借位时,Cy=1;否则,Cy=0。同时,

该位还可以用作位累加器,这时一般只用“C”表示。

? AC:辅助进位标志,当ALU的算术运算过程中低4位向高4位有进位或借位时,AC=1;否则,

AC=0。该位常用于BCD码的调整。 ? F0:用户标志位。

? RS1、RS0:选择工作寄存器组位,用于选择内部数据存储器区内4组工作寄存器中的某一组。具

体选择情况见寄存器介绍部分。

? OV:溢出标志位,当ALU的算术运算过程中有溢出时,OV =1;否则,OV =0。

? P:奇偶校验标志位,根据累加器ACC中1的个数由硬件置位或清除,当累加器ACC中有奇数

个1时P=1;否则,P=0。 ? PSW.1:保留位,无定义。

11、在MCS-51单片机的工作时序中,一个机器周期包含几个状态周期、几个振荡周期?

一个机器周期包含6个状态周期、12个振荡周期。

12、单片机复位后,程序计数器PC指向哪个地址?

第3章 部分习题参考解答

1、写出MCS-51单片机汇编指令的指令格式,并简单举例。

MCS-51单片机的汇编指令格式如下:

[标号:] 操作码 [目的操作数][,源操作数] [ ;注释]

操作码表示该指令所实现的操作功能,一般由2~5个英文字母表示。例如ORL,ADD,LCALL等。 操作数表示参与操作的数据来源和目的单元。操作数可以是一个立即数,也可以是一个内存单元或者是一个寄存器单元。

操作码和第一个操作数之间一般用一个或几个空格隔开,而操作数与操作数之间用逗号隔开。 操作数可以有1个,2个,3个或没有。

如果需要对指令进行注释说明的话,在最后一个操作数后加一个分号,分号后面是注释。 如: MOV A , 60H ; (60H)→A

标号由1~8个字母或数字构成,以字母开头以“:”结尾,标号可有可无,它仅仅代表了该指令所在的地址,便于源程序编写过程中使用该地址。

2、指出下面程序每个语句的寻址方式。

3、写出下面程序被执行后,各数据存储器地址中的内容。

MOV 40H,#33H MOV 41H,#44H MOV A,40H MOV 50H,A MOV A,41H MOV 51H,A

目的操作数 寄存器寻址

原操作数 直接寻址

立即寻址 寄存器寻址

PC=0000H

MOV A,P1

MOV A,#40H MOV 80H,A MOV A,R5 MOV @R0,A

寄存器寻址 直接寻址

寄存器寻址 寄存器寻址 寄存器寻址

寄存器间接寻址 基址+变址寻址

寄存器间接寻址

寄存器寻址 寄存器寻址

MOVX A,@DPTR

MOVC A,@A+DPTR MOV 74H,#80H

直接寻址 立即寻址

(40H)=33H,(41H)=44H,(50H)=33H,(51H)=44H