单片机前四章复习题答案 下载本文

《单片机原理及应用》习题

一、填空题

1.单片机与普通计算机的不同之处在于其将_CPU__、 存储器 和__I/O_3部分集成于一块芯片之上。 2.CPU主要由 运算 器和 控制 器组成。CPU中的 布尔处理器 用来处理位操作。 3.MSC-51系列单片机中,片内无ROM的机型是 8031 ,有4KB ROM的机型是_8051_,而有4KB EPROM 的机型是 8751 。

4. -32的补码为 11100000 B,补码11011010B代表的真值为_-38__D。 5.原码数BFH=_-63_D,原码数6EH=_110_D。 6.100的补码=_64_H,-100的补码= 9C H 7.在8031单片机内部,其RAM高端128个字节的地址空间称为 特殊功能寄存器或SFR 区,但其中仅有_21_个字节有实际意义。

8.通常单片机上电复位时PC=_0000_H,SP=_07_H,通用寄存器则采用第_0_组,这一组寄存器的地址范围是从_00 H~_07_H。

9.若PSW为18H,则选取的是第_3__组通用寄存器。 10. 11. 12.

8031单片机复位后R4所对应的存储单元地址为_04_H,因上电时PSW=_00_H。 若A中数据为63H,那么PSW的最低位(即奇偶位P)为_0_。

在微机系统中,CPU是按照 程序计数器PC 来确定程序的执行顺序的。

13. 在8031单片机中,使用P2、P0口传送 地址 信号,且使用了P0口来传送 数据 信号,这里采用的是 总线复用 技术。 14. 堆栈遵循 先进后出(或后进先出) 的数据存储原则,针对堆栈的两种操作为_PUSH_和_POP_。 15. 当8051地RST端上保持 两 个机器周期以上低电平时,8051即发生复位。 16. 17.

使用8031单片机时需将EA引脚接_低__电平,因为其片内无 程序 存储器。 8位机中的补码数80H和7EH的真值分别为_-128__和_127 。

18. 配合实现“程序存储自动执行”的寄存器是_PC_,对其操作的一个特别之处是 每取完一字节指令后PC内容会自动加1 。 19. MCS-51单片机PC的长度为_16_位;SP的长度为_8_位,数据指针DPTR的长度为_16_位。 20. 8051单片机的RST引脚的作用是 对单片机实行复位操作 ,其操作方式有 上电自动复位 和 按键手动复位 两种方式。 21. I/O端口与外部设备之间传送的信息可分为_三__类。

22. 8051片内有256B的RAM,可分为四个区,00H~1FH为 工作寄存器 区;20H~2FH为 位寻址 区;30H~7FH为 堆栈、数据缓冲 区;80H~FFH为 特殊功能寄存器 区。

23. MCS-51单片机系列有_5__中断源。上电复位时,同级中断源的优先级别从高至低为 外部中断源0 、 定时器0 、 外部中断1 、 定时器1 和 串行口 ,若IP=00010100B,则优先级别最高者为 外部中断1 、最低者为 定时器1 。 24. 储存器的主要功能是存储 指令 和 数据 。

25. 若你正在编辑某个文件,突然断电,则计算机中 RAM 类型存储器中的信息全部丢失,且通电后也不能自动恢复。

26. 8051在物理结构上只有四存储空间,它们分别是 片内程序存储器 、 片外程序存储器 、 片内数据存储器 、 片外数据存储器 ;但在逻辑结构上只有三个存储空间,它们分别是 片内外统一编址的64KB程序存储器 、 片内256B的数据存储器 和 片外64KB的数据存储器 。 27. I/O端口作为通用输入输出口时,在该端口引脚输入数据时,应先向端口锁存器进行 写“1” 操作。 28. 8051单片机其内部有 21 个特殊功能寄存器,其中 11 个可以位寻址。 29. 30. 31. 32.

在一般情况下实现片选的方法有两种,分别是 线选法 和 译码法 。 起止范围是0000H~3FFFH的存储器的容量是 16 KB。

11根地址线可选 2048(或2KB或211)个存储单元,16KB存储单元需要 14 根MCS-51机中扩展I/O口占用片外__数据__存储器地址空间。

地址线。

33. MCS-51 单片机访问片外存储器时利用通信 ALE_信号锁存来自_P0__口的低八位地址信号。 34. 35.

半导体存储器的最重要的两个指标是 存储容量 和 存取速度 。 32KB ROM的首地址若为2000H,则末地址是 9FFFH 。

36. MOV A,#30H是 立即 寻址方式。MOVX A,@DPTR是 寄存器间接 寻址方式。(注:指原操作数的寻址方式) 37. 通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。 38. 在基址加变址寻址方式中,以 A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。 39. 假定累加器A中的内容为30H,执行指令: 1000H:MOVC A,@A+PC

后,把程序存储器 1031H 单元的内容送入累加器A中。 40. 访问8031片外数据存储器采用的是 寄存器间址的 寻址方式。 41. 42.

指令格式由 操作码 和 操作数 两部分组成。

寻址方式分为对 指令 的寻址和对 数据 的寻址两大类。

43. 一个完整的中断过程可分为 中断请求 、 中断响应 、 中断处理 和 中断返回 四部分。 44. 中断请求信号有 电平 触发和__边沿__触发两种触发方式。 45. MCS-51单片机8031中有_2_个_16_位的定时器/计数器,可以被设定的工作方式有_4_种。 46. 若系统晶振频率为12MHZ,则T0工作于方式0时的最大定时时间是 8.192 ms,工作于方式2时的最大计数脉冲个数是 256 个。 47. 48.

欲对300个外部事件计数,可以选用定时/计数器T1的模式_0 或模式__1_。 若系统晶震频率为6MHZ,则时钟周期为__0.167_us,机器周期为_2_us,最短和最

长指令周期分别为__2_us和__8_us。

49. 若单片机的晶振频率fosc=8MHZ,则执行一条MUL AB指令所需时间为__6_us。 二、判断说明题(注意其逆命题)

1.在微机性能指标中,CPU的主频越高,其运算速度越快。√

2.微型计算机与一般计算机的主要区别是体积小、重量轻、耗电少、价格便宜。╳ 3.在MCS-51系统中,一个机器周期等于1μS。╳ 4.PC可以看做是指令存储区的地址指针。√ 5.SP内装的是栈顶首址的内容。╳

6.指令周期是执行一条指令的时间。╳

7.所有计算机系统的堆栈都是向地址高端逐渐生长的,即均为“向上生成”堆栈。╳ 8.输入/输出设备必须通过I/O接口才能接到系统总路线上和主机进行信息交换。√ 9.MCS-51中的P0口可以分时复用为数据口和地址输出口。 √ 10. 当P2口的某些位用作地址线后,其它位不可以用作I/O口线使用。√ 11. 12.

为使准双向的I/O口工作在输入方式,必须保证它被预置为“1”。√ 若外设控制器中的寄存器和主存单元统一用主存地址编址,那么在计算机的指令系

统中可以不设专门的I/O指令。√

13. 通常每个外设设备都有一个端口寄存器与主机交换信息,因此,主机只能用一个唯一地址来访问一个外部设备。╳ 14. 15. 16. √ 17. 18.

8031单片机的有效复位电平是低电平。╳

锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。√ EPROM中存放的信息在计算机执行程序时只读,且断电后仍能保持原有的信息。8031的CPU是由RAM和EPROM所组成。╳

内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。╳

19. MCS-51系列单片机的内部特殊功能寄存器的数量是相同的。╳ 五、程序分析题(请根据各题具体要求填写答案)。 1.设A=83H,R0=17H,(17H)=34H;写出下列程序中每条指令执行后的结果: ANL A,#17H;(A)=03H ORL 17H,A ;(17H)=37H

XRL A,@R0;(A)=34H CPL A ; (A)=0CBH 2.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A= 25H ,R0= 50H ,50H= 00H ,51H= 25H 。 MOV A,59H;(A)=50H MOV R0,A ;(R0)=50H MOV A,#00H;(A)=00H MOV @R0,A;(50H)=00H MOV A,#25H;(A)=25H MOV 51H,A;(51H)=25H MOV 52H,#70H;(52H)=70H

5.设A=40H,R1=23H,(40)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?

XCH A,R1;(A)=23H,(R1)=40H XCHD A,@R1;(A)=25H,(40H)=03H 6.程序执行前有(40H)=88H,问:

①程序执行后(40H)= F8H

②归纳出该程序完成的是何种功能。答:对片内RAM的 40H单元中的内容求补码。 MOV A, 40H JNB ACC.7, GO CPL A INC A

MOV 40H, A

GO:RET 7.阅读程序并回答问题。设:R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H, (26H)=6FH,(27H)=75H,程序如下:

CLR C

MOV R2, #3 LOOP:MOV A, @R0;第一次循环完成20H单元中的内容80H与25H单元中的内容A0H相加,结果送入20H

ADDC A, @R1;单元中,即(20H)=20H,(Cy)=1 MOV @R0, A INC R0

INC R1

DJNZ R2, LOOP JNC NEXT MOV @R0, A SJMP $ NEXT:DEC R0

SJMP $ 程序执行后:

(20H)= 20H ,(21H)= 00H,(22H)= 16H ,(23H)= 16H ,

Cy= 1 ,A= 15H ,R0= 23H ,R1= 28H 8.请填写程序执行结果。已知执行前有A=02H,SP=40H,(41H)=FFH,(42H)=FFH,程序如下: POP DPH POP DPL

MOV DPTR, #3000H RL A

MOV B, A

MOVC A, @A+DPTR PUSH ACC MOV A, B INC A

MOVC A, @A+DPTR PUSH ACC RET

ORG 3000H

DB 10H, 80H, 30H, 80H, 50H, 80H

程序执行后:A=____H,SP=_____H,(41H)=_____H,(42H)=_____H,PC=_____H 9.假定,SP=60H,A=30H,B=70H,执行下列指令:

PUSH A PUSH B 后,(SP) ,(61H)= ,(62H)= 。 11.(第三章)如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:

POP DPH

POP DPL

POP SP

则:DPH= ,DPL= ,SP== 。 12.执行下列指令后,(A)=?(R0)=?(C)=?

CLR A

MOV R0,#03H

LOOP:ADD A,R0

DJNZ R0,LOOP

SJMP $

13.分析下列程序执行的结果和A与C的内容,如果取消DA A指令,A和C为何值?

CLR C

MOV 20H,#99H MOV A,20H ADD A,#01H DA A

MOV 20H,A

SJMP $

14.试述下列程序执行结果,并逐条加以注释 (1) MOV A,#10H

MOV P2,#30H

MOV R0,#50H JB P1.0,LP1 MOVX @R0,A

SJMP LP2

LP1:MOV @R0,A LP2::SJMP $

(2) MOV R0,#14H

MOV DPTR,#1000H CL: CLR A

MOVX @DPTR,A

INC DPTR DJNZ R0,CL SJMP $

15.阅读下列程序并回答问题

ORG 0000H MOV R0,#32H MOV R2,#00H LOOP: MOV A,@R0 CJNE A,#00H,DON INC R2

DON: INC R0

DJNZ 31H,LOOP MOV 30H,R2 SJMP $ END

(1)说明该程序的功能。

(2)31H中存放的是 ,R2是用来存放 的计数器。 (3)执行程序后31H中的值为 。 六、程序设计题(按下面要求编写相应的程序)

1. 数据块传送:试编程将片内40H~60H单元中的内容传送到以2100H为起始地址的存储区。

2. 工作单元清零:将内部50H开始的连续30个单元的内容清零。

3. 设一字符串存放在内部RAM以20H为首址的连续单元中,字符串以回车符CR

(?CR?=0DH)作为结束标志。标示统计该字符串字符B(?B?=42H)的个数,并将其存

入外部RAM的40H单元中。

4. 有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H,要求编制一段程序,

根据变量值得到变量的平方值,并将其存入片内RAM的21H单元。

5. 设a存放在30H单元中,b存放在31H单元中,要求按下式计算Y值并将结果Y存入

32H单元中。