单片微型计算机基础学习知识原理及其应用标准参考答案.doc
,.单片微型计算机原理及应用习题参考答案姜志海 刘连鑫 王蕾 编著电子工业出版社目录第1章 微型计算机基础2第2章 半导体存储器及I/O接口基础4第3章 MCS-51系列单片机硬件结构11第4章 MCS-51系列单片机指令系统16第5章 MCS-51系列单片机汇编语言程序设计20第6章 MCS-51系列单片机中断系统与定时器/计数器26第7章 MCS-51系列单片机的串行口32第8章 MCS-51系列单片机系统扩展技术34第9章 MCS-51系列单片机键盘/显示器接口技术36第10章 MCS-51系列单片机模拟量接口技术40第11章 单片机应用系统设计44第1章 微型计算机基础1简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。2微处理器、微型计算机、微型计算机系统有什么联系与区别?微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。3微型计算机是以CPU为核心,配上存储器、输入/输出接口和系统总线组成的计算机。4在计算机内部,一切信息的存取、处理和传递的形式是(C )。AASCII码 BBCD码 C二进制 D十六进制509的ASCII码是(C )。A09 B3039 C30H39H D40H49H6在微型计算机中,一般具有哪三类总线?试说出各自的特征(包括传输的信息类型、单向传输还是双向传输)。所谓总线,就是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。计算机元件级总线包括地址总线AB(Address Bus)、数据总线DB(Data Bus)、控制总线CB(Control Bus)三种。(1)地址总线:地址总线是CPU用来向存储器或I/O接口传送地址信息的,是三态单向总线。地址总线的宽度决定了CPU可直接寻址的内存容量。通过地址总线确定要操作的存储单元或I/O接口的地址。(2)数据总线:数据总线是CPU与存储器及外设交换数据的通路,是三态双向总线。(3)控制总线:控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如CPU向存储器或I/O接口电路输出读信号、写信号、地址有效信号,而I/O接口部件向CPU输入复位信号、中断请求信号等。7将下列二进制数转换为十进制数。111101.101B 100101.11B1100110.011B111101.101B=29.625 100101.11B=37.75 1100110.011B=102.3758将下列十进制数转换为二进制数、BCD码数。126.635317.12587.0735126.635=1111110.101B=(000100100110.011000110101)BCD317.125=100111101.001B=(001100010111.000100100101)BCD87.0735=1010111.0001B=(10000111.0000011100110101)BCD9设机器数为8位,写出下列用真值表示的二进制数的原码、补码和反码。+0010101B0010101B+1000000B1000000B+0010101B0010101B+1000000B1000000B原码 00010101B10010101B01000000B11000000B反码00010101B11101010B01000000B10111111B补码00010101B11101011B01000000B11000000B10将下列BCD码表示成十进制数和二进制数。01111001010101111000001110011001(01111001)BCD=79=1001111B (01010111)BCD=57=111001B(10000011)BCD=83=1010011B (10011001)BCD=99=1100011B11设下列数据为8位补码表示的十六进制数,计算a + b和a b,并且判断有无溢出。aba + b是否溢出a b是否溢出37H97H0CEHN0A0HY0B7H0D7H8EHY0E0HY0F7H0D7H0CEHY20HN037H0C7H0FEHN70HY12计算机某字节存储单元的内容为10000111,若解释为无符号数,则真值为(135);若解释为有符号数,则真值为(-121);若解释为BCD码,则真值为(87);若用十六进制数表示,则为(87)H。第2章 半导体存储器及I/O接口基础1半导体存储器分两大类:易失性存储器RAM和非易失性存储器ROM。闪速存储器属于非易失性存储器ROM。2SRAM6264芯片的地址线为A12A0,其存储容量为 8K地址空间。3可用紫外线擦除后改写的存储器EPROM经擦除后,各单元的内容应为 0FFH 。488KB的SRAM存储器芯片需要 13 根地址线和 8 根数据线。5半导体存储器有哪几种类型?各自有什么特点?半导体存储器的两个重要指标是什么?半导体存储器通常分为随机存取存储器(RAM,Random Access Memory)和只读存储器(ROM,Read Only Memory)两类。(1)RAM:RAM又称读写存储器,它的数据读取、存入时间都很短,因此计算机运行时,既可以从RAM中读数据,又可以将数据写入RAM。但掉电后RAM中存放的信息将丢失。RAM适宜存放输入数据、中间结果及最后的运算结果,因此又被称为数据存储器。随机存储器有静态RAM和动态RAM两种。静态RAM用触发器存储信息,只要不断电,信息就不会丢失。动态RAM依靠电容存储信息,充电后为“1”,放电后为“0”。为了保存信息,每隔12ms必须对高电平的电容重新充电,这称为动态RAM的定时刷新。动态RAM的集成度高;静态RAM的集成度低、功耗大,优点是省去了刷新电路。在设计专用的微型计算机系统时,一般只用静态RAM就可以满足要求。(2)ROM:ROM称为只读存储器。读出一个数据的时间为数百纳秒,有时也可改写,但写入一个数据的时间长达数十毫秒。因此在计算机运行时只能执行“读”操作。掉电后ROM中存放的数据不会丢失。ROM适宜存放程序、常数、表格等,因此又称为程序存储器。只读存储器有以下五类:掩模ROM:在半导体工厂生产时,已经用掩模技术将程序做入芯片,用户只能读出内容而不能改写。掩模ROM只能应用于有固定程序且批量很大的产品中。一次可编程只读存储器(PROM,Programmable ROM):用户可将程序写入PROM,但程序一经写入就不能改写。紫外线擦除可编程只读存储器(EPROM,Erasable PROM):用户可将程序写入EPROM芯片。如果要改写程序,先用EPROM擦除器,擦去原先的程序,然后写入新程序。与PROM芯片一样,写入的速度很慢,且要用到高压,所以必须用特定的EPROM编程器写入信息。在计算机运行时只能执行读操作。电擦除可编程只读存储器(EEPROM,Electrically Erasable PROM):由于采用电擦除方式,而且擦除、写入、读出的电源都用+5V,故能在应用系统中在线改写。但目前写入时间较长,约需10ms,读出时间约为几百纳秒。闪烁存储器(Flash Memory):快速擦写存储器(Flash Memory,简称Flash)是20世纪80年代中期推出的新型器件。它可以在联机条件下,在计算机内进行擦除、改写,因而称为快擦写型存储器或闪烁存储器。它具有芯片整体或分区电擦除和可再编程功能,从而使它成为性价比和可靠性最高的可读写、非易失性存储器。主要性能特点如下:高速芯片整体电擦除:芯片整体擦除时间约1s,而一般的EPROM需要15min以上。高速编程:采用快速脉冲编程方法,编程时间短。最少1万次擦除/编程周期,通常可达到10万次擦除/编程周期。早期的Flash采用12V编程电压,改进后在Flash内部集成了1个DC/DC变换器,可以采用单一的5V电压供电。高速度的存储器访问:最大读出时间不超过200s。高速Flash的读出时间达到60s。低功耗:最大工作电流为30mA,备用状态下的最大电流为100A。密度大,价格低,性价比高。衡量半导体存储器性能的主要指标有存储容量、存取速度、存储器周期、功耗、可靠性、价格、电源种类等,其中主要的技术指标是存储容量和存取速度。存储容量是存储器的一个重要指标。存储器芯片的存储容量用“存储单元个数 每个单元的存储位数”来表示。如存储器有256个单元,每个单元存放8位二进制数,那么该存储器的容量为2568位。存储器容量1K = 1024 = 210。对于以字节编址的微型计算机,可以以字节表示容量,如某微型计算机的容量为64KB。在表示存储器的容量时,一般是以某一空间范围来表示的,而空间范围是由地址线来决定的,即存储器的容量和存储器的地址线的宽度(数量)有关。地址的二进制位数N与容量的关系是Q = 2N。如某存储器芯片有13条地址线A12A0,则存储器容量为8KB,空间表示范围为0000H1FFFH。存取速度:该项指标一般用以下两个参数中的一个来描述。 存取时间(Access Time,TA):是指从CPU给出有效的存储地址启动一次存储器读/写操作,到操作完成所经历的时间。具体地说,对一次读操作的存取时间就是读出时间,即从地址有效到数据输出有效之间的时间;对于一次写操作,存取时间就是写入时间。 存取周期(Access Cycle,TAC):是指连续两次存储器读/写操作之间所需要的最小时间间隔。对于读操作,就是读周期时间;对于写操作,就是写周期时间。因为在一次数据访问后,芯片不可能无间歇地进入下一次访问,所以存取周期TAC要略大于存取时间TA。表示上,该参数常表示为读周期TRC或写周期TWC,存取时间TAC是其统称。6型号是1K4位的静态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电路是外设和计算机之间传送信息的交换器件,也有人称它为界面,它使两者之间能很好地协调工作,每一个外设都要通过接口电路才能和计算机相连。11CPU处理I/O操作有几种方式?各自有什么特点和应用范围?CPU和外设之间的数据传输有4种方式,即无条件方式、查询方式、中断方式、直接存储器存取方式(DMA方式)。(1)无条件传输方式所谓无条件传输方式,是指CPU对外设接口的读写随时都可以进行,不需要等待某种条件的满足。无条件传送方式也称同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。对于这类外设,在任何时刻均以准备好数据或处于接收数据状态,或者在某些固定时刻,它们处在数据就绪或准备接收状态,因此程序可以不必检查外设的状态,而在需要进行输入或输出操作时,直接执行输入/输出指令。当输入/输出指令执行后,数据传送便立即进行。这是一种最简单的输入输出传送方式,所需要的硬件和软件都非常小,一般用于控制CPU与低速I/O接口之间的数据交换。无条件传输方式的软、硬件简单,但一般的外设难以满足上述条件,所以这种输出方式用得较少,只用于一些简单外设,如开关、数码管显示等。(2)程序查询传输方式程序查询传输方式是指CPU在向外设传递数据前,首先查询外设的状态(即条件),若外设准备好则传送,若未准备好,CPU就等待。可见,接口电路除了有传送数据的端口外,还有传送状态的端口。对于输入过程,当外设将数据准备好时,则使接口的状态端口中的“准备好”标志置;对于输出过程,外设取走一个数据后,接口便将状态端口中的对应标志置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。13DMA传送的基本过程是什么?为什么DMA方式可以加快数据在外设和存储器之间的传送?参看第11题。14什么是接口?什么是端口?一个接口电路是否可以有多个端口?所谓接口,是指在两台计算机之间、计算机与外设之间、计算机内部各部件之间起连接作用的逻辑电路,是CPU与外界进行信息交换的中转站。所谓端口,是指I/O接口(包括芯片和控制卡)中供CPU直接存取访问的那些寄存器或某些硬件特定电路。一个I/O接口总要包括若干端口,除常见的数据端口、命令端口和状态端口外,还有特殊用途的端口,如方式控制端口、操作结果端口和地址索引端口等。端口的多少及相应的功能完全取决于与I/O接口所关联的I/O设备。15CPU和外设之间传输的信息有哪几类?各有何特点?计算机与外设间的这种交换数据、状态和控制命令的过程统称为通信(Communication)。通信过程就是数据传输的过程,在这个过程中要传输的信息有数据信息、状态信息、控制信息。(1)数据信息CPU和外设交换的基本信息就是数据,数据通常为8位或16位。数据信息可分为以下三种类型。具体可分为数字量、模拟量、开关量。(2)状态信息状态信息反映了当前外设所处的工作状态,是外设通过接口往CPU传送的。对于输入设备来说,通常用准备好(READY)信号来表明输入的数据是否准备就绪;对于输出设备来说,通常用忙(BUSY)信号表示输出设备是否处于空闲,如为空闲,则可接收CPU送来的信息,否则CPU应等待。(3)控制信息控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息控制外设的工作,如外设的启动、停止就是常见的控制信息。16串行传送的特点是什么?数据传送按位顺序进行,最少只需一根传输线即可完成,成本低但速度慢。计算机与外界的数据传送大多数是串行的,其传送的距离可以从几米到几千千米。17串行通信和并行通信的主要区别是什么?各有什么优缺点?计算机与外设之间或计算机之间的信息交换或数据传输称为通信(Communication)。基本的通信方式有两种,一种是并行通信,另一种是串行通信。(1)并行通信并行通信是指数据的各位同时进行传送。在并行通信中,有多少位数据,就需要多少条传输线,因此传送速度较快,即在相同传输率的情况下,并行通信能够提供高速、高信息率的传输。由于并行通信所需的传输线较多,如果传输距离增加,传输线的开销会成为一个突出的问题,因而并行通信一般用于数据传输率要求较高、传输距离又比较短的场合。(2)串行通信串行通信是指数据一位一位地按顺序传送。串行通信时,要传送的数据或信息必须按一定的格式编码,然后在单根线上,按一位接一位的先后顺序进行传送,发送完一个字符,再发送第二个。接收数据时,每次从单根线上一位接一位地接收信息,再把它们拼成一个字符,送给CPU做进一步处理。采用串行通信方式的另一个出发点是,有些外设如调制解调器(Modem)、鼠标等,本身需要用串行通信方式,因为这些设备是以串行方式存取数据的。第3章 MCS-51系列单片机硬件结构1MCS-51系列单片机内部有哪些主要的逻辑部件?MCS-51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB、21个字节的专用寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级、111条指令、片内采用单总线结构。2MCS-51单片机设有4个8位并行端口,实际应用中8位数据信息由哪个端口传送?16位地址线怎样形成?P3口有何功能?8位数据信息由P0口传送。P2口形成地址大高8位,P0口结果锁存器形成地址的低8位。P3口除具有一般的输入/输出功能,还具有第2功能:P3.0RXD 串行口输入端P3.1TXD 串行口输出端P3.2 外部中断0请求输入端,低电平有效P3.3 外部中断1请求输入端,低电平有效P3.4T0 定时器/计数器0计数脉冲输入端P3.5T1 定时器/计数器1计数脉冲输入端P3.6 外部数据存储器及I/O接口写选通信号输出端,低电平有效P3.7 外部数据存储器及I/O接口读选通信号输出端,低电平有效3MCS-51单片机内部RAM区的功能结构如何分配?4组工作寄存器使用时如何选择?位寻址区域的字节范围是多少?MCS-51单片机片内RAM共有128B,字节范围为00H7FH,可分为工作寄存器区、位寻址区、数据缓冲区共3个区域。(1)工作寄存器区00H1FH单元为工作寄存器区。工作寄存器也称通用寄存器,用于临时寄存8位信息。工作寄存器分成4组,每组都是8个寄存器,用R0R7来表示。程序中每次只用一组,其余各组不工作。使用哪一组寄存器工作,由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择,其对应关系如表所示。工作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH)该区域当不被用做工作寄存器时,可以作为一般的RAM区使用。(2)位寻址区20H2FH单元是位寻址区。这16个单元(共计16 8 = 128位)的每一位都赋予了一个位地址,位地址范围为00H7FH。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。00H07H08H0FH10H17H18H1FH0组工作寄存器区1组2组3组20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH0706050403020100位寻址区0F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241404F4E4D4C4B4A494857565554535251505F5E5D5C5B5A595867666564636261606F6E6D6C6B6A696877767574737271707F7E7D7C7B7A797830H7FH数据缓冲区该区域当不被用做位寻址区时,可以作为一般的RAM区使用。(3)数据缓冲区30H7FH是数据缓冲区,即用户RAM,共80个单元。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。4特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?参看表3-6.5简述程序状态字PSW中各位的含义。程序状态字PSW是一个8位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。 进位标志C(PSW.7)在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位(加法时)或借位(减法时),则C = 1,否则C = 0。 辅助进位(或称半进位)标志位AC(PSW.6)它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位向D4位有进位(或借位),则AC = 1,否则AC = 0。在BCD码运算的十进制调整中要用到该标志。 用户自定义标志位F0(PSW.5)用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0 = 1或0来决定程序的执行方式,或系统某一种工作状态。 工作寄存器组选择位RS1、RS0(PSW.4、PSW.3)可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组。 溢出标志位OV(PSW.2)做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV = 1表示加减运算超出了累加器所能表示的数值范围(128+127),即产生了溢出,因此运算结果是错误的。OV = 0表示运算正确,即无溢出产生。执行乘法指令MUL AB也会影响OV标志,当积大于255时,OV = 1,否则OV = 0;执行除法指令DIV AB也会影响OV标志,如B中所存放的除数为0,则OV = 1,否则0V = 0。 奇偶标志位P(PSW.0)在执行指令后,单片机根据累加器A中1的个数的奇偶自动将该标志置位或清零。若A中1的个数为奇数,则P = 1,否则P = 0。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。6简述MCS-51单片机程序存储器的几个特殊入口地址的含义。0000H:程序入口地址0003H:外部中断0中断服务程序入口地址000BH:定时器/计数器0溢出中断服务程序入口地址0013H:外部中断1中断服务程序入口地址001BH:定时器/计数器1溢出中断服务程序入口地址0023H:串行口发送/接收中断服务程序入口地址7位地址7FH与字节地址7FH有何区别?位地址7FH具体在内存中的什么位置?二者存储的数据位数不一样。位地址7FH存放一位二进制数,字节地址7FH存放8为二进制数。位地址7FH具体在内存中字节地址为20H的最高位上。8复位的作用是什么?复位后单片机的状态如何?计算机在启动运行时都需要复位,这就使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位都靠外部电路实现。MCS-51单片机有一个复位引脚RST,高电平有效。它是施密特触发输入(对于CMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后,该引脚上出现两个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS-51便保持复位状态。此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。RST变为低电平,退出复位状态,CPU从初始状态开始工作。复位操作不影响片内RAM的内容,复位以后内部寄存器的初始状态如表3-7所示。9试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?程序计数器PC是一个16位专用寄存器,其内容表示下一条要执行的指令的地址。复位后为0000H。MCS-51单片机的堆栈是在片内RAM中开辟的一个专用区。堆栈指针SP是一个8位专用寄存器,用来存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所指定的地址单元;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。因此SP总是指向栈顶。复位后为07H。10MCS-51单片机设置4组工作寄存器,开机复位后,CPU使用的是哪组寄存器?它们的地址如何?CPU如何改变当前工作寄存器组?第0组。字节地址为00H07H。通过PSW的RS1、RS0来改变。工作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH)11什么是时钟周期、机器周期和指令周期?当外部的振荡频率是8MHz时,8051单片机的机器周期为多少?MCS-51单片机的时序由下面4种周期构成。(1)振荡周期振荡周期是指为单片机提供定时信号的振荡源的周期。(2)状态周期(时钟周期)两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑运算;在后半周期P2有效时,一般进行内部寄存器之间的传输。(3)机器周期CPU执行一条指令的过程可以划分为若干阶段,每一阶段完成某一项基本操作,如取指令、存储器读/写等。通常把完成一个基本操作所需要的时间称为机器周期。(4)指令周期指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS-51系列单片机除乘法、除法指令是4机器周期指令外,其余都是单周期指令和双周期指令。若用12MHz晶体振荡器(晶振),则单周期指令和双周期指令的指令周期时间分别是1s和2s,乘法和除法指令为4s。通过上面的分析,我们可以看出,外部晶振的二分频是MCS-51单片机的内部时钟周期,6个时钟周期构成了单片机的机器周期。如果单片机的外部晶振是8MHz,则其内部的机器周期是1.5s。12已知PSW = 10H,则工作寄存器R0的地址是 10H ,R4的地址是 14H 。13MCS-51单片机复位后,程序计数器PC = 0000H ,堆栈指针SP = 07H 。14MCS-51单片机内部RAM的寄存器区共有 32 个单元,分为 4 组寄存器,每组 8 单元。15MCS-51单片机的4个I/O接口的作用是什么?三总线是如何分配的?为什么说能作为I/O使用的一般只有P1口?P0口形成数据总线;P2口形成地址的高8位,P0口经过锁存器形成地址的低8位;P3口形成控制总线。在具有外部扩展的时间,需要用到数据总线、地址总线和控制总线,而三总线占用了P0、P2、P3口,可以单独使用的只有P1口。第4章 MCS-51系列单片机指令系统1访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。访问外部数据存储器:MOVXA,DPTRMOVXDPTR,AMOVXA,RiMOVXRi,A访问程序存储器:MOVCA,A+DPTRMOVCA,A+PC2设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H、62H、30H、31H、DPTR及SP的内容将有何变化?PUSH 30HPUSH31HPOPDPLPOPDPHMOV0H,#00HMOV 31H,#0FFH(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H3设(A) = 40H,(R1) = 23H,(40H) = 05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?XCHA,R1XCHDA,R1(A)=25H (R1)=40H (40H)=03H4设(A) = 01010101B,(R5) = 10101010B,分别写出执行ANL A,R5;ORL A,R5;XRL A,R5指令后的结果。00000000B 11111111B 11111111B5简述转移指令AJMP addr11,SJMP rel,LJMP addr16及JMP A + DPTR的应用。AJMP addr1
收藏
编号:2595660
类型:共享资源
大小:438.09KB
格式:DOC
上传时间:2020-04-22
10
金币
- 关 键 词:
-
单片
微型计算机
基础
学习
知识
原理
及其
应用
利用
运用
标准
参考答案
- 资源描述:
-
,.
《单片微型计算机原理及应用》习题参考答案
姜志海 刘连鑫 王蕾 编著
电子工业出版社
目录
第1章 微型计算机基础 2
第2章 半导体存储器及I/O接口基础 4
第3章 MCS-51系列单片机硬件结构 11
第4章 MCS-51系列单片机指令系统 16
第5章 MCS-51系列单片机汇编语言程序设计 20
第6章 MCS-51系列单片机中断系统与定时器/计数器 26
第7章 MCS-51系列单片机的串行口 32
第8章 MCS-51系列单片机系统扩展技术 34
第9章 MCS-51系列单片机键盘/显示器接口技术 36
第10章 MCS-51系列单片机模拟量接口技术 40
第11章 单片机应用系统设计 44
第1章 微型计算机基础
1.简述微型计算机的结构及各部分的作用
微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。
通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。
2.微处理器、微型计算机、微型计算机系统有什么联系与区别?
微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。
微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。
以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。
3.微型计算机是以CPU为核心,配上存储器、输入/输出接口和系统总线组成的计算机。
4.在计算机内部,一切信息的存取、处理和传递的形式是(C )。
A.ASCII码 B.BCD码 C.二进制 D.十六进制
5.0~9的ASCII码是(C )。
A.0~9 B.30~39 C.30H~39H D.40H~49H
6.在微型计算机中,一般具有哪三类总线?试说出各自的特征(包括传输的信息类型、单向传输还是双向传输)。
所谓总线,就是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。计算机元件级总线包括地址总线AB(Address Bus)、数据总线DB(Data Bus)、控制总线CB(Control Bus)三种。
(1)地址总线:地址总线是CPU用来向存储器或I/O接口传送地址信息的,是三态单向总线。地址总线的宽度决定了CPU可直接寻址的内存容量。通过地址总线确定要操作的存储单元或I/O接口的地址。
(2)数据总线:数据总线是CPU与存储器及外设交换数据的通路,是三态双向总线。
(3)控制总线:控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如CPU向存储器或I/O接口电路输出读信号、写信号、地址有效信号,而I/O接口部件向CPU输入复位信号、中断请求信号等。
7.将下列二进制数转换为十进制数。
111101.101B 100101.11B 1100110.011B
111101.101B=29.625 100101.11B=37.75 1100110.011B=102.375
8.将下列十进制数转换为二进制数、BCD码数。
126.635 317.125 87.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码表示成十进制数和二进制数。
01111001 01010111 10000011 10011001
(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,Random Access Memory)和只读存储器(ROM,Read Only Memory)两类。
(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,Programmable ROM):用户可将程序写入PROM,但程序一经写入就不能改写。
紫外线擦除可编程只读存储器(EPROM,Erasable PROM):用户可将程序写入EPROM芯片。如果要改写程序,先用EPROM擦除器,擦去原先的程序,然后写入新程序。与PROM芯片一样,写入的速度很慢,且要用到高压,所以必须用特定的EPROM编程器写入信息。在计算机运行时只能执行读操作。
电擦除可编程只读存储器(EEPROM,Electrically Erasable PROM):由于采用电擦除方式,而且擦除、写入、读出的电源都用+5V,故能在应用系统中在线改写。但目前写入时间较长,约需10ms,读出时间约为几百纳秒。
闪烁存储器(Flash Memory):快速擦写存储器(Flash Memory,简称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位二进制数,那么该存储器的容量为2568位。存储器容量1K = 1024 = 210。对于以字节编址的微型计算机,可以以字节表示容量,如某微型计算机的容量为64KB。
在表示存储器的容量时,一般是以某一空间范围来表示的,而空间范围是由地址线来决定的,即存储器的容量和存储器的地址线的宽度(数量)有关。地址的二进制位数N与容量的关系是Q = 2N。
如某存储器芯片有13条地址线A12~A0,则存储器容量为8KB,空间表示范围为0000H~1FFFH。
存取速度:
该项指标一般用以下两个参数中的一个来描述。
① 存取时间(Access Time,TA):是指从CPU给出有效的存储地址启动一次存储器读/写操作,到操作完成所经历的时间。
具体地说,对一次读操作的存取时间就是读出时间,即从地址有效到数据输出有效之间的时间;对于一次写操作,存取时间就是写入时间。
② 存取周期(Access Cycle,TAC):是指连续两次存储器读/写操作之间所需要的最小时间间隔。对于读操作,就是读周期时间;对于写操作,就是写周期时间。因为在一次数据访问后,芯片不可能无间歇地进入下一次访问,所以存取周期TAC要略大于存取时间TA。表示上,该参数常表示为读周期TRC或写周期TWC,存取时间TAC是其统称。
6.型号是1K4位的静态RAM,应有多少条地址线?多少条数据线?
10条地址线、4条数据线
7.说明EPROM、PROM、ROM和Flash存储器之间的主要区别。
参考第5题。
8.什么是“闪存”?它有哪些特点?用于哪些场合?
参考第5题。
9.简述堆栈的作用与操作。
所谓堆栈,是指在存储器中开辟的一个区域,用来存放需要暂时保存的数据。
(1)堆栈的作用
用来存放断点地址或保存临时数据。在调用子程序和执行中断服务程序的过程中,要保留断点地址,有时还要保护现场。只有保留了断点地址,才能在子程序或中断服务程序执行后保证返回到主程序的断点处,继续执行主程序。断点地址与现场信息是送入堆栈保存的。
在返回主程序前,要把保存在堆栈中的现场信息送回对应的寄存器,这称为恢复现场。
(2)堆栈操作
堆栈有两种操作方式。将数据送入堆栈称为推入操作,又称为压入操作,如压入指令
PUSH A
把堆栈中内容取出来的操作称为弹出操作,如弹出指令
POP A
执行把栈顶内容送回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章 MCS-51系列单片机硬件结构
1.MCS-51系列单片机内部有哪些主要的逻辑部件?
MCS-51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:
一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB、21个字节的专用寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级、111条指令、片内采用单总线结构。
2.MCS-51单片机设有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.MCS-51单片机内部RAM区的功能结构如何分配?4组工作寄存器使用时如何选择?位寻址区域的字节范围是多少?
MCS-51单片机片内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
1组(08H~0FH)
1
0
2组(10H~17H)
1
1
3组(18H~1FH)
该区域当不被用做工作寄存器时,可以作为一般的RAM区使用。
(2)位寻址区
20H~2FH单元是位寻址区。这16个单元(共计16 8 = 128位)的每一位都赋予了一个位地址,位地址范围为00H~7FH。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。
00H…07H
08H…0FH
10H…17H
18H…1FH
0组
工作寄存器区
1组
2组
3组
20H
21H
22H
23H
24H
25H
26H
27H
28H
29H
2AH
2BH
2CH
2DH
2EH
2FH
07
06
05
04
03
02
01
00
位
寻
址
区
0F
0E
0D
0C
0B
0A
09
08
17
16
15
14
13
12
11
10
1F
1E
1D
1C
1B
1A
19
18
27
26
25
24
23
22
21
20
2F
2E
2D
2C
2B
2A
29
28
37
36
35
34
33
32
31
30
3F
3E
3D
3C
3B
3A
39
38
47
46
45
44
43
42
41
40
4F
4E
4D
4C
4B
4A
49
48
57
56
55
54
53
52
51
50
5F
5E
5D
5C
5B
5A
59
58
67
66
65
64
63
62
61
60
6F
6E
6D
6C
6B
6A
69
68
77
76
75
74
73
72
71
70
7F
7E
7D
7C
7B
7A
79
78
30H…7FH
数据缓冲区
该区域当不被用做位寻址区时,可以作为一般的RAM区使用。
(3)数据缓冲区
30H~7FH是数据缓冲区,即用户RAM,共80个单元。
由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。
4.特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?
参看表3-6.
5.简述程序状态字PSW中各位的含义。
程序状态字PSW是一个8位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。
① 进位标志C(PSW.7)
在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位(加法时)或借位(减法时),则C = 1,否则C = 0。
② 辅助进位(或称半进位)标志位AC(PSW.6)
它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位向D4位有进位(或借位),则AC = 1,否则AC = 0。在BCD码运算的十进制调整中要用到该标志。
③ 用户自定义标志位F0(PSW.5)
用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0 = 1或0来决定程序的执行方式,或系统某一种工作状态。
④ 工作寄存器组选择位RS1、RS0(PSW.4、PSW.3)
可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组。
⑤ 溢出标志位OV(PSW.2)
做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV = 1表示加减运算超出了累加器所能表示的数值范围(–128~+127),即产生了溢出,因此运算结果是错误的。OV = 0表示运算正确,即无溢出产生。
执行乘法指令MUL AB也会影响OV标志,当积大于255时,OV = 1,否则OV = 0;执行除法指令DIV AB也会影响OV标志,如B中所存放的除数为0,则OV = 1,否则0V = 0。
⑥ 奇偶标志位P(PSW.0)
在执行指令后,单片机根据累加器A中1的个数的奇偶自动将该标志置位或清零。若A中1的个数为奇数,则P = 1,否则P = 0。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。
6.简述MCS-51单片机程序存储器的几个特殊入口地址的含义。
0000H:程序入口地址
0003H:外部中断0中断服务程序入口地址
000BH:定时器/计数器0溢出中断服务程序入口地址
0013H:外部中断1中断服务程序入口地址
001BH:定时器/计数器1溢出中断服务程序入口地址
0023H:串行口发送/接收中断服务程序入口地址
7.位地址7FH与字节地址7FH有何区别?位地址7FH具体在内存中的什么位置?
二者存储的数据位数不一样。位地址7FH存放一位二进制数,字节地址7FH存放8为二进制数。
位地址7FH具体在内存中字节地址为20H的最高位上。
8.复位的作用是什么?复位后单片机的状态如何?
计算机在启动运行时都需要复位,这就使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。
单片机的复位都靠外部电路实现。MCS-51单片机有一个复位引脚RST,高电平有效。它是施密特触发输入(对于CMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后,该引脚上出现两个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS-51便保持复位状态。此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。RST变为低电平,退出复位状态,CPU从初始状态开始工作。复位操作不影响片内RAM的内容,复位以后内部寄存器的初始状态如表3-7所示。
9.试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?
程序计数器PC是一个16位专用寄存器,其内容表示下一条要执行的指令的地址。复位后为0000H。
MCS-51单片机的堆栈是在片内RAM中开辟的一个专用区。堆栈指针SP是一个8位专用寄存器,用来存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所指定的地址单元;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。因此SP总是指向栈顶。复位后为07H。
10.MCS-51单片机设置4组工作寄存器,开机复位后,CPU使用的是哪组寄存器?它们的地址如何?CPU如何改变当前工作寄存器组?
第0组。字节地址为00H~07H。
通过PSW的RS1、RS0来改变。
工作寄存器组的选择表
PSW.4(RS1)
PSW.3(RS0)
当前使用的工作寄存器组
R0~R7
0
0
0组(00H~07H)
0
1
1组(08H~0FH)
1
0
2组(10H~17H)
1
1
3组(18H~1FH)
11.什么是时钟周期、机器周期和指令周期?当外部的振荡频率是8MHz时,8051单片机的机器周期为多少?
MCS-51单片机的时序由下面4种周期构成。
(1)振荡周期
振荡周期是指为单片机提供定时信号的振荡源的周期。
(2)状态周期(时钟周期)
两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑运算;在后半周期P2有效时,一般进行内部寄存器之间的传输。
(3)机器周期
CPU执行一条指令的过程可以划分为若干阶段,每一阶段完成某一项基本操作,如取指令、存储器读/写等。通常把完成一个基本操作所需要的时间称为机器周期。
(4)指令周期
指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS-51系列单片机除乘法、除法指令是4机器周期指令外,其余都是单周期指令和双周期指令。若用12MHz晶体振荡器(晶振),则单周期指令和双周期指令的指令周期时间分别是1μs和2μs,乘法和除法指令为4μs。
通过上面的分析,我们可以看出,外部晶振的二分频是MCS-51单片机的内部时钟周期,6个时钟周期构成了单片机的机器周期。
如果单片机的外部晶振是8MHz,则其内部的机器周期是1.5μs。
12.已知PSW = 10H,则工作寄存器R0的地址是 10H ,R4的地址是 14H 。
13.MCS-51单片机复位后,程序计数器PC = 0000H ,堆栈指针SP = 07H 。
14.MCS-51单片机内部RAM的寄存器区共有 32 个单元,分为 4 组寄存器,每组 8 单元。
15.MCS-51单片机的4个I/O接口的作用是什么?三总线是如何分配的?为什么说能作为I/O使用的一般只有P1口?
P0口形成数据总线;P2口形成地址的高8位,P0口经过锁存器形成地址的低8位;P3口形成控制总线。
在具有外部扩展的时间,需要用到数据总线、地址总线和控制总线,而三总线占用了P0、P2、P3口,可以单独使用的只有P1口。
第4章 MCS-51系列单片机指令系统
1.访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。
访问外部数据存储器:
MOVX A,@DPTR
MOVX @DPTR,A
MOVX A,@Ri
MOVX @Ri,A
访问程序存储器:
MOVC A,@A+DPTR
MOVC A,@A+PC
2.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H、62H、30H、31H、DPTR及SP的内容将有何变化?
PUSH 30H
PUSH 31H
POP DPL
POP DPH
MOV 0H,#00H
MOV 31H,#0FFH
(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH
(DPTR)=2410H (SP)=60H
3.设(A) = 40H,(R1) = 23H,(40H) = 05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?
XCH A,R1
XCHD A,@R1
(A)=25H (R1)=40H (40H)=03H
4.设(A) = 01010101B,(R5) = 10101010B,分别写出执行ANL A,R5;
ORL A,R5;XRL A,R5指令后的结果。
00000000B 11111111B 11111111B
5.简述转移指令AJMP addr11,SJMP rel,LJMP addr16及JMP @A + DPTR的应用。
AJMP addr1
展开阅读全文
![提示](https://www.taowenge.com/images/bang_tan.gif)
淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。