单片微机原理及应用徐春辉电子工业出版社习题答案.docx
《单片微机原理及应用徐春辉电子工业出版社习题答案.docx》由会员分享,可在线阅读,更多相关《单片微机原理及应用徐春辉电子工业出版社习题答案.docx(83页珍藏版)》请在冰豆网上搜索。
单片微机原理及应用徐春辉电子工业出版社习题答案
第1章
1.简述计算机的基本组成结构。
答:
计算机的基本组成结构由输入设备、输出设备、运算器、控制器和存储器等五大部件构成。
2.简述单片微型计算机系统应用和开发的特点。
答:
单片微型计算机系统应用和开发的特点是需要进行软硬两方面的设计和调试。
第2章
1.为什么微型计算机要采用二进制?
十六进制代码能为微型计算机直接执行吗?
为什么要使用十六进制数?
答:
在所有数制中,只有二进制数最容易用电路来表达,据此构建的计算机结构也是最简单的。
十六进制代码不能为计算机直接执行,只有二进制代码才能为计算机所识别和执行。
二进制代码过于冗长,而其对应的十六进制数则更为简洁,而且此二种数制的相互转换非常方便,这就是常常使用十六进制数来表示其对应的二进制数的原因。
2.将下列各二进制数分别转换为十进制数和十六进制数。
(1)11010B
(2)110100B(3)10101011B(4)11111B
答:
(1)11010B=26=1AH
(2)110100B=52=34H(3)10101011B=171=ABH
(4)11111B=31=1FH
3.将下列各数分别转换为二进制数和十六进制数。
(1)129D
(2)253D(3)0.625(4)111.111
答:
(1)129D=10000001B=81H
(2)253D=11111101B=FDH
(3)0.625=0.101B=0.AH(4)111.111=01101111.000111B=6F.1CH
4.把下列十六进制数转换成十进制数和二进制数。
(1)AAH
(2)BBH(3)C.CH(4)DE.FCH(5)ABC.DH(6)128.08H
答:
(1)AAH=170=10101010B
(2)BBH=187=10111011B
(3)C.CH=12.75=1100.1100H
(4)DE.FCH=222.984375=11011110.1111110B
(5)
(6)128.08H=296.03125=100101000.00001
5.什么叫原码、反码及补码?
答:
在机器数中,最高位为符号位,正数的符号位用0表示,负数的符号位用1表示,其余为该数的绝对值,这种表示法称为原码。
正数的反码和原码相同;负数的反码为其原码除符号位外其他各位按位取反得所值。
正数的补码和原码相同;负数的补码为反码加1。
6.已知原码如下,写出其反码及补码(其最高位为符号位)。
(1)[X]原=01011001
(2)[X]原=11011011(3)[X]原=11111100
答:
(1)[X]反=[X]补=[X]原=01011001
(2)[X]反=10100100[X]补=10100101
(3)[X]反=10000011[X]补=10000100
7.当微机把下列数视为无符号数时,它们相应的十进制数为多少?
若把它们视为补码,最高位为符号位,那么它们相应的十进制数又是多少?
(1)10001110
(2)10110000(3)00010001(4)01110101
答:
视为无符号数时:
(1)10001110B=142
(2)10110000B=176
(3)00010001B=17(4)01110101B=117
若把它们视为补码,最高位为符号位,那么它们相应的十进制数是:
(1)10001110B=-114
(2)10110000B=-80
(3)00010001B=17(4)01110101B=117
8.先将下列十六进制数转换为二进制数,然后分别完成逻辑乘、逻辑加和逻辑异或操作。
(1)33H和BBH
(2)ABH和FFH(3)78H和0FH
答:
(1)X=33H=00110011B,
Y=BBH=10111011B;
X∧Y=00110011B;X∨Y=10111011B;X⊕Y=10001000B
(2)X=ABH=10101011B,
Y=FFH=11111111B;
X∧Y=10101011B;X∨Y=11111111B;X⊕Y=01010100B
(3)X=78H=01111000B;
Y=0FH=00001111B;
X∧Y=00001000B;X∨Y=01111111B;X⊕Y=01110111B;
9.已知x和y,试分别计算[x+y]补和[x-y]补,并指出是否产生溢出(设补码均用8位表示)。
(1)x=+1001110,y=+0010110
(2)x=+0101101,y=-1100100
(3)x=-0101110,y=+0111011(4)x=-1000101,y=-0110011
答:
(1)[x+y]补=01100100B,无溢出;[x-y]补=00111000B,无溢出;
(2)[x+y]补=11001001B,无溢出;[x-y]补=10010001B,溢出;
(3)[x+y]补=00001101B,无溢出;[x-y]补=10010111B,无溢出;
(2)[x+y]补=10001000B,无溢出;[x-y]补=11101110B,无溢出;
10.写出下列各数的BCD码。
(1)45
(2)98(3)124(4)1998
答:
(1)45=(01000101)BCD
(2)98=(10011000)BCD
(3)124=(000100100100)BCD(4)1998=(0001100110011000)BCD
11.用十六进制形式写出下列字符的ASCII码。
(1)CD
(2)COMPUTER(3)HELLO(4)F365
答:
(1)43H、44H
(2)43H、4FH、4DH、50H、55H、54H、45H、52H
(3)48H、45H、4CH、4CH、4FH(4)46H、33H、36H、35H
12.ALU是什么部件?
它能完成什么运算功能?
答:
ALU称为算术逻辑部件,它能完成算术运算和逻辑运算。
13.累加器有何用处?
答:
累加器通常用于提供ALU的一个运算数据或暂存ALU的运算结果,此外还能使存储其中的数据左移或右移。
14.控制字是什么意思?
试举个例子说明之。
答:
控制字是一个二进制数,其各位代表相应控制信号的逻辑状态。
例如:
CON=LAEALBEBLCECLDED=10010000
表示要将寄存器B的内容传送入寄存器A中去。
15.ROM和RAM各有何特点和用处?
答:
ROM为只能读出的存储器,可用于存放固定的程序和数据。
ROM为可在线写入和读出的存储器,可用于随时写入或读出数据,也可用于写入随时有可能改变的用户程序。
16.为什么要建立“地址”这个概念?
答:
因为存储器的存储单元很多,为区分不同的存储单元必须给每个存储单元编上地址。
17.除地线公用外,5根地址线和11根地址线各可选多少个地址?
答:
25=32个地址
211=2048个地址
18.译码器有何用处?
答:
译码器用于产生和输入代码相对应的控制信号。
如果是存储器地址译码器则其能根据输入的地址信号产生存储器相应单元的选通信号。
19.存储地址寄存器(MAR)和存储数据寄存器(MDR)各有何用处?
答:
MAR用以接受来自PC的地址号。
MDR用以接受来自总线的数据。
此二者均为存储器的主要辅件。
20.微型计算机的基本结构是怎样的?
包括哪些主要部件?
答:
微型计算机包括微处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、I/O接口电路及外设组成。
前面四大部分通过系统总线连接在一起。
21.指令、指令系统和程序三者间有什么区别和联系?
答:
指令是指挥计算机工作的指示和命令。
而指令系统则是一台计算机所拥有的所有指令的集合。
程序则是为了实现特点功能而将取自指令系统的指令按照一定顺序排列起来的组织体。
22.控制部件包括哪些主要环节?
各有何用处?
答:
(1)指令部件——作用是获取来自程序存储器的二进制指令操作码并将其译成控制动作信号送入控制矩阵。
(2)时序部件——作用是用于产生微操作控制部件所需的定时脉冲信号。
(3)控制矩阵——控制矩阵可以为ID输出信号配上节拍电位和节拍脉冲,也可将外部进来的控制信号组合,共同形成相应的微操作控制信号序列,控制相关部件按照严格的先后顺序执行指令所要求的各种微操作,最终完成规定的操作。
23.环形计数器有何用处?
什么叫环形字?
答:
环形计数器用于产生机器节拍。
若将环形计数器的输出视为一个字,则这个字就称为环形字
24.试说明下列各部件的作用:
(1)程序计数器PC
(2)指令寄存器IR(3)指令译码器ID
答:
(1)程序计数器PC是在控制器中设置的一个专用寄存器,用来存放当前要执行的指令在存储器中的位置信息(即存储器地址),以便根据此地址去读取指令。
(2)指令寄存器IR是用来暂时存放从存储器中取出的当前要执行指令的操作码的这么一个寄存器。
(3)指令译码器ID是对指令操作码进行分析,在其输出端产生各种控制电平,以形成相应的微操作,用以实现指令执行过程中所需要的功能控制的这么一个译码器。
25.什么叫例行程序?
什么叫机器周期、取指周期和执行周期?
本章所论模型式计算机的机器周期包括几个时钟周期(机器节拍)?
机器周期是否一定是固定不变的?
答:
例行程序是由控制部件内部的结构确定了的各条指令的执行步骤,机器周期是指一条指令从取指到执行完所需的时钟周期数。
取指周期为从PC开始输出使程序存储器中的指令进入IR到PC+1为止的时钟周期数。
执行周期为从指令进入控制器起至执行完的时钟周期数。
本章所论模型计算机的机器周期包括6个时钟周期,在这里机器周期是固定的,但是对于不同的计算机而言,机器周期就不一定是固定的了。
26.何谓总线?
它有哪几类?
它们的主要功能是什么?
答:
将多个装置或部件连接起来并传送信息的公共通道称为总线。
总线通常有如下三种类型:
1数据总线(DB):
专门传送数据信息。
②地址总线(AB):
专门传送地址信息。
③控制总线(CB):
专门传送控制信息。
27.微型计算机系统的硬件和软件包括哪些部分?
各部分的作用是什么?
答:
硬件系统主要包括主机箱、显示器、键盘和打印机等。
主机箱内装有主机板、光盘和硬盘驱动器、电源等,CPU、内存储器和I/O接口电路等装在主机板上,一般主机板上还留有扩展插槽,以备用户扩展其他功能。
硬件系统是运行各种软件的支持平台。
计算机的软件系统包括系统软件和应用软件。
系统软件是为了最大限度地发挥计算机的功能,便于使用、管理和维护计算机硬件的软件,它也是应用软件的支撑软件,可以为应用软件提供很好的运行环境。
应用软件是指用户为了解决某一领域的实际问题而编制的计算机应用程序,具有明显的针对性和专用性。
28.什么叫单片机?
和一般型计算机相比,单片机有何特点?
答:
单片是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。
一般微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。
单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部总线连接而成为一体。
29.除了单片机这一名称之外,单片机还可称为()和()。
答:
微控制器和嵌入式控制器。
30.MCS-51系列单片机的基本型芯片分别为哪几种?
它们的差别是什么?
答:
基本芯片为8031、8051、8751。
8031内部包括1个8位CPU、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。
8051是在8031的基础上,片内又集成有4KBROM,作为程序存储器,是1个程序不超过4KB的小系统。
8751是在8031的基础上,增加了4KB的EPROM,它构成了1个程序小于4KB的小系统。
用户可以将程序固化在EPROM中,可以反复修改程序。
31.MCS-51系列单片机与51系列单片机的异同点是什么?
答:
51系列单片机与MCS-51系列单片机的内核结构和指令系统完全兼容,前者相比后者制造工艺得到改进,并且片内资源有所增加。
32.说明单片机主要应用在哪些领域。
答:
单片机主要应用领域为:
工业自动化;智能仪器仪表;消费类电子产品;通信方面;武器装备;终端及外部设备控制;多机分布式系统。
第3章
1.AT89S51单片机的片内都集成了哪些功能部件?
答:
AT89S51单片机的片内都集成了如下功能部件:
(1)1个微处理器(CPU);
(2)128个数据存储器(RAM)单元;(3)4KFlash程序存储器;(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);(5)1个全双工串行口;(6)2个16位定时器/计数器;(7)1个看门狗定时器;(8)一个中断系统,5个中断源,2个优先级;(9)25个特殊功能寄存器(SFR),(10)1个看门狗定时器。
2.说明AT89S51单片机的
引脚接高电平或低电平的区别。
答:
当脚为高电平时,单片机读片内程序存储器(4K字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当脚为低电平时,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器。
3.单片机的存储器在物理结构上和逻辑上有何区别?
答:
单片机存储器的逻辑空间是指由单片机CPU所确定的可以寻址的空间。
而物理空间是指有具体物理器件相对应可以实际存储数据的那部分逻辑空间。
4.AT89S51单片机中执行程序的地址放在哪里?
是几位二进制数?
最大寻址范围是多少?
程序状态字PSW各位的定义是什么?
答:
PC。
16位。
64KB。
程序状态字PSW各位的定义是:
(1)Cy(PSW.7)进位标志位:
(2)Ac(PSW.6)辅助进位标志位:
(3)F0(PSW.5)用户设定标志位:
(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择控制位:
(5)OV(PSW.2)溢出标志位:
(6)PSW.1位:
保留位,未做定义,不可使用。
(7)P(PSW.0)奇偶标志位:
5.什么叫堆栈?
AT89S51中堆栈的最大容量是多少?
答:
所谓堆栈,是指一个连续的数据存储区域,其操作原则为“先进后出”或“后进先出”。
AT89S51中堆栈的最大容量理论上可以达到128B。
6.开机复位后,CPU使用哪一组工作寄存器?
它们的地址是什么?
如何改变当前工作寄存器组?
答:
第0组。
地址是00H~07H。
通过修改PSW中RS1、RS0两位的值来改变当前工作寄存器组。
7.64KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。
答:
64K程序存储器空间中5个特殊单元所分别对应的5个中断源的中断服务程序入口地址如下表所示:
入口地址
中断源
0003H
外部中断0(
)
000BH
定时器0 (T0)
0013H
外部中断1(
)
001BH
定时器1 (T1)
0023H
串行口
8.在程序设计时,为什么有时要对复位后的堆栈指针SP重新赋值?
如果在操作中需要使用三组工作寄存器,SP的初值应该至少多大?
答:
系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。
考虑到08H~1FH单元分属于工作寄存器区的1~3组,如果程序设计中要用到这些寄存器组,则必须在复位后对堆栈指针SP重新赋值。
最好把SP值改置为1FH或更大的值如60H,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。
如果在操作中需要使用三组工作寄存器,SP的初值至少应该为17H。
9.AT89S51的寻址范围是多少?
最多可以配置多大容量的外部ROM和多大容量的外部RAM?
答:
64KB、64KB、64KB。
10.AT89S51单片机运行出错或程序进入死循环时如何摆脱困境?
答:
通过硬件复位。
11.AT89S51单片机扩展系统中片外程序存储器和片外数据存储器,使用相同的地址编码,是否会在数据总线上出现争总线现象?
为什么?
答:
不会。
因为这两种存储器使用的选通信号不同。
片外程序存储器使用
作为输出使能控制信号,而片外数据存储器分别使用
和
作为读写控制信号。
12.AT89S51的P0口和P2口各有何作用?
P0口为什么要外接锁存器?
答:
P0口通常作为分时复用的地址/数据总线使用,作为地址总线使用时用于提供16位地址总线的低8位地址信号。
P2口通常用于提供16位地址总线的高8位地址信号。
在前述功能不使用的情况下,这两端口也可以作为一般的I/O使用。
P0口外接锁存器的目的是使CPU发出的地址信号在P0口作为数据通道时依然保持有效。
13.AT89S51的ALE引脚有何作用?
AT89S51不接外部RAM时,ALE信号有何特点?
答:
AT89S51的ALE引脚用于对低8位地址信号的锁存控制。
AT89S51不接外部RAM时,ALE信号是频率为时钟频率六分之一的固定周期信号。
14.举例说明单片机工业控制系统中掉电保护的意义和方法。
答:
单片机工业控制系统在运行程序的过程中,如果发生掉电故障将会丢失RAM和寄存器中的数据,其后果有时是很严重的。
为此,需要掉电保护功能,进行掉电保护处理。
掉电保护方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。
当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。
在这种工作方式下,内部振荡器停止工作。
由于没有振荡时钟,因此,所有的功能部件都停止工作。
但内部RAM区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的SFR中。
掉电模式的退出有两种方法:
硬件复位和外部中断。
硬件复位时要重新初始化SFR,但不改变片内RAM的内容。
当VCC恢复到正常工作水平时,只要硬件复位信号维持10ms,便可使单片机退出掉电运行模式。
15.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为()和()。
答:
28H;88H。
16.片内字节地址为2AH单元最低位的位地址是();片内字节地址为88H单元的最低位的位地址为()。
答:
50H;88H。
17.若A中的内容为63H,那么P标志位的值为()。
答:
P标志位的值为0。
18.在AT89S51单片机中,如果采用6MHz晶振,那么一个机器周期为()。
答:
2µs
19.判断下列说法是否正确。
A.使用AT89S51且引脚
=1时,仍可外扩64KB的程序存储器。
()
B.区分片外程序存储器和片外数据存储器的最可靠的方法是,看其位于地址范围的低端还是高端。
()
C.在AT89S51中,为使准双向的I/O口工作在输入方式,必须事先预置为1。
()
D.PC可以视为程序存储器的地址指针。
()
答:
(A)错;(B)错;(C)对;(D)对
20.AT89S51单片机复位后,R4所对应的存储单元的地址为(),因上电时PSW=()。
这时当前的工作寄存器区是()组工作寄存器区。
答:
04H、00H、第0
21.判断以下有关PC和DPTR的结论是否正确。
A.指令可以访问寄存器DPTR,而PC不能用指令访问。
()
B.它们都是16位寄存器。
()
C.在单片机运行时,它们都具有自动加1的功能。
()
D.DPTR可以分为2个8位的寄存器使用,但PC不能。
()
答:
:
(A)对;(B)对;(C)错;(D)对。
22.内部RAM中,可作为工作寄存器区的单元地址为()H~()H。
答:
字节地址00H-1FH的单元可作为工作寄存器区。
23.判断下列说法是否正确。
A.AT89S51中特殊功能寄存器(SFR)就是片内RAM中的一部分。
()
B.片内RAM的位寻址区,只能供位寻址使用,而不能进行字节寻址。
()
C.AT89S51共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此是可以进行位寻址的。
()
D.SP称为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关。
()
答:
(A)错;(B)错;(C)错;(D)错。
24.在程序运行中,PC的值是()。
A.当前正在执行指令的前一条指令的地址
B.当前正在执行指令的地址
C.当前正在执行指令的下一条指令的首地址
D.控制器中指令寄存器的地址
答:
(C)。
26.AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51的PC是16位的,因此其寻址的范围为()KB。
答:
64
27.AT89S51的4个并行双向口P0~P3的驱动能力各为多少?
要想获得较大的输出驱动能力,是采用低电平输出还是采用高电平输出?
答:
P0口每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。
当P0口的某位为高电平时,可提供400μA的电流;当P0口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。
所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。
28.当AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境?
答:
通过硬件复位。
练习与思考题4
1.按长度分,51系列单片机的指令有1字节的、2字节的和3字节的。
2.按指令的执行时间分,51系列单片机的指令有1、2和4机器周期的指令。
3.51系列单片机汇编语言指令格式中,唯一不可缺少的部分是(B)。
A.标号B.操作码C.操作数D.注释
4.简述8051的寻址方式和每种寻址方式所涉及的寻址空间。
答:
寻址方式
寻址空间(操作数的存放空间)
立即寻址
程序存储器
直接寻址
片内RAM低128字节、特殊功能寄存器
寄存器寻址
工作寄存器R0~R7、A、B、DPTR
寄存器间接寻址
片内RAM:
@R0、@R1、SP
片外RAM:
@R0、@R1、@DPTR
变址寻址
程序存储器:
@A+PC、@A+DPTR
相对寻址
程序存储器256字节范围内:
PC+偏移量
位寻址
片内RAM的位寻址区(字节地址20H~2FH)、
地址能被8整除的特殊功能寄存器
5.51系列单片机的寻址方式中,位寻址的寻址空间是(D)。
A.工作寄存器R0~R7
B.专用寄存器SFR
C.程序存储器ROM
D.片内RAM的20H~2FH字节中的所有位和地址可被8整除的SFR的有效位
6.分析下面各指令源操作数的寻址方式。
MOVA,32H;直接寻址
MOVR7,A;寄存器寻址
MOV@R0,#0FEH;立即寻址
MOVA,@R1;寄存器间