单片机第2章习题答案 下载本文

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

第2章习题答案

一.选择题

1.8051单片机用于选择内外程序存储器的控制信号是( B ) (A)RST(B)EA (C)PSEN (D)ALE 2.PC的值是( B )

(A)当前正在执行指令的前一条指令的地址

(B)当前正在执行指令的地址(如果当前指令执行完毕,则PC值为下一条指令的首地址) (C)当前正在执行指令的下一条指令的地址 (D)控制器中指令寄存器的地址

3.ALE信号有效的时候,表示( B )。

(A)从ROM中读取数据 (B)从P0口可靠地送出地址低8位 (C)从P0口送出数据 (D)从RAM中读取数据 4.8051复位时,下述说法正确的是( D )。 (A)(20H)=00H (B)SP=00H (C)SUBF=00H (D)TH0=00H 5.外部中断1固定对应的中断入口地址为( C )。

(A)0003H (B)000BH (C)0013H (D)001BH 6.P1口的每一位都能驱动( B )。

(A)2个TTL低电平负载 (B)4个TTL低电平负载 (C)8个TTL低电平负载 (D)10个TTL低电平负载 7.使用8751且EA=1时,则可以扩展ROM( B )。(内外总和64KB) (A)64KB (B)60KB (C)56KB (D)58KB 8.在扩展系统中,能够提供地址信号的高8位的端口是( C )。 (A)P0口 (B)P1口 (C)P2口 (D)P3口 9.内部RAM中具有位地址的区域是( B )。

(A)00H~1FH (B)20H~2FH (C)20H~3FH (D)30H~7FH 二.填空题

1.MCS—51单片机的P0~P3口均是 双向 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建扩展系统的 数据总线 和 地址总线 ,在P0~P3口中,真正的双向口为 P0口 , P1口、P2口、P3 为准双向口。

2.P2口在扩展系统当中通常用作 地址总线的高8位 ,也可以作通用的I/O口使用。 3.8051的堆栈只可设置在 片内RAM30H-7FH ,堆栈寄存器SP是 8 位寄存器。 4.8051单片机内部RAM低128单元有 4 组工作寄存器, 128 个位地址。 5.8051单片机中的PC的长度为 16 位,MCS-51单片机中的累加器A的长度为 8 位,8051单片机中的DPTR的长度为 16 位。

6.若8051单片机的程序状态字PSW中的RS1 RS0=11,那么工作寄存器R0~R7的直接地址为 18H-1FH 。

7.8051单片机的RST引脚上保持 2 个机器周期以上的低电平时,单片机即发生复位。 8.8051单片机扩展片外的I/O接口占用片外 数据 存储器的地址空间。

9.8051单片机复位后SP的值为 07H ,第一个入栈的数据存入 08H 单元。 10.若单片机使用频率为12MHz的晶振,那么时钟周期为 0.0833 μs ,机器周期为 1μs 。 三.简答题

1.8051单片机内部结构包含哪些功能部件? 答:(1)1个8位CPU;

(2)128B数据存储器(内部RAM) (3)程序存储器(内部ROM4K)

(4)可扩展的64K外部RAM和内外统一编制的片外ROM(共64K) (5)2个16位的定时器/计数器 (6)4个并行I/O口 (7)1个全双工串行口 (8)21个特殊功能寄存器

(9)一个片内振荡器及时钟电路 (10)中断系统具有5个中断源

2.8051单片机ROM空间中,0000H~0023H有什么用途?用户应怎么样合理安排? 答:0000H~0023H 为系统专用单元。8051系列单片机复位后,(PC)=0000H,CPU从地址为0000H的ROM单元中读取指令和数据。从0000H到0002H只有3个字节,根本不可能安排一个完整的系统程序,因此,这3个字节只能用来安排一条无条件跳转指令,跳转到其他合适的地址范围执行真正的主程序。而0003H~002BH是5个中断源的中断服务程序地址,用户也不能安排其他内容。从0030H之后,用户可以自由安排。

3.程序状态字PSW各位的定义是什么?

答:PSW也称为标志寄存器,存放各有关标志。其结构和定义如下表所示。

表 PSW结构 位编号 位地址 位定义名 PSW.7 D7H Cy PSW.6 D6H AC PSW.5 D5H F0 PSW.4 D4H RS1 PSW.3 D3H RS0 PSW.2 D2H 0V PSW.1 D1H F1 PSW.0 D0H P 表中:

Cy---进位标志。表示累加器A在执行减法运算中,若最高位ACC.7有进位或借位,Cy置1,否则清0。在进行位操作时,Cy是位操作累加器,指令助记符用C表示。

AC---辅助进位标志。表示累加器A在执行加减运算时,若低半字节ACC.3向高半字节ACC.4有进位或借位,AC置1,否则清0。

F0、F1---用户标志。与位操作区20H~2FH中的位地址00H~7FH功能相同。根据需要可以用软件将该位置位或清0。F0、F1可有3种表示方法:位地址D5H、D1H;位编号PSW.5、PSW.1和位定义名F0、F1。

RS1、RS0---工作寄存器区选择控制位。具体见表2-3所示。 OV---溢出标志位。

P---奇偶标志位。该标志对串行通信的数据传输是非常有用的,通过奇偶校验可检验信号传输的可靠性。

PSW是单片机中一个重要寄存器,其中Cy、AC、OV、P反映了累加器ACC的状态或信息,RS1、RS0决定工作寄存器区,F0和F1提供用户位操作使用。对PSW操作时,既可按字节整体操作,也可对其中某一位单独进行位操作。

4.对扩展外存储器的8051单片机系统,P0~P3口各有什么功用?

答:对扩展外存储器时,P0口分时作为地址总线低8位和数据总线,P2口作为地址总线高8位,P3口作为第二功能使用(不一定全部),真正能提供给用户使用的I/O口只有P1口和未用作为第二功能的部分P3口端线。

5.位地址00H~7FH和内RAM字节地址00H~7FH编址相同,读写时会不会弄错?为什么? 答:位地址00H~7FH和内RAM字节地址00H~7FH都是16进制表示的地址,虽然编址相同,但是访问的指令不相同。在位操作指令中出现的地址是位地址,在字节操作指令中出现的地址是字节地址。在指令执行过程中,CPU不会出错。

6.8051片内RAM容量有多少?可以分为哪几个区?地址范围各有多少?

答:内部数据存储器RAM块共有128字节,分为工作寄存器区、位寻址区和数据缓冲区三个部分。

(1)工作寄存器区(00H~1FH) (2)位寻址区(20H~2FH) (3)数据缓冲区(30H~7FH)

7.DPTR是什么寄存器?它是如何组成的?主要功能是什么?

答:DPTR是一个16位的特殊功能寄存器。由两个8位寄存器DPH、DPL组成。相对于地址指针,DPTR被称为数据指针,但实际上DPTR中存放的是一个16位的地址,作为访问程序存储器和外部数据存储器的地址指针。 8.PC是否属于特殊功能寄存器?它有什么作用?

答:PC不属于特殊功能寄存器,没有地址,不可访问。PC是一个16位的地址寄存器,用于存放将要执行的下个地址中的指令码。它有自动加1的功能。

9.堆栈的作用是什么?在堆栈中存取数据时有什么规则?如何理解?SP中的内容表示什么?

答:堆栈是CPU用于暂时存放特殊数据(例如中断的断点地址等)的地方。堆栈一般开辟在用户RAM区,共有80个RAM单元。作为堆栈使用时,栈顶的位置由专门设置的堆栈指针寄存器SP(8位)指出。

堆栈的操作规则是后进先出。无论是存数还是取数,SP总是指向栈顶的数据地址。 10.8051 RST引脚的作用是什么?有哪几种复位方式?复位后的状态如何?

答:RST引脚是复位端。必须在RST引脚(9)上加上持续两个机器周期(即24个振荡周期)以上的高电平。例如,若时钟频率为12MHz,每个机器周期为1μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。

RST端的外部复位电路有两种工作方式:上电自动复位和按键手动复位,见电路图2.13所示。

8051单片机复位期间不产生ALE和PSEN信号,内部各专用寄存器状态见下表所示。

表 复位后的内部存储器状态 寄存器名 PC ACC B PSW SP DPTR P0—P3 IP(80C51) IP(80c52) IE(80c51) IE(80C52) SBUF TMOD 内 容 0000H 00H 00H 00H 07H 0000H FFH ×××00000B ××000000B 0××00000B 0×000000B 不定 00H 寄存器名 T CON TH0 TL0 TH1 TL1 TH2(80C52) TL2(80C52) RCAP2H(80c52) RCAP2L(80C52) SCON PCON(HMOS) PCON(CHMOS) 内 容 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 0×××××××B 0×××0000B 其中×号表示无关位,是一个随机数值。