第2章《单片机原理与C51基础》赵丽清(课后习题及答案) 下载本文

思考题:

【2-1】80C51单片机由哪几部分组成,试说明ROM和RAM的功能分别是什么? 【2-2】在程序运行中,PC的值是。( ) A)当前正在执行指令的前一条指令的地址 B)当前正在执行指令的地址

C)当前正在执行指令的下一条指令的首地址 D)控制器中指令寄存器的地址 【2-3】判断下列说法是否正确。

(1)PC可以存放一个16位二进制数,因此其寻址范围为0000H~7FFFH。( )

(2)单片机系统复位时PC的内容为0000H,因此CPU从程序存储器0000H地址单元取指令,开始执行程序。( )

(3)PC可以看成是程序计时器( ) (4)PC可以看成是程序存储器的地址指针。( )

【2-4】试计算当振荡频率为12 MHz和6 MHz时,一个机器周期的长度?试辨析振荡周期、状态周期、机器周期、指令周期之间的关系。

【2-5】单片机的ROM必须具有掉电存储功能,这句话是否正确?

【2-6】单片机对RAM的根本要求是快,但掉电可丢失数据,这个表述正确吗?

【2-7】试说出80C51的两种时钟电路模式,如果是只有一个单片机工作常使用的是哪一种?如果是两个以上的单片机工作使用哪一种?

【2-8】80C51单片机的EA信号有何功能?在使用8031时,EA信号引脚应如何处理?现在使用的80C51系列单片机内部一般均含有ROM,其EA引脚应该怎么接?

【2-9】80C51系列单片机的三总线结构包括哪三种?其中作地址总线指的是?作数据总线指的是?属于控制总线的有?P0口的分时复用功能需要依靠锁存器的锁存功能,试举1种常用的低功耗锁存器并将其与单片机正确连接?

【2-10】片内RAM低128单元一般划分为哪三个主要部分?对应的字节地址空间是?内部RAM中,可作为工作寄存器区的单元地址为( )H~( )H。

【2-11】80C51单片机任何一个时间4组通用工作寄存器中只能有一组工作,具体哪一组工作由什么来决定?如何设置才能选用0组通用寄存器?

【2-12】80C51单片机具有很强的位(布尔)处理功能,内部RAM中共有多少单元可以位寻址,试写出其字节范围和位地址范围?

【2-13】位地址00H与字节地址00H在内存中的位置有什么区别?片内字节地址为2AH单元最低位的位地址是( );片内字节地址为88H单元的最低位的位地址为( )。

【2-14】80C51单片机可位寻址的范围包括两个区域,即可位寻址的特殊功能寄存器和内部RAM字节地址是20H-2FH的单元,这句话表述的是否正确?

【2-15】可位寻址的特殊功能寄存器的最低位位地址与字节地址形式不同,这句话表述是否正确? 【2-16】堆栈遵循的原则是什么?SP的名称是?初始化时SP的值是多少?通过堆栈操作实现子程序调用时,首先要把( )的内容入栈,以进行断点保护;调用子程序返回指令时,再进行出栈保护,把保护的断点进回到( )。

【2-17】程序状态字PSW的作用是什么?常用的状态标志有哪几位,其作用是什么?若A中的内容为63H,那么P标志位的值为( );单片机复位后,PSW=( ),这时当前的工作寄存器区是( )组工作寄存器区R4所对应的存储单元的地址为( )。 【2-18】判断下列说法是否正确。

(1)AT89S51中特殊功能寄存器(SFR)就是片内RAM中的一部分。( ) (2)片内RAM的位寻址区,只能供位寻址使用.而不能进行字节寻址。( )

(3)AT89S51共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行

位寻址的。( )

(4)SP称之为堆栈指针,其指示了栈顶单元的地址。( )

【2-19】80C51单片机外部扩展ROM或RAM时,都会用到哪个引脚和锁存器连接,从而实现P0口地址和数据的分时复用?

【2-20】80C51系列单片机的PSEN引脚的作用是什么?80C51系列单片机的RD和WR引脚的作用是什么?

【2-21】在80C51单片机扩展系统中,片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生冲突?

【2-22】试绘制AT89S51单片机的最小系统图。

【2-23】80C51单片机的P0口作地址和数据总线时为真正的双向口,不须接上拉电阻;作普通I/O口使用时需要接上拉电阻,否则不能正确输出高电平,要想保证能正确的读入各引脚的状态,在读入时还需要先执行向端口写“1”的操作,这句话表述是否正确? 【2-24】P0~P3口四个口线作普通I/O口使用时使用方法完全一样?这四个口当要正确的读入引脚状态时,一般需要先执行向端口写“1”操作。例如:MOV P0,#0FFH,这句话是否正确?但系统复位后,P0~P3四个口端口线如电平未作任何修改,当需要采集引脚输入状态时,不需要执行写“1”操作指令,结果也是正确的原因是什么?

【2-25】80C51单片机I/O口的灌电流远远大于拉电流,因此一般其I/O口输出低电平驱动外设,该表述是否正确?

【2-26】AT89S51的4个并行双向口P0~P3的驱动能力各为多少?要想获得较大的输出驱动能力,

采用低电平输出还是使用高电平输出?

【2-27】试说出80C51单片机有2种复位方法?单片机复位后SP/PC/P0~P3这些特殊功能寄存器的状态?

【2-28】80C51单片机运行出错或程序进入死循环,如何摆脱困境? 【2-29】80C51单片机有几种低功耗方式?

第二章思考题答案: 【2-1】解答:

(1)80C51单片机由八个部分组成:中央处理单元CPU(8位)、只读存储器ROM(4KB或8KB)、随机存取存储器RAM(256B)、特殊功能寄存器、并行接口、串行接口、定时/计数器、中断系统。 (2)只读存储器ROM用于存储应用程序和常数,随机存取存储器RAM用于存放程序运行中的工作变量数据。

【2-2】解答:C。

【2-3】解答:(1)错误 (2)正确 (3)正确 (4)正确 【2-4】解答:

(1)若80C51单片机振荡频率为12MHz时,则: 振荡周期=1/12MHz=(1/12)μs=0.0833μs=83.3ns 时钟周期=1/6μs=0.167μs 机器周期=1μs

若80C51单片机振荡频率为6MHz时,则:

振荡周期=1/6MHz=(1/6)μs=1.67μs=167ns 时钟周期=1/3μs=0.334μs 机器周期=2μs

(2)振荡周期是最小的定时单位,也称为晶振周期或节拍;一个时钟周期包含2个振荡周期,也称为状态周期;一个机器周期包含12个振荡周期;不同的指令一般其指令周期一般不同,可包含有1、2、4个机器周期。

【2-5】解答:正确。因为ROM是用来存放程序的,程序如果掉电丢失系统将会瘫痪,因此掉电存储是对ROM的根本要求。 【2-6】解答:正确。RAM中存放的是程序运行所产生的中间变量数据,因此速度快是它的根本要求。掉电丢失后,不影响程序的重新启动。 【2-7】解答:

(1)两种时钟电路模式分别是内部时钟模式和外部时钟模式。 (2)只有一个单片机工作时,经常使用的一般是内部时钟模式。

(3)外部时钟模式。其把外部已有的时钟信号引入单片机内,通常便于两个以上单片机工作的同步。

【2-8】解答:

(1)80C51单片机的EA信号用来决定CPU是执行内部ROM还是外部ROM的程序。当EA端保持高电平时,CPU只访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(51单片机基本型一般ROM为4KB)或1FFFH(51单片机增强型一般ROM为8KB)时,将自动转向访问外部存储器。当EA端保持低电平时,不管是否有内部程序存储器,只访问外部程序存储器。

(2)在使用8031时,由于8031没有内部ROM,所以EA信号引脚始终保持低电平。 (3)通常对于拥有内部ROM的单片机, EA信号接高电平。 【2-9】解答:

(1)80C51系列单片机的三种总线结构包括地址总线(AB)、数据总线(DB)和控制总线(CB)。 (2)其中用作地址总线的是P0、P2,由于地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0-A7),P2口直接提供高8位地址(A8-A15); (3)用作数据总线的是P0;

(4)用作控制总线的是P3口的第二功能状态和4根独立控制线EA 、ALE、PSEN、RESET组成。

【2-10】解答: (1)80C51单片机内部数据存储器128单元,分为工作寄存器区、位寻址区、用户RAM区三个区域。 (2)工作寄存器区:占用地址00H-1FH,安排了4组工作寄存器,每组占用8个RAM字节,记为R0-R7;位寻址区:占用地址20H-2FH,共16B,16*8=128位,每一位都有一个位地址,对应位地址00H-7FH ,位地址区也可作为一般RAM使用;用户RAM区:占用地址为30H-7FH。是留给用户使用的一般RAM区域,主要用来存放随机数据和中间结果。 (3)00H~1FH。 【2-11】解答:

(1)特殊功能寄存器PSW的RS1、RS0 决定当前工作寄存器组号。

(2)当RS1、RS0的取值都为00时,选中的是0组通用寄存器。 一般在单片机复位之后,特殊功能寄存器PSW的初值为00H,所以,如若选用0组通用寄存器,并不需要特别设置。 【2-12】解答:80C51单片机内部RAM中可以位寻址的单元共16个字节单元,字节地址是20H-2FH,对应的位地址是00H-7FH。 【2-13】解答:

(1)字节地址00H和位地址00H虽然形式上一样,但是所占的位置不同,字节地址是00H的单元正好与0组通用寄存器组的R0位置重合。位地址00H在内存中的具体位置是内部RAM 20H字节的最低位。

(2)00H;88H。

【2-14】解答:正确。80C51单片机有两个区域可以位寻址:一个是位寻址区20H~2FH单元的128位;另一个是字节地址能被8整除的特殊功能寄存器的相应位。

【2-15】解答:错误。可位寻址的特殊功能寄存器的最低位位地址与字节地址在形式上是相同的。 【2-16】解答:

(1)堆栈遵循的是“先进后出,后进先出”的存取原则。 (2)SP的名称是堆栈指针。

(3)在80C51单片机复位后,堆栈指针SP总是初始化到内部RAM地址07H。 (4)主程序的断点地址;PC。 【2-17】解答:

(1)程序状态字寄存器PSW是一个8位寄存器,存放程序、指令运行的状态信息。 (2)常用的状态标志位:

①CY:进位、借位标志。有进位、借位时由硬件置位CY=1,否则CY=0;

②AC:半进、借位(辅助进、借位)标志;加减法时低4位向高4位进位或借位时,由硬件置位AC=1,否则AC=0,应用于十进制调整;

③F0:用户标志位(软件位),由用户自己定义; ④RS1、RS0:当前工作寄存器组选择位;

⑤P:奇偶标志位。ACC中结果有奇数个1时P=1,否则P=0。

⑥OV:溢出标志位。有溢出时OV=1,否则OV=0。硬件置位/清零。 (3)P为0;00H;0组;04H。 【2-18】解答:(1)错误 (2)错误 (3)错误 (4)正确

【2-19】解答:80C51单片机外部扩展ROM或RAM时,需要ALE引脚与锁存器连接。其与锁存器连接后可以实现P0口地址和数据的分时复用。 【2-20】解答:

(1)PSEN引脚的作用是外部程序存储器的读选通信号,低电平有效。在外部程序存储器取指令(或常数)期间,每一个机器周期两次有效。每当访问外部数据存储器时,这两次有效的信号将不