单片微型计算机的原理及的应用参考答案详解.docx
《单片微型计算机的原理及的应用参考答案详解.docx》由会员分享,可在线阅读,更多相关《单片微型计算机的原理及的应用参考答案详解.docx(55页珍藏版)》请在冰豆网上搜索。
单片微型计算机的原理及的应用参考答案详解
《单片微型计算机原理及应用》习题参考答案
姜志海刘连鑫王蕾编著
电子工业出版社
第1章微型计算机基础
1.简述微型计算机的结构及各部分的作用
微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。
通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。
由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(CentralProcessUnit)。
2.微处理器、微型计算机、微型计算机系统有什么联系与区别?
微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。
它具有解释指令、执行指令和与外界交换数据的能力。
其内部包括三部分:
运算器、控制器、内部寄存器阵列(工作寄存器组)。
微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。
以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。
3.微型计算机是以CPU为核心,配上存储器、输入/输出接口和系统总线组成的计算机。
4.在计算机内部,一切信息的存取、处理和传递的形式是(C)。
A.ASCII码B.BCD码C.二进制D.十六进制
5.0~9的ASCII码是(C)。
A.0~9B.30~39C.30H~39HD.40H~49H
6.在微型计算机中,一般具有哪三类总线?
试说出各自的特征(包括传输的信息类型、单向传输还是双向传输)。
所谓总线,就是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。
计算机元件级总线包括地址总线AB(AddressBus)、数据总线DB(DataBus)、控制总线CB(ControlBus)三种。
(1)地址总线:
地址总线是CPU用来向存储器或I/O接口传送地址信息的,是三态单向总线。
地址总线的宽度决定了CPU可直接寻址的内存容量。
通过地址总线确定要操作的存储单元或I/O接口的地址。
(2)数据总线:
数据总线是CPU与存储器及外设交换数据的通路,是三态双向总线。
(3)控制总线:
控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如CPU向存储器或I/O接口电路输出读信号、写信号、地址有效信号,而I/O接口部件向CPU输入复位信号、中断请求信号等。
7.将下列二进制数转换为十进制数。
111101.101B100101.11B1100110.011B
111101.101B=29.625100101.11B=37.751100110.011B=102.375
8.将下列十进制数转换为二进制数、BCD码数。
126.635317.12587.0735
126.635=1111110.101B=(000100100110.011000110101)BCD
317.125=100111101.001B=(001100010111.000100100101)BCD
87.0735=1010111.0001B=(10000111.0000011100110101)BCD
9.设机器数为8位,写出下列用真值表示的二进制数的原码、补码和反码。
+0010101B–0010101B+1000000B–1000000B
+0010101B
–0010101B
+1000000B
–1000000B
原码
00010101B
10010101B
01000000B
11000000B
反码
00010101B
11101010B
01000000B
10111111B
补码
00010101B
11101011B
01000000B
11000000B
10.将下列BCD码表示成十进制数和二进制数。
01111001010101111000001110011001
(01111001)BCD=79=1001111B(01010111)BCD=57=111001B
(10000011)BCD=83=1010011B(10011001)BCD=99=1100011B
11.设下列数据为8位补码表示的十六进制数,计算a+b和a–b,并且判断有无溢出。
a
b
a+b
是否溢出
a–b
是否溢出
37H
97H
0CEH
N
0A0H
Y
0B7H
0D7H
8EH
Y
0E0H
Y
0F7H
0D7H
0CEH
Y
20H
N
037H
0C7H
0FEH
N
70H
Y
12.计算机某字节存储单元的内容为10000111,若解释为无符号数,则真值为(135);若解释为有符号数,则真值为(-121);若解释为BCD码,则真值为(87);若用十六进制数表示,则为(87)H。
第2章半导体存储器及I/O接口基础
1.半导体存储器分两大类:
易失性存储器RAM和非易失性存储器ROM。
闪速存储器属于非易失性存储器ROM。
2.SRAM6264芯片的地址线为A12~A0,其存储容量为8K地址空间。
3.可用紫外线擦除后改写的存储器EPROM经擦除后,各单元的内容应为0FFH。
4.88KB的SRAM存储器芯片需要13根地址线和8根数据线。
5.半导体存储器有哪几种类型?
各自有什么特点?
半导体存储器的两个重要指标是什么?
半导体存储器通常分为随机存取存储器(RAM,RandomAccessMemory)和只读存储器(ROM,ReadOnlyMemory)两类。
(1)RAM:
RAM又称读写存储器,它的数据读取、存入时间都很短,因此计算机运行时,既可以从RAM中读数据,又可以将数据写入RAM。
但掉电后RAM中存放的信息将丢失。
RAM适宜存放输入数据、中间结果及最后的运算结果,因此又被称为数据存储器。
随机存储器有静态RAM和动态RAM两种。
静态RAM用触发器存储信息,只要不断电,信息就不会丢失。
动态RAM依靠电容存储信息,充电后为“1”,放电后为“0”。
为了保存信息,每隔1~2ms必须对高电平的电容重新充电,这称为动态RAM的定时刷新。
动态RAM的集成度高;静态RAM的集成度低、功耗大,优点是省去了刷新电路。
在设计专用的微型计算机系统时,一般只用静态RAM就可以满足要求。
(2)ROM:
ROM称为只读存储器。
读出一个数据的时间为数百纳秒,有时也可改写,但写入一个数据的时间长达数十毫秒。
因此在计算机运行时只能执行“读”操作。
掉电后ROM中存放的数据不会丢失。
ROM适宜存放程序、常数、表格等,因此又称为程序存储器。
只读存储器有以下五类:
掩模ROM:
在半导体工厂生产时,已经用掩模技术将程序做入芯片,用户只能读出内容而不能改写。
掩模ROM只能应用于有固定程序且批量很大的产品中。
一次可编程只读存储器(PROM,ProgrammableROM):
用户可将程序写入PROM,但程序一经写入就不能改写。
紫外线擦除可编程只读存储器(EPROM,ErasablePROM):
用户可将程序写入EPROM芯片。
如果要改写程序,先用EPROM擦除器,擦去原先的程序,然后写入新程序。
与PROM芯片一样,写入的速度很慢,且要用到高压,所以必须用特定的EPROM编程器写入信息。
在计算机运行时只能执行读操作。
电擦除可编程只读存储器(EEPROM,ElectricallyErasablePROM):
由于采用电擦除方式,而且擦除、写入、读出的电源都用+5V,故能在应用系统中在线改写。
但目前写入时间较长,约需10ms,读出时间约为几百纳秒。
闪烁存储器(FlashMemory):
快速擦写存储器(FlashMemory,简称Flash)是20世纪80年代中期推出的新型器件。
它可以在联机条件下,在计算机内进行擦除、改写,因而称为快擦写型存储器或闪烁存储器。
它具有芯片整体或分区电擦除和可再编程功能,从而使它成为性价比和可靠性最高的可读写、非易失性存储器。
主要性能特点如下:
高速芯片整体电擦除:
芯片整体擦除时间约1s,而一般的EPROM需要15min以上。
高速编程:
采用快速脉冲编程方法,编程时间短。
最少1万次擦除/编程周期,通常可达到10万次擦除/编程周期。
早期的Flash采用12V编程电压,改进后在Flash内部集成了1个DC/DC变换器,可以采用单一的5V电压供电。
高速度的存储器访问:
最大读出时间不超过200μs。
高速Flash的读出时间达到60μs。
低功耗:
最大工作电流为30mA,备用状态下的最大电流为100μA。
密度大,价格低,性价比高。
衡量半导体存储器性能的主要指标有存储容量、存取速度、存储器周期、功耗、可靠性、价格、电源种类等,其中主要的技术指标是存储容量和存取速度。
存储容量是存储器的一个重要指标。
存储器芯片的存储容量用“存储单元个数×每个单元的存储位数”来表示。
如存储器有256个单元,每个单元存放8位二进制数,那么该存储器的容量为256×8位。
存储器容量1K=1024=210。
对于以字节编址的微型计算机,可以以字节表示容量,如某微型计算机的容量为64KB。
在表示存储器的容量时,一般是以某一空间范围来表示的,而空间范围是由地址线来决定的,即存储器的容量和存储器的地址线的宽度(数量)有关。
地址的二进制位数N与容量的关系是Q=2N。
如某存储器芯片有13条地址线A12~A0,则存储器容量为8KB,空间表示范围为0000H~1FFFH。
存取速度:
该项指标一般用以下两个参数中的一个来描述。
①存取时间(AccessTime,TA):
是指从CPU给出有效的存储地址启动一次存储器读/写操作,到操作完成所经历的时间。
具体地说,对一次读操作的存取时间就是读出时间,即从地址有效到数据输出有效之间的时间;对于一次写操作,存取时间就是写入时间。
②存取周期(AccessCycle,TAC):
是指连续两次存储器读/写操作之间所需要的最小时间间隔。
对于读操作,就是读周期时间;对于写操作,就是写周期时间。
因为在一次数据访问后,芯片不可能无间歇地进入下一次访问,所以存取周期TAC要略大于存取时间TA。
表示上,该参数常表示为读周期TRC或写周期TWC,存取时间TAC是其统称。
6.型号是1K×4位的静态RAM,应有多少条地址线?
多少条数据线?
10条地址线、4条数据线
7.说明EPROM、PROM、ROM和Flash存储器之间的主要区别。
参考第5题。
8.什么是“闪存”?
它有哪些特点?
用于哪些场合?
参考第5题。
9.简述堆栈的作用与操作。
所谓堆栈,是指在存储器中开辟的一个区域,用来存放需要暂时保存的数据。
(1)堆栈的作用
用来存放断点地址或保存临时数据。
在调用子程序和执行中断服务程序的过程中,要保留断点地址,有时还要保护现场。
只有保留了断点地址,才能在子程序或中断服务程序执行后保证返回到主程序的断点处,继续执行主程序。
断点地址与现场信息是送入堆栈保存的。
在返回主程序前,要把保存在堆栈中的现场信息送回对应的寄存器,这称为恢复现场。
(2)堆栈操作
堆栈有两种操作方式。
将数据送入堆栈称为推入操作,又称为压入操作,如压入指令
PUSHA
把堆栈中内容取出来的操作称为弹出操作,如弹出指令
POPA
执行把栈顶内容送回A的操作。
10.简述I/O接口的功能。
接口电路是专门为解决CPU与外设之间的不匹配、不能协调工作而设置的,它处在总线和外设之间,一般应具有以下基本功能。
(1)对输入/输出数据进行缓冲、隔离和锁存
(2)对信号的形式和数据格式进行交换与匹配
(3)提供信息相互交换的应答联络信号
(4)根据寻址信息选择相应的外设
由此可见,I/O电路是外设和计算机之间传送信息的交换器件,也有人称它为界面,它使两者之间能很好地协调工作,每一个外设都要通过接口电路才能和计算机相连。
11.CPU处理I/O操作有几种方式?
各自有什么特点和应用范围?
CPU和外设之间的数据传输有4种方式,即无条件方式、查询方式、中断方式、直接存储器存取方式(DMA方式)。
(1)无条件传输方式
所谓无条件传输方式,是指CPU对外设接口的读写随时都可以进行,不需要等待某种条件的满足。
无条件传送方式也称同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。
对于这类外设,在任何时刻均以准备好数据或处于接收数据状态,或者在某些固定时刻,它们处在数据就绪或准备接收状态,因此程序可以不必检查外设的状态,而在需要进行输入或输出操作时,直接执行输入/输出指令。
当输入/输出指令执行后,数据传送便立即进行。
这是一种最简单的输入/输出传送方式,所需要的硬件和软件都非常小,一般用于控制CPU与低速I/O接口之间的数据交换。
无条件传输方式的软、硬件简单,但一般的外设难以满足上述条件,所以这种输出方式用得较少,只用于一些简单外设,如开关、数码管显示等。
(2)程序查询传输方式
程序查询传输方式是指CPU在向外设传递数据前,首先查询外设的状态(即条件),若外设准备好则传送,若未准备好,CPU就等待。
可见,接口电路除了有传送数据的端口外,还有传送状态的端口。
对于输入过程,当外设将数据准备好时,则使接口的状态端口中的“准备好”标志置1;对于输出过程,外设取走一个数据后,接口便将状态端口中的对应标志置1,表示当前输出寄存器已经处于“空”状态,可以接收下一个数据。
因此,对应条件传送,一个数据传送过程由3个环节组成:
①CPU从接口中读出状态字。
②CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步读出状态字。
③如果状态字表明外设已处于“就绪”状态,则传送数据。
程序查询传输方式接口电路中除了数据端口外,还必须有传送状态的端口,同时CPU要不断查询外设状态,占用大量CPU的时间,硬件比无条件传输方式复杂,并使用较多的端口地址。
用查询方式输入数据时,在接口电路与外设间要交换数据、状态和控制3种信息。
查询方式的缺点是CPU的利用受到影响,陷于等待和反复查询,不能再做它用;而且,这种方法不能处理掉电、设备故障等突发事件。
(3)中断传输方式
在中断传送方式下,外设具有申请CPU服务的主动权,当输入设备将数据准备好或者输出设备可以接收数据时,便可以向CPU发中断请求,使CPU暂时停下目前的工作而和外设进行一次数据传输,等输入操作或者输出操作结束以后,CPU继续进行原来的工作。
即中断传送方式就是外设中断CPU的工作,使CPU停止执行当前程序,而去执行一个输入/输出程序,此程序称为中断处理子程序或中断服务子程序。
中断服务子程序执行完后,CPU又回来执行原来的程序。
采用中断方式后,CPU平时可以执行主程序,只有当输入设备将数据准备好了,或者输出端口的数据缓冲器已空时,才向CPU发出中断请求。
CPU响应中断后,暂停执行当前的程序,转去执行管理外设的中断服务程序。
在中断服务程序中,用输入或输出指令在CPU和外设之间进行一次数据交换。
等输入或输出操作完成后,CPU又回去执行原来的程序。
(4)DMA传输方式
DMA方式要利用系统的数据总线、地址总线和控制总线来传送数据。
原先这些总线是由CPU管理的,但当外设需要利用DMA方式进行数据传送时,接口电路可以向CPU提出请求,要求CPU让出对总线的控制权,用一种称为DMA控制器的专用硬件接口电路来取代CPU临时接管总线,控制外设和存储器之间直接进行高速的数据传送,而不要CPU进行干预。
这种控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写控制信号。
在DMA传送结束后,它能释放总线,把对总线的控制权交还给CPU。
可见用DMA方式传送数据时,不需要进行保护和恢复断点及现场之类的额外操作,一旦进入DMA操作,就可直接在硬件的控制下快速完成一批数据的交换任务,数据传送的速度基本取决于外设和存储器的存取速度。
12.什么是中断?
什么是可屏蔽中断?
什么是非屏蔽中断?
CPU在什么条件下可以响应中断?
所谓中断,是指CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中止正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务程序,中断服务程序执行完毕,再返回被中止的程序。
利用中断可以避免不断检测外设状态,提高CPU的效率。
可屏蔽中断有时也称为直接中断。
屏蔽是指CPU可以不处理的中断请求。
这种屏蔽实际上是CPU的一种工作方式,可以通过软件(指令)来设置,也就是可以通过指令,使CPU或者允许接受中断请求,或者不接受中断请求。
具体的指令由CPU的指令系统来决定。
可屏蔽中断是最常见的一种中断方式,所有的微处理器都有这种中断方式。
对非屏蔽中断来说,如果该中断源申请了中断,CPU是一定要处理的。
CPU不可以也不能用软件将该中断屏蔽掉。
一般一些紧急的情况,如掉电中断申请,就可以安排为这种中断方式,以保证紧急情况一定能得到处理。
但并不是所有的微处理器的中断系统都有这种中断方式,MCS-51单片机的中断系统就没有非屏蔽中断。
一个完整的中断处理的基本过程应包括:
中断请求、中断优先权判别、中断响应、中断处理及中断返回。
如果提出中断请求的中断源优先权高,而且接口电路与CPU都中断开放,CPU将响应中断,自动执行下列工作:
①保留断点:
中止正在执行的程序,并对断点进行保护,即将断点地址的值压入堆栈保存,以便中断服务程序执行完后能返回断点处继续执行程序。
②转入中断服务程序:
将中断服务程序的人口地址送入PC,以转到中断服务程序。
各中断源要求服务的内容不同,所以要编制不同的中断服务程序,它们有不同的入口地址。
CPU首先要确定是哪一个中断源在申请中断,然后将对应的入口地址送入PC。
13.DMA传送的基本过程是什么?
为什么DMA方式可以加快数据在外设和存储器之间的传送?
参看第11题。
14.什么是接口?
什么是端口?
一个接口电路是否可以有多个端口?
所谓接口,是指在两台计算机之间、计算机与外设之间、计算机内部各部件之间起连接作用的逻辑电路,是CPU与外界进行信息交换的中转站。
所谓端口,是指I/O接口(包括芯片和控制卡)中供CPU直接存取访问的那些寄存器或某些硬件特定电路。
一个I/O接口总要包括若干端口,除常见的数据端口、命令端口和状态端口外,还有特殊用途的端口,如方式控制端口、操作结果端口和地址索引端口等。
端口的多少及相应的功能完全取决于与I/O接口所关联的I/O设备。
15.CPU和外设之间传输的信息有哪几类?
各有何特点?
计算机与外设间的这种交换数据、状态和控制命令的过程统称为通信(Communication)。
通信过程就是数据传输的过程,在这个过程中要传输的信息有数据信息、状态信息、控制信息。
(1)数据信息
CPU和外设交换的基本信息就是数据,数据通常为8位或16位。
数据信息可分为以下三种类型。
具体可分为数字量、模拟量、开关量。
(2)状态信息
状态信息反映了当前外设所处的工作状态,是外设通过接口往CPU传送的。
对于输入设备来说,通常用准备好(READY)信号来表明输入的数据是否准备就绪;对于输出设备来说,通常用忙(BUSY)信号表示输出设备是否处于空闲,如为空闲,则可接收CPU送来的信息,否则CPU应等待。
(3)控制信息
控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息控制外设的工作,如外设的启动、停止就是常见的控制信息。
16.串行传送的特点是什么?
数据传送按位顺序进行,最少只需一根传输线即可完成,成本低但速度慢。
计算机与外界的数据传送大多数是串行的,其传送的距离可以从几米到几千千米。
17.串行通信和并行通信的主要区别是什么?
各有什么优缺点?
计算机与外设之间或计算机之间的信息交换或数据传输称为通信(Communication)。
基本的通信方式有两种,一种是并行通信,另一种是串行通信。
(1)并行通信
并行通信是指数据的各位同时进行传送。
在并行通信中,有多少位数据,就需要多少条传输线,因此传送速度较快,即在相同传输率的情况下,并行通信能够提供高速、高信息率的传输。
由于并行通信所需的传输线较多,如果传输距离增加,传输线的开销会成为一个突出的问题,因而并行通信一般用于数据传输率要求较高、传输距离又比较短的场合。
(2)串行通信
串行通信是指数据一位一位地按顺序传送。
串行通信时,要传送的数据或信息必须按一定的格式编码,然后在单根线上,按一位接一位的先后顺序进行传送,发送完一个字符,再发送第二个。
接收数据时,每次从单根线上一位接一位地接收信息,再把它们拼成一个字符,送给CPU做进一步处理。
采用串行通信方式的另一个出发点是,有些外设如调制解调器(Modem)、鼠标等,本身需要用串行通信方式,因为这些设备是以串行方式存取数据的。
第3章MCS51系列单片机硬件结构
1.MCS51系列单片机内部有哪些主要的逻辑部件?
MCS51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:
一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB、21个字节的专用寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级、111条指令、片内采用单总线结构。
2.MCS51单片机设有4个8位并行端口,实际应用中8位数据信息由哪个端口传送?
16位地址线怎样形成?
P3口有何功能?
8位数据信息由P0口传送。
P2口形成地址大高8位,P0口结果锁存器形成地址的低8位。
P3口除具有一般的输入/输出功能,还具有第2功能:
P3.0
RXD串行口输入端
P3.1
TXD串行口输出端
P3.2
外部中断0请求输入端,低电平有效
P3.3
外部中断1请求输入端,低电平有效
P3.4
T0定时器/计数器0计数脉冲输入端
P3.5
T1定时器/计数器1计数脉冲输入端
P3.6
外部数据存储器及I/O接口写选通信号输出端,低电平有效
P3.7
外部数据存储器及I/O接口读选通信号输出端,低电平有效
3.MCS51单片机内部RAM区的功能结构如何分配?
4组工作寄存器使用时如何选择?
位寻址区域的字节范围是多少?
MCS51单片机片内RAM共有128B,字节范围为00H~7FH,可分为工作寄存器区、位寻址区、数据缓冲区共3个区域。
(1)工作寄存器区
00H~1FH单元为工作寄存器区。
工作寄存器也称通用寄存器,用于临时寄存8位信息。
工作寄存器分成4组,每组都是8个寄存器,用R0~R7来表示。
程序中每次只用一组,其余各组不工作。
使用哪一组寄存器工作,由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择,其对应关系如表所示。
工作寄存器组的选择表
PSW.4(RS1)
PSW.3(RS0)
当前使用的工作寄存器组
R0~R7
0
0
0组(00H~07H)
0
1