文档库 最新最全的文档下载
当前位置:文档库 › 单片机原理及应用课后习题答案

单片机原理及应用课后习题答案

单片机原理及应用课后习题答案
单片机原理及应用课后习题答案

课后思考题级习题答案

思考题与习题1

一、填空

1.单片机按照用途通常分为 通用型 和 专用型 。

2.单片机也称为 微控制器 和 单片微型计算机 。

二、简答

1.什么是单片机?

答:单片机也称微控制器,它是将中央处理器、程序处理器、数据处理器、

输入/输出接口、定时/计数器串行口、系统总线等集成在一个半导体芯片上的微计算机,因此又称为单片微型计算机,简称为单片机。

2.简述单片机的特点和应用领域。

答:(1)单片机体积小,应用系统结构简单,能满足很多应用领域对硬件功能的要求。

(2)单片机的可靠性高。

(3)单片机的指令系统简单,易学易用。

(4)单片机的发展迅速,特别是最近几年,单片机的部结构越来越完善。

3.写出AT89S51与AT89S52芯片的主要区别。

部程序存储区容量不同,52的程序存储空间为8K ,部数据存储空间为256B ,中断源8个,定时器/计数器有3个,而51的程序存储空间为4K ,部数据存储空间为128B ,中断源5个,定时器/计数器有2个。

思考题与习题2

一、填空题

1.如果(PSW )=10H, 则部RAM 工作寄存器区的当前寄存器是第二 组寄存器,8个寄存器的单元地址为 10H ~ 17H 。

2.为寻址程序状态字F0位,可使用的地址和符号有 PSW.5 、

0D0H.5 、 F0 和 0D5H 。

3.单片机复位后,(SP )= 07H ,P0~P3= FFH ,PC= 0000H ,PSW= 00H

A= 00H 。

4.AT89S51单片机的程序存储器的寻址围是由 PC 决定的,由于AT89S51

单片机的PC 是 16 位的,所以最大寻址围为 64KB 。

5.写出位地址为20H 所在的位,字节地址 24H.0 。

6.写出字节地址为20H 的单元最高位的位地址为 07H ,最低位的位地址为

00H 。

7.如果晶振频率MHz 6OSC f ,则一个时钟周期为1.66667E-7,一个机器周

期为2us 。

8. AT89S51单片机共有26个特殊功能寄存器。

9. AT89S51单片机片外数据存储器最多可以扩展64KB 。

10.如果CPU 从片外ROM 的0000H 单元开始执行程序,那么EA 引脚应接 低电平。

二、选择题

1.PC的值是( C )。

A.当前指令前一条指令的地址

B.当前正在执行指令的地址

C.下一条指令的地址

D.控制器中指令寄存器的地址

2.对程序计数器PC的操作是( A )。

A.自动进行的

B.通过传送进行

C.通过加“1”指令进行的

D.通过减“1”指令进行

3.在AT89S51单片机中P0口作为( D )。

A.数据总线

B.地址总线

C.控制总线

D.数据总线和地址总线

4. 在AT89S51单片机中( C )。

A.具有独立的专用的地址总线

B.P0口和P1口作为地址总线

C.P0口和P2口作为地址总线

D.P2口和P1口作为地址总线

三、简答题

1.AT89S51单片机的EA引脚有何功能?如果使用片ROM,该引脚该如何处理?

答:EA为该引脚的第一功能,为访问程序存储器控制信号。

如果使用片ROM,则EA信号为高电平。

2.什么是指令周期,机器周期和时钟周期?

答:指令周期是CPU每取出并执行一条指令所需的全部时间;机器周期是CPU完成一个基本操作所需要的时间。时钟周期是指计算机主时钟的周期时间。

3.堆栈的作用是什么?在程序设计时,为什么要对堆栈指针SP重新赋值?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场;堆栈指针SP复位后指向07H单元,00H-1FH为工作寄存器区,20H-2FH为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP重新赋值。

4.单片机复位有几种方法?

答:1、上电复位 2、按键复位 3、看门狗复位 4、软件复位

5.AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境?

可以采用复位键进行复位,使单片机初始化,也可以在软件中使用看门狗。

6. AT89S51单片机P0~P3口的驱动能力如何?如果想获得较大的驱动能力,采用低电平输出还是高电平输出?

答:P0口每位可驱动8个LSTTL输入,而P1.P2.P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400μA的电流;当P0口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。

7.AT89S51单片机部RAM低128单元划分为几个部分?每部分有什么特点?

答:工作寄存器区、位寻址区、用户RAM区。

每部分特点如下:00H-1FH为工作寄存器区,共32个单元,被分为4组,每组有八个寄存器(R0-R7)。任意时刻,CPU只能使用一组寄存器,当前正在使用的寄存器组被称为当前寄存器。在程序运行过程中如果不使用的寄存器也可以作为RAM使用。

20H-2FH为位寻址区,共16个单元。这16个单元可以作为字节单元使用,

同时这16个单元的每一位也可以单独使用,即位寻址。

30H-7FH为用户RAM区,用于存放各种数据、中间结果,起到数据缓冲的作用。在实际使用中,常需要把堆栈设在用户RAM中。

8. AT89S51单片机的片都包含了哪些功能部件?各个功能部件主要的功能是什么?

答: 1个微处理器(CPU);

128个数据存储器(RAM)单元;

4KB Flash程序存储器;

4个8位可编程并行I/O口;

1个全双工串行口;

2个16位定时器/计数器;

1个看门狗定时器;

1个中断系统,5个中断源,2个优先级;

26个特殊功能寄存器(SFR);

1个看门狗定时器。

9.程序存储器的空间中,有5个特殊单元,分别对应AT89S51单片机5个中断源的入口地址,写出这些单元的地址及对应的中断源。

中断源中断入口地址

外部中断0 0003H

定时/计数器0溢出中断000BH

外部中断1 0013H

定时/计数器1溢出中断001BH

串行中断0023H

10. AT89S51单片机有几个存储器空间?画出它的存储器结构图。

AT89S51单片机的有3个存储器空间,即片片外统一编制的程序存储器,片数据存储器和片外数据存储器。

11.什么是空闲方式?怎样进入和退出空闲方式?

答:空闲方式:CPU处于休眠的状态,而片所有其他外围设备保持工作状态,即振荡器保持工作,时钟脉冲继续输出到中断、串行口、定时器等功能部件,使它们继续工作,但时钟脉冲不再送到CPU,因而CPU停止工作。

进入:每当CPU执行一条将IDL位置1 的指令,就使它进入空闲方式,CPU 即停止工作,进入空闲方式。

退出:两种:一是被允许的中断源请求中断时,由部的硬件电路清0 IDL 位,终止空闲方式;另一种方式是硬件复位。RST引脚上的复位信号直接将IDL 为清0,从而使单片机退出空闲方式。

12.什么是掉电方式?怎样进入和退出掉电方式?

答:掉电:振荡器停止工作,单片机部所有的功能部件全部停止工作。

进入:CPU执行一条将PD位置1的指令,就使单片机进入掉电方式。

退出:唯一的方法是硬件复位,复位后单片机部特殊功能寄存器的容被初始化,PCON=0,从而退出掉电方式。

13.AT89S51单片机的控制信号引脚有哪些?说出其功能。

答:

RST(9脚):复位信号输入端,高电平有效。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE (30脚):地址锁存控制信号。当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存低8位地址。

PSEN(29脚):程序储存允许输出端,是外部程序存储器的读选通信号,低电平有效。当AT89S51 从外部程序存储器取指令时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,不会出现两次有效的PSEN信号。

EA(31脚):EA为该引脚的第一功能,为访问程序存储器控制信号。当EA

信号为低电平时,对ROM的读操作限定在外部程序存储器;而当EA信号为高电平时,则对ROM的读操作是从部程序存储器开始,并可延续至外部程序存储器。

四、设计一个电路,使单片机的P0口能驱动8只发光二极管。

思考题与习题3

思考题与习题3

一、填空

1.假定外部数据存储器3000H单元的容为50H,执行下列指令后,累加器A 中

的容为 50H 。

MOV DPTR,#3000H

MOVX A,DPTR

2.假定累加器A中的容为30H,DPTR中的容为2000H,执行指令:

MOVC A,A+DPTR

后,把程序存储器 2030H 单元的容送入累加器A中。

3.已知(30H)=21H,(31H)=04H,说明下列程序的功能,执行后(30H)= 04H ,(31H)= 21H 。

PUSH 30H

PUSH 31H

POP 30H

POP 31H

4.已知程序执行前,在AT89S51单片机片RAM中,(A)=33H,(R0)=28H,

(28H)=0BCH,写出执行如下程序后,(A) = 63H 。

ANL A,#60H

ORL 28H,A

XRL A,R0

CPL A

5.对程序存储器的读操作使用的指令 MOVC指令。

6.对外部数据存储器的读操作使用的指令 MOVX指令。

7.执行如下三条指令后,20H单元的容是 0FH

M O V R 0,#20H

M O V 40H,#0 F H

M O V ﹫R 0,40H

二、判断

判断以下指令的正误。

(1) MOV R1,R2 ×

(2)MOV 20H,R3 ×

(3)DEC DPTR ×

(4)INC DPTR √

(5)MOVX A,R1 √

(6)MOVC A,DP TR ×

(7)PUSH DPTR ×

(8)CLR R1 ×

(9)MOV 20H,30H √

(10)MOV F0,C √

(11) CPL R7 ×

(12)RC A ×

三、简答

1.MCS-51共有哪几种寻址方式?试举例说明。

(1)寄存器寻址方式 MOV A,R2

(2)直接寻址方式 MOV A,30H

(3)寄存器间接寻址方式MOV A,R0

(4)立即寻址MOV A,#20H

(5)变址寻址 MOVC A,A+ DPTR

(6)相对寻址 SJMP rel

(7)位寻址 MOV C, 0D5H;

2.MCS-51指令按功能可以分为哪几类?每类指令的作用是什么?

①数据传送类指令(28条);数据传送是指将源地址单元中的数据传送到目的地址单元中,且源地址单元中的数据保持不变,或者源地址单元中的数据与目的地址单元中的数据互换。

②算术运算类指令(24条);这类指令中,大多数都要用累加器A来存放源操作数,另一个操作数是工作寄存器R n、片RAM单元或立即数。执行指令时,CPU总是将源操作数与累加器A中的操作数进行相应操作,然后将结果保留在累加器A中,同时会影响程序状态字PSW中的溢出标志OV、进位标志CY、辅助进位标志AC和奇偶标志位P。

③逻辑运算及移位类指令(25条);在这类指令中,仅当目的操作数为累加器A时对奇偶标志位P有影响,其余指令均不影响PSW的状态。

④控制转移类指令(17条);

⑤位操作类指令(17条)。MCS-51系列单片机的硬件结构中有一个位处理器,对位地址空间具有丰富的位操作指令。由于位操作数是“位”,取值只能是0或1,故又称为布尔操作指令。

3.访问SFR,可使用哪些寻址方式?

寄存器寻址,直接寻址,位寻址

4.执行指令:MOV A,R0 ;

在程序状态字PSW中⑴ RS1=0,RS0=0; ⑵ RS1=1,RS0=0的两种情况下,上述指令执行结果有何不同?

RS1=0,RS0=0时,是将部RAM 00H单元中的容传送给累加器A, RS1=1,RS0=0时,是将部RAM 10H单元中的容传送给累加器A

4.SJMP(短转移)指令和LJMP(长对转移)指令的目的地址的围各是多少?

SJMP指令的目的地址围是-128B~+127B;

LJMP指令的目的地址围是64KB。

5.JB指令和JBC指令的区别是什么?

6.答:这类指令是判断直接寻址位是否为“1”或为“0”,当条件满足时转移,

否则继续顺序执行。而JBC指令当条件满足时,指令执行后同时将该位清“0”。

7.指出下列每条指令的寻址方式。

(1)MOV A,40H ;直接寻址

(2)MOV 30H,#00H ;立即寻址

(3)SJMP LOOP ;相对寻址

(4)MOVC A,A+DPTR ;变址寻址

(5)MOVX A,R0 ;寄存器寻址

(6)MOV C,20H ;位寻址

(7)MOV 20H,R3 ;寄存器寻址

(8)MOV 31H,20H ;直接寻址

8. 已知程序执行前,在AT89S51单片机片RAM (10H)=20H,(20H)=33H,

(33H)=45H,(45H)=56H,(P1)=30H。分析下列程序按顺序执行每条指令后的结果。

MOV A,33H ;(A)=45H

MOV R1,A ;(R1)=45H

MOV R1,#0FFH ;(45H)0FFH

MOV 45H,33H ;(45H)=45H

MOV R0,#10H ;(R0)=10H

MOV A,R0 ;(A)=20H

MOV P1,#0FFH ;(P1)=0FFH

MOV A ,P1;;(P1)=30H

MOV 20H,A ;(20H)=30H

9.已知程序执行前,在AT89S51单片机片RAM中,(A)=85H,(R0)=20H,(20H)=0AFH,(Cy)=1,(21H)=0FFH。写出下列指令独立执行后寄存器和存储单元的容,若该指令影响标志位,写出CY、AC、OV和P的值。

ADD A,R0 ;CY=1,AC=1,OV=1,P=1 ,(A)=34H

ADDC A, 21H ; CY=1,AC=1, P=1,OV=0 ,(A)=85H

SWAP A ; (A)=58H ,P=1

SUBB A,#50H ; CY=0,AC=0, P=1,OV=1 ,(A)=34H

DEC R0 ;R0=1FH

XCHD A,R0 ;(A)=8FH,(20H)=0A5H,P=1

相关文档