单片机原理及应用课后习题答案 联系客服

发布时间 : 星期一 文章单片机原理及应用课后习题答案更新完毕开始阅读

即停止工作,进入空闲方式。

退出:两种:一是被允许的中断源请求中断时,由内部的硬件电路清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,@DPTR × (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来存放源操作数,另一个操作数是工作寄存器Rn、片内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