文档库 最新最全的文档下载
当前位置:文档库 › 微机接口课后练习答案

微机接口课后练习答案

第1章80x86微处理器体系结构

1. 微处理器、微型计算机和微型计算机系统三者之间有什么不同?

2. CPU在内部结构上由哪几部分组成?各部分具备哪些主要功能?

8086/8088CPU在内部结构上设计为两个独立的功能部件:执行部件EU和总线接口部件BIU。EU负责全部指令的执行,向BIU提供数据和所需访问的内存或I/O端口的地址,并对通用寄存器、标志寄存器和指令操作数进行管理。BIU是CPU同存储器和I/O设备之间的接口部件,负责CPU与存储器和I/O端口传送信息。

3. 8086状态标志和控制标志分别有哪些?程序中如何利用这些标志?

6位状态标志为:

⑴符号标志SF:若运算结果的最高位为1。则SF=1,否则为0。

⑵零标志ZF:若运算结果为零,则ZF=1,否则ZF=0。

⑶奇偶标志PF:若指令的执行结果低8位中"1"的个数为偶数,则PF=1,否则为0。

⑷进位标志CF:当执行一个加法运算使最高位(字节操作的D7或字操作的D15)产生进位,或执行减法运算使最高位产生借位时,则CF=1,否则CF=0。

⑸辅助进位标志AF:当执行加法运算时,D3位向D4有进位,或作减法运算时,D3位向D4有借位,则AF=1,否则为0。

⑹溢出标志OF:在算术运算中,当补码运算结果超出了带符号数的表达范围,即字节运算的结果超出-128~+127,或者字运算结果超出-32768~+32767时,OF=1,否则为0。

3位控制标志为:

⑴方向标志DF:这是处理串操作指令中信息方向的标志。若DF=1,则串操作指令按自动减址操作,即串操作从高地址向低地址方向进行处理;若DF=0,则使串操作指令按自动增量修改地址指针,即串操作从低地址向高地址方向进行处理。

⑵中断允许标志IF:该标志用于对可屏蔽中断进行控制,若IF=0,则CPU拒绝外部INTR中断请求,本标志对内部中断和不可屏蔽中断不起作用。

⑶跟踪标志TF:若设置TF=1,则CPU按单步方式执行指令,以调试程序。

4. 简述8086主要控制信号M/IO,WR,RD,ALE,INTR,INTA ,NMI的意义。

M/IO为高电平时,是存储器周期;M/IO为低电平时,是I/O周期。

WR:写作中在T2~T3周期为低电平

RD:读操作中在T2~T3周期为低电平

ALE:地址锁存允许信号(输出),这是8086CPU在总线周期的第一个时钟周期内发出的正脉冲信号,其下降沿用来把地址/数据总线(AD15~AD0)以及地址/状态总线(A19/S6~A16/S3)中的地址信息锁存入地址锁存器中。

INTR:可屏蔽中断请求信号。在每条指令的最后一个时钟周期,8086CPU将采样该引脚信号,若INTR为高电平,且8086CPU的IF为"1",则8086CPU将执行一个中断响应时序,控制转移到相应的中断服务程序。如果IF="0",则8086不响应该中断请求,继续执行下一条指令。即INTR信号可由软件复位CPU内部的IF位而加以屏蔽。

INTA:为中断响应信号(输出、三态),当8086CPU响应来自INTR引脚的可屏蔽中断请求时,在中断响应周期内,INTA变为低电平。

NMI:不可屏蔽中断请求信号(输入)。当NMI从低电平变为高电平时,该信号有效,8086CPU 在完成当前指令后,转移到不可屏蔽中断服务程序。

5. 中断响应过程中,8086向8259发两个INTA信号,分别起什么作用?

8086CPU在响应中断时CPU执行两个中断响应周期INTA,在第一个中断响应周期INTA负脉冲作为对中断请求设备的响应;第二个中断响应周期INTA负脉冲,通知中断请求设备把中

断类型码送到数据/地址总线的低8位AD7~AD0

6. 根据8086存储器读、写时序图,回答如下问题

(1)地址信号在哪段时间内有效?

(2)读操作与写操作的区别?

(3)存储器读、写时序同I/O读、写时序的区别?

(1)地址信号A0~A19在T1周期有效。

(2)读操作与写操作的主要区别为:

①DT/ 控制信号在读周期中为低电平,在写周期中为高电平。

②在读周期中控制信号在T2~T3周期为低电平(有效电平),信号始终为高电平(无效电平);在写周期中控制信号在T2~T3周期为低电平(有效电平),信号始终为高电平(无效电平)。

③在读周期中,数据信息一般出现在T2周期以后,双重总线AD0~AD15上的地址信号有效和数据信息有效之间有一段高阻态,因为AD0~AD15上的数据必须在存储芯片(或I/O 接口电路)的存取时间后才能出现。而在写周期中数据信息在双重总线上是紧跟在地址总线有效之后立即由CPU送上两者之间无一段高阻态。

(3)存储器操作同I/O操作的区别是:

7. 简述8086的最小方式和最大方式。

8086微处理器有两种工作方式。最小方式是当MN/MX 引脚接高电平时,对内存储器和I/O 接口所需的控制信号都由CPU直接提供的单处理器方式。而最大方式则是当MN/MX引脚接地时,对内存储器和I/O接口所需的控制信号要由专用的总线控制器8288提供的多处理器(或协处理器)方式。

第3章微型计算机接口技术概述

1. 接口电路的作用是什么?I/O接口应具备哪些功能?

所谓接口(Interface)就是微处理器CPU与外设的连接电路,是CPU与外界进行信息交换的中转站。具有如下功能:(1)数据缓冲功能;(2)接受和执行CPU命令的功能;(3)信号转换功能;(4)设备选择功能(即可寻址);(5)中断管理功能;(6)数据宽度变换功能;(7)可编程功能;(8)可复位(Reset)

2. 计算机与外设交换信息有几种方式?各有什么特点?

传送控制方式一般有四种,即程序控制方式、中断方式、DMA方式和处理机方式。

特点是:

1. 程序控制方式通常又分为无条件传送和条件传送两种方式。

无条件传送方式所需的条件就是:CPU与外设能准确同步。无条件传送方式一般只需要数据端口。

查询方式是先检查后传送,采用查询方式的接口一般需要两个端口,即数据端口和状态端口。

2.中断方式具有实时性。适于CPU任务较忙,I/O设备速度不太高的系统中,尤其是实时控制和紧急事件的处理。

3.DMA方式把I/O操作过程中外设与内存交换信息的控制交给了DMA控制器,实质上是在硬件控制下完成数据传输,大大提高了传输速率,这对大批量数据高速传送特别有用。

4.处理机方式专用I/O处理器能够直接存取系统主存储器,当CPU需要进行I/O操作时,就在内存中建立一个信息块,将所需要的操作和有关参数按规定列入,然后通知I/O处理器来读取。专用I/O处理器读得操作控制信息后,自动完成全部I/O操作。

3. 什么是I/O端口,CPU如何访问I/O端口?

通常把I/O接口电路中能被CPU直接访问的寄存器或某些特定的器件称之为端口。I/O端口是CPU与I/O设备直接通信的地址。CPU可以通过这些端口发送命令、读取状态和传送数据。在统一编址方式中,可以将I/O端口看作是内存单元来访问。独立编址方式中,处理器有专门的I/O指令访问I/O端口。

4. I/O寻址方式有几种?在地址译码电路中设AEN=0,这有何意义?

00~FFH范围内的端口,用端口直接寻址。端口地址大于255(FFH)的端口用DX间址,此时DX中内容是端口地址,称为端口间接寻址。

AEN参加译码,只有当AEN=0时,即不是DMA操作时,译码才有效;当AEN=1时,即DMA操作时,译码无效。从而避免了在DMA周期,由DMA控制器对这些外部设备进行读/写操作。

5. 总结各种地址译码电路的优缺点。

若接口电路中需要多个端口地址时,则采用译码器译码比较方便。门电路译码是一种最简单最基本的端口地址译码方法。如果用户要求端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则可以使用可选端口地址译码。

6. I/O端口地址译码一般原则是什么?

端口地址译码信号同IOR或IOW结合起来一同控制对I/O端口的读或写操作。

7. 图3.6中,通过DIP开关设定Q7~Q0为01110000B,写出当Y0=0时,读写端口地址。当Q7 ~Q0 为01110000B,Y7=0呢?

当DIP开关设定Q7~Q0为01110000B,Y0=0时,端口地址是380H。开关设定Q7~Q0为01110000B,Y1=0时,端口地址是387H。

8. 图3.5所示PC机系统板上的地址译码电路有何特点?写出PC机系统板上8259,8253,8255,8237的端口地址范围。

8259端口地址范围:20H~21H

8253端口地址范围: 40H~43H

8255端口地址范围:60H~63H

8237端口地址范围:00H~0FH

9. PC机可访问的I/O端口有1024个,为什么?

因为PC机I/O端口地址译码使用10根地址线A0~A9,所以PC机可访问的I/O端口有1024个(000H~3FFH)。

10. 图3.8所示电路,若地址线A9~A2为11001010B,所选单元存储数据为0H,则74LS138译码器输出地址有效地址范围是什么?若地址线A9~A2为11001000B,所选单元存储数据为6H呢?

若地址线A9~A2为11001010B,所选单元存储的数据为06H,则74LS138译码器,有效地址范围是328H~32BH

11. I/O端口寻址方式分两种,一种是存储器映射方式,即把统一编址,所以这种编址方式也称之为统一编址方式;另一种是I/O映射方式,即把分别进行独立编址,也称之为独立编址。

(1)端口地址与存储器地址;(2)I/O端口地址与存储器地址。

12. 统一编址和独立编址的优缺点各是什么?

统一编址:

独立编址:

统一编址不设专门的I/O指令,内存指令均可用于外设,能提供极大的方便;但I/O端口占用了内存地址,就相对减少了内存可用范围。

独立编址中内存地址和I/O端口地址相对独立,易于辨认内存和I/O端口的指令;但用于I/O端口的指令功能较弱,在I/O操作中必须通过CPU寄存器进行中转才能完成。

13. 程序查询I/O的流程总是按( )次序完成一个字符的传输。

A)读状态端口,写数据端口,读控制端口

B)写数据端口,读状态端口,写控制端口

C)读状态端口,读/写数据端口

D)随I/O接口具体要求而定

14. CPU对DMA控制器提出的总线请求响应要比中断请求响应快,其原因是( )。

A)只需完成访问内存操作

B)只需释放总线控制权

C)无须保留断点现场

D)有硬件控制器

15. PC系列微机系统支持的端口数目是个,其端口地址空间是从,其有效的译码地址是这根地址线。

(1)1024;(2)000~3FFH;(3)A0~A9;(3)10。

16. 在设计I/O设备接口卡时,选用I/O端口地址应注意些什么?

(1)被系统配置占用了的端口地址一律不能使用;

(2)未被系统占用的地址用户都可以使用,但对计算机厂家申明保留的地址不要使用;(3)用户可使用300H~31FH,这是PC系列微机留作实验卡用的。

17. I/O端口地址译码电路除了要受A0~A9这10根地址线所限定的地址范围之外,还要考虑下面的一些控制信号,请举两例:

(1)利用IOR、IOW信号控制对端口的读写。

(2)用OCS16信号控制是8位还是16位的I/O端口。

(3)用SBHE(或BHE)信号控制端口奇偶地址。

(4)用AEN信号控制非DMA传送。

18. 按照I/O地址译码电路采用的元器件来分,可分为译码、译码和译码;按译码电路的形式来看,又可分为译码和译码。

门电路;译码器;PLD;固定式;可选式。

19. 用门电路进行端口地址译码是一种最以简单最基本的端口地址译码方法。AEN参加译码,它对端口地址译码进行控制,只有当AEN=时,即时译码才有效,反之使译码无效。从而避免了在DMA周期,由DMA控制器对这些I/O端口地址的非DMA传送方式的外部设备进行读/写操作。

20. 3-8译码器74LS138是最常用的译码电路之一,它的3个输入控制端是G1、G2A、G2B,只有当G1=1,G2A=G2B=0时,才允许对输入端A、B、C进行译码。(请判断这段话的正

正确。

21. 若接口电路中需要使用多个端口地址时,则采用来译码比较方便。如果用户要求接口卡的端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则可以使用来译码。

A、门电路端口地址译码

B、译码器端口地址译码

C、开关式可选端口地址译码

B;C。

22. 下图所示译码电路,端口地址是。若要产生端口地址2C0H, 电路如何改?

答:2F0H ,A4、A5经非门接入。

23. 下图所示译码器译码电路,Y0端口地址范围是。Y1端口地址范围是。Y2端口地址范围是。Y3端口地址范围是。

答:000~01FH,020~03FH,040~05FH,060~07FH。

第4章并行输入/输出接口

1. 解释题:

(1)片选(2)可编程(3)联络信号(4)INTE

(5)OBF (6)IBF(7)STB (8)ACK

(1)片选

[答]可编程接口芯片都有一个"片选"端,通常以表示,片选是由一指定的I/O地址选中该接口芯片,以使其进入电路工作状态的过程。

(2)可编程。

[答]通过编制相应的程序段,用软件使通用的I/O接口芯片按不同的工作方式完成不同的接口任务;也可在工作过程中用软件对接口芯片进行实时、动态操作,改变工作方式,发送操作命令、读取接口芯片内部状态等。

(3)联络信号。

[答]在并行接口中,一般采用异步总线握手协议来控制CPU与外设之间数据传输的同步,所以并行接口通常要为每个数据端口提供两条控制线。一条是接口送往外设的控制线,另一条是外设送给接口的状态线,这一对信号线的有序配合,使CPU通过接口能实现同外设之间正确的数据传送。这一对保证数据同步传输的信号线称为"联络信号"或"握手信号"

(4)INTE。

[答]8255A的中断允许信号,既不是输入信号,也不是输出信号,是一个无外部引出端的位于8255A内部的中断允许触发器的状态位。通过软件(指令)对8255A中PC的位操作来设定INTE是"0"还是"1",以确定相应数据口能否用于中断传输。INTE="1",允许中断,INTE="0",屏蔽中断。

(5)OBF。[答]输出缓冲器满,8255A工作于方式1输出时发出的数据选通信号。="0"(有效电平)时,表示CPU已将数据送到8255A的PA口或PB口,并被锁存在相应端口上。当

外设返回响应信号时,被置"1"(无效)。

(6)IBF

[答]输入缓冲器满,8255A工作于方式1输入时,由8255A给外设的回答信号,表示外设输入的数据已写入输入缓冲器,通知外设暂不送新数。IBF由外设给8255A的选通信号变低后置为"H"(有效),由CPU的读信号信号清除("L")。

(7)STB。

[答]8255A工作于方式1输入时,外设给8255A的选通信号。="L"(有效)时,把输入数据锁存入相应的数据口(PA口或PB口)。

(8)ACK。

[答]8255A工作于方式1输出时,外设给8255A的应答信号。为"L"表示外设已从8255A相应端口接收到CPU输出的数据。

2. 8255A工作方式字和C口置位/复位控制字都是从控制端口写入,8255A是如何识别的?根据特征位来区分,D7=1是工作方式字,D7=0是C口置位/复位控制字。

3. 先解释8255置位/复位控制字的格式和各字段的含义,然后分别写出从PC7上发置位控制字,从PC6上发复位控制字的程序段(设8255的端口地址为60H--63H)。

用D3D2D1三位的编码与PC口的某一位相对应,对指定位进行的操作则由D0确定,如D0=1时,将指定位置"1"。D0=0则将指定位置"0"。

MOV AL,0FH ;设置PC7为"1"的控制字送AL

OUT 63H,AL ;将控制字送8255A控制寄存器

MOV AL,0CH ;设置PC6为"0"的控制字送AL

OUT 63H,AL ;将控制字送8255A控制寄存器。

4. 8255A工作于方式2,采用中断传送,CPU如何区分输入中断还是输出中断?

8255A工作于方式2,当其INTR向CPU发出中断请求时,如果CPU的IF=1,则CPU在执行完当前指令后,转入中断服务程序。在中断服务程序中可以查询8255A的状态字,判断OBF (PC7)和IBF(PC5)位的状态来区分是输入中断还是输出中断,并据此转向相应的输入或输出操作。

5. 8255A工作在方式1和方式2时,哪些引脚是联络线?这些联络线有效时代表什么物理意义?当CPU用查询方式与8255A交换信息时,应查询哪些信号?用中断方式交换信息时,利用哪些信号作为中断请求?

A,B两个口都设置为方式1输入时的情况如下图所示。A口所用的三个联络信号占用C口的PC3,PC4,PC5三个引脚,而B口则用了PC0,PC1和PC2三个引脚。联络信号的作用如下:

方式1输入端口状态:选通信号。由外部输入,低电平有效。

IBF:输入缓冲器满信号。向外部输出,高电平有效。

INTR:中断请求信号。向CPU输出,高电平有效。

方式1输出。A,B口方式1用作输出时,两组的联络信号如下图所示。其联络信号的作用如下:

OBF :输出缓冲器满信号。向外部输出,低电平有效。

ACK :外部应答信号。由外部输入,低电平有效。

INTR:中断请求信号。向CPU输出,高电平有效。

方式2端口状态如下图所示。

端口A工作在方式2的端口状态

INTR:中断请求信号。向本端CPU输入,高电平有效。

OBF:输出缓冲器满信号。向外部输出,低电平有效。

ACK:应答信号。由外部输入,低电平有效。

STB:数据选通信号。由外部输入,低电平有效。

IBF:输入缓冲器满信号。向外部输出,高电平有效。

当CPU用查询方式与8255A交换信息时,可查询INTR或OBF,IBF信号,用中断方式交换信息时,利用INTR信号作为中断请求。

6. 试说明8255A在方式1输入时的工作过程。

方式1的输入过程如下(A口):

当外设准备好数据,把数据送给8255A的同时,送来一个选通信号STB。8255A的A口数据锁存器在STB下降沿控制下将数据锁存。8255A向外设送出高电平的IBF,表示锁存数据已完成,暂时不要再送数据。如果PC4=1(INTEA=1),这时就会使INTR变成高电平输出,向CPU发出中断请求。CPU响应中断,执行IN指令把数据读走,RD信号的下降沿清除中断请求,而RD结束时的上升沿则使IBF复位到零。外设在检测到IBF为低电平后,可以输入下一个字节。

7. 试说明8255A在方式1输出时的工作过程。

8255A在方式1工作时的输出过程是由CPU响应中断开始(当输出设备接收CPU上次发出的数据后,发出ACK回答信号,使OBF="H"(无效)。若8255A的该端口在初始化时已"开中"--INTR="H"',则8255A向CPU发出中断请求,若CPU的IF=1,CPU在执行完当前指令后响应中断),在中断服务程序中用OUT指令通过8255A向外设输出数据,发出WR信号;WR 的上升沿清除INTR中断请求信号,且使OBF="L"(有效),通知外设取数;当外设接收数据后,发出ACK回答信号,一方面使OBF="H"(无效),另一方面在ACK信号的上升沿使INTR="H"(有效),以此向CPU发出新的中断请求,开始下一轮的输出。

8. 扼要说明8255A工作于方式0, 方式1和方式2时的区别。

方式0是基本输入/输出方式;方式1是选通输入/输出工作方式;方式2是选通双向方式。

第5章串口通信接口

1. 在串行通信中,按线路传输方式可分哪几种传输方式?各有什么特点?

按照数据流的方向及对线路使用方式可分为如下四种基本传输方式。

(1)单工(Simplex)传输方式

(2)半双工(Half-Duplex)传输方式

(3)全双工(Full-Duplex)传输方式

(4)多工传输方式

2. 串行通信按信号格式可分哪两种?它们的信息格式有何不同?

串行通信协议有两类:异步通信和同步通信。异步通信以一个字符为数据传输单位,包括特定附加位:起始位、奇偶位、停止位。同步通信一次传送由若干个字符组成的数据块。

3. 在串行通信中,常用的校验方式有哪两种?它们各自的校验原理是什么?

在基本通信规程中采用奇偶校验或方阵码检错。在高级通信控制规程中一般采用循环冗余码(CRC,Cycle Redundancy Code)检错和纠错。

4. 异步串行通信接口的基本功能和作用是什么?

串行通信接口的作用有二:一是并行接收来自CPU的数据,把它转换成串行的形式输出到外部设备中;二是串行接收外部设备送来的串行数据,把它转换成并行的形式送给CPU。

5. 在远距离串行通讯中,为什么要使用MODEM?其调制方法常用的有哪几种?

计算机在通信时,要求传输的是以"0","1"系列组成的数字信号。这种数字信号包含了从低频到高频的极其丰富的谐波信号,对它的传送要求传输线的频带很宽。而在进行远距离数据通信时,通信线路通常是借用已有的公用电话网,以降低通信成本。但是,这种电话线的频带宽度有限,通常为300~3300Hz,如果让数字信号直接在电话线上传送,高次谐波的衰减就会很厉害,从而使信号到了接收端后将发生严重的畸变和失真,所以在电话线上传送数字信号是不合适的。为此在发送时要对二进制数字信号进行调制,在接收时,还必须对音频信号进行解调,通信双方必须各接入一个调制解调器MODEM。

调制的方法按照调制技术的不同,有调幅(AM),调频(FM)和调相(PM)三种。6. 可编程串行通信接口芯片8251A有哪些主要特性?

1.通过编程,该芯片可以工作于同步方式或异步方式。工作于同步方式时,其波特率为0~64K,工作于异步方式时,其波特率为0~19.2K。

2.在同步方式时,每个字符可选5~8位数据位表示,并且其内部控制逻辑电路能自动检测同步字符和自动插入同步字符(当字符之间有间隔时)。此外,8251A也允许同步方式下增加奇/偶校验位进行校验。

3.在异步方式时,每个字符可选5~8位数据位表示,并且其内部控制逻辑电路能自动增加1位起始位,依编程可增加1位奇/偶校验位,选择1位,1.5位或2位停止位。

4.该芯片具有发送缓冲器和接收缓冲器,可工作于全双工方式。

5.该芯片具有出错检测功能,能自动检测到奇偶错、超越错和帧格式错。

7. 试简述8251A的内部结构及其工作过程。

8251A由发送器、接收器、数据总线缓冲器、读/写控制电路及调制解调控制电路等5部分组成。

其工作过程是:当发送器作好发送数据准备时,由发送控制电路向CPU发出有效信号,CPU立即向8251A并行输出数据。待发送器中的八位数据发送完毕时,由发送控制电路向CPU发出有效信号,表示发送器中移位寄存器已空。

接收时,外部通信数据从RxD端,逐位进入接收移位寄存器中。如果是同步方式,则要检测同步字符,确认已经达到同步,接收器才可开始串行接收数据,待一组数据接收完毕,便把移位寄存器中的数据并行置入接收缓冲器中;如果是异步方式,则应识别并删除起始位和停止位。这时RxRDY线输出高电平,表示接收器已准备好数据,等待CPU读取。

8. 什么叫波特率?什么叫波特率因子?设波特率为1200,波特率因子为64,则发送/接收时钟频率应为多少?

波特率表示数据传输速率,即1波特=lb/s。

波特率因子=(发送/接收时钟频率)÷(发送/接收波特率)

设波特率为1200,波特率因子为64,则发送/接收时钟频率应为1200×64=76.8KHz

9. 设异步通信时,每个字符对应一个起始位,七个信息位,一个奇/偶校验位何一个停止位,如果波特率为19200,则每秒钟能传输多少个字符?

则每秒钟能传输19200÷10=1920个字符。

10. 在RS-232C标准中,EIA电平与TTL电平不兼容。问EIA电平的逻辑1和0分别对应多少电压?其与TTL电平的转换通常采用什么器件来完成?

EIA电平的逻辑1和0分别对应-15V~-3V和+3V~+15V MC 1488,SN 75188芯片可完成TTL电平到EIA电平的转换,而MCl489,SN 75189芯片可实现EIA电平到TTL电平的转换。MAX 232芯片可完成TTL EIA双向电平转换。

11. 对8251A进行初始化编程时,必须遵守哪些约定?

(1)复位后第一次用奇地址(设A0接)端口写入的数值必为方式控制字,它被送往方式控制字寄存器中。

(2)若方式控制字中规定8251A工作于同步方式(即B1B0=00),则接着往奇地址端口写入的是1~2个同步字符(其具体个数取决于SCS位的状态),它们分别被送往同步字符寄存器。

(3)接着往奇地址端口写入操作命令控制字,把它送入操作命令控制字寄存器中。当然,若方式控制字规定8251A工作于异步方式,则免去第(2)步,即写入方式控制字后,接着写入操作命令控制字。

(4)往偶地址端口写入的是数据,它被送往发送缓冲寄存器。

12. 某系统中使用可编程串行接口芯片8251A工作于异步方式,7位数字,不带校验,2位停止位,波特率因子为64,允许发送也允许接收,清除状态寄存器的出错标志位,使RTS 和DTR为有效电平。若8251A的端口地址为A0H和A1H,试编写初始化程序。

初始化程序段:

XOR AL,AL

OUT 51H,AL ;连续给控制口发3次00H

OUT 51H,AL

OUT 51H,AL

MOV AL,40H ;命令字,内部复位

OUT 51H,AL

MOV AL,OCBH ;方式字,字符为7位,无校验,2位停止位,波特率因子为64

OUT 51H,AL

MOV AL,37H ;命令字,8251A工作于接收和发送状态,使RTS和DTR为低电平。

OUT 51H,AL

13. 设计一个采用异步方式发送256个数据的程序段,规定波特率因子为16,7位数据,1个奇校验,1个停止位。若8251A的端口地址为FFA0H和FFA1H,使发送器、接收器启动,清除状态寄存器的出错标志位,缓冲区首地址为6000H:0000H。

发送程序

DATA SEGMENT

SOUR DB XX,YY,…

COUNT DB 256

DATA ENDS

STACK SEGMENT

SPACE DW 256 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START:MOV AX,DATA

MOV DS,AX ;设置数据段寄存器初值

MOV AX,STACK

MOV SS,AX ;设置堆栈段寄存器初值

MOV DX,0FFA1H ;8251A控制端口

MOV AL,00H

OUT DX,AL

NOP

NOP

MOV AL,00H

OUT DX,AL

NOP

NOP

MOV AL,00H

OUT DX,AL ;连续给控制口发3次00H

NOP

NOP

MOV AL,40H ;命令字,复位8251A

OUT DX,AL

NOP

NOP

MOV AL,5AH ;方式字,字符7位,奇校验,1位停止位,波特率因子为16

OUT DX,AL

MOV AL,15H ;命令字,清除出错标志位,允许发送,允许接收

OUT DX,AL

MOV DI,OFFSET SOUR ;置发送数据缓冲区首址

MOV CX,COUNT ;数据块长度

NEXT:MOV DX,0FFA1H ;8251A状态口

IN AL,DX ;读状态字

AND AL,01 ;检测状态字的D0位(TxRDY=1?)

JZ NEXT ;发送未准备好,则等待

MOV DX,0FFA0H ;8251A的数据端口

MOV AL,[DI]

OUT DX,AL ;从发送缓冲区取一字节数据送8251A

INC DI ;修改地址指针

LOOP NEXT ;未发送完,则继续发送

MOV AX,4C00H ;全部发送完毕,返回DOS

INT 21H

CODE ENDS

END START

14. 设另一计算机系统通过8251A和上题的串行发送器进行通信。假设其硬件和规定参数为相同的条件下,试编写出该系统接收256个数据的程序段。

接收程序:

DATA SEGMENT

SOUR DB XX,YY,…

COUNT DB 256

DATA ENDS

STACK SEGMENT

SPACE DW 256 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START:MOV AX,DATA

MOV DS,AX ;设置数据段寄存器初值

MOV AX,STACK

MOV SS,AX ;设置堆栈段寄存器初值

MOV DX,0FFA1H ;8251A控制端口

MOV AL,00H

OUT DX,AL

NOP

NOP

MOV AL,00H

OUT DX,AL

NOP

NOP

MOV AL,00H

OUT DX,AL ;连续给控制口发3次00H

NOP

NOP

MOV AL,40H ;命令字,复位8251A

OUT DX,AL

NOP

NOP

MOV AL,5AH ;方式字,字符7位,奇校验,1位停止位,波特率因子为16 OUT DX,AL

MOV AL,04H ;命令字,允许接收

OUT DX,AL

MOV DI,OFFSET SOUR ;置发送数据缓冲区首址

MOV CX,COUNT ;数据块长度

COMT:MOV DX,0FFA1H

IN AL,DX ;读状态字

ROR AL,1

ROR AL,1

JNC COMT ;接收未准备好,则等待

ROR AL,1

ORL AL,1

JC ERR ;奇/偶有错,则转出错处理程序

MOV DX,0FFA0H

IN AL,DX

MOV [DI],AL ;接收一个字节并存入存储单元

INC DI

LOOP COMT ;接收未完,继续接收

MOV AX,4C00H ;接收完毕

INT 21H ;返回DOS

第6章计数器/定时器

1、定时和计数在微机应用系统中有什么用途?

微处理器通过计数器/定时器获得必要的时钟信息和延迟、同步控制功能。

2、请说明8253各个计数通道中三个引脚信号CLK,OUT和GATE的功能。

CLK:时钟信号,作用是在8253进行定时或计数工作时,每输入一个时钟信号CLK,使定时或计数值减1。它是计量的基本时钟。

GATE:作用是用来禁止、允许或开始计数过程。对8253的6种不同工作方式,GATE信号的控制作用不同。

OUT:作用是当定时或计数值减为0时,即在OUT线上输出一信号、用以指示定时或计数已到。其输出波形随工作方式不同而不同。

3、简述8253的方式2与方式3的工作特点。

这两种方式共同的特点是具有自动再加载能力。即减1至0时初值寄存器的内容又被自动装入减1计数器,继续计数,于是OUT可输出连续的波形。

4、简述8253的方式1与方式5的工作特点。

这两种方式共同的特点是GATE的上升沿开始计数。

5、8253在写入计数初值时,二进制计数和十进制计数有无区别?若有,有何区别?

如果在方式控制字中的BCD位为1,BCD计数,在写入指令中还必须写成十六进制数。例如计数初值为50,采用BCD计数,则指令中的50必须写为50H。只有这样CPU给计数器写入的才是50,否则CPU给计数器写入的是32。

6、8253的通道0按方式3工作,时钟CLK0 频率为1MHZ ,要求输出方波频率为40KHZ ,计数初值应该是多少?如何编写初始化程序?

数初值应该是多少?如何编写初始化程序?(设端口地址是40H~43H)则计数初值就为1×106/40000=25。初始化程序如下:

MOV AL,17H ;通道0方式设定

OUT 43H,AL

MOV AL,25H ;通道0计数初值

OUT 40H,AL

7、6.3.2的用8253-5监视生产流水线的应用实例中,若通道0和1都采用2进制计数,扬声器的发声频率为500周,问程序如何改动。

计数初值就为2.5×106/500=5000

主程序为:

MOV AL,14H ;方式字

OUT 43H,AL ;写入控制口

MOV AL,50 ;计数初值

OUT 40H,AL ;写入通道0

LOP:STI ;开中断

HLT ;等待中断

JMP LOP

中断服务程序为:

MOV AL,01H ;8255A的PA0置1,启动计数

OUT 80H,AL

MOV AL,76H ;通道1方式字

OUT 43H,AL ;写入控制口

MOV AX,5000 ;计数初值

OUT 41H,AL ;写入通道1

MOV AL,AH ;计数初值高8位

OUT 41H,AL ;写入通道1

CALL DL5S ;延时5钞

MOV AL,001 ;8255A的PA0置0,停止计数

OUT 80H,AL

IRET

第7章中断技术

1. 什么叫中断?简述一个中断的全过程。

所谓中断,是指CPU在正常运行程序时,由于内部或外部事件以及由程序的预先安排所引起的CPU暂停正在运行的程序,而转去执行相应的中断服务程序,服务完毕,再返回被打断的程序继续执行。

2. 什么是中断矢量?8086/8088的中断类型号是多少?它与中断矢量表的关系是什么?中断矢量表设在存储区的什么位置?

所谓中断矢量就是指中断服务程序的第一个可执行语句所在的地址,也是中断服务程序唯一确定的入口地址。

中断类型号(或称中断类型码)则是CPU对每一个中断源所指定的编号。8086/8088CPU的中断系统最多能处理256个中断源,这256个中断源对应的中断类型号为00~FFH

把所有的中断矢量集中起来,按中断类型号从小到大的顺序放在存储器的某一个区域内,这个存放中断矢量的存储区就称为中断矢量表。8086/8088CPU以存储器的0000~03FFH(共1024个单元)作为中断矢量表的地址。由于每个中断矢量占用4个存储单元,故中断类型号与中断矢量表的关系是:中断类型号×4则指向中断类型号所对应的中断矢量

3. 设置中断优先级的目的是什么?IBM-PC/XT的中断系统可处理哪几种中断源?它们的优先级是怎样排列的?

设置中断优先级的目的是当微机系统有多个中断源时,有时会出现几个中断源同时提出中断请求的情况,为此,我们应该根据任务的轻重缓急,给每个中断源指出一个优先级(也称优先权),以便当多个中断源同时发出中断请求时,CPU能按照它们的优先权顺序依次响应。

IBM-PC/XT的中断系统可处理的中断源有内部中断,NMI,INTR等。

中断的优先权按从高到低的顺序排列为:除法出错中断――>INT n――>溢出中断――>断点中断――>NMI――>INTR――>单步。

4. 什么是非屏蔽中断?什么是可屏蔽中断?它们得到CPU响应的条件是什么?

对NMI请求的响应不受中断标志位的控制,故称非屏蔽中断。

8086/8088CPU是否响应INTR的请求,取决于中断允许标志位IF的状态。若IF=1,则响应INTR请求,暂停现行后续指令的执行,转去执行中断服务程序;若IF=0,则不会响应INTR的请求。故称可屏蔽中断。

NMI得到CPU响应的条件是:只要输入脉冲有效宽度(高电平持续时间)大于两个时钟周期,就能被8086/8088锁存。一条指令结束后得到CPU响应

INTR得到CPU响应的条件是:IF=1而且该信号必须在中断请求被接受前保持有效。

5. 8259A的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合?

8259A的全嵌套方式特点是:其中断优先级是固定的,即IR0最高,IR1其次,依次排列下去,IR7优先级最低;且仅允许优先级高的中断请求才可打断优先级低的中断服务程序。

特殊全嵌套方式特点是:在主从级联的情况下,从片的INT输出连接主片的某一根IRi输入端,当从片中有优先级较低的中断服务程序正在处理的时候,从片又有优先级较高的中断请求到来,此时从片又通过其INT输出端向主片发出中断请求信号,但对主片而言,同一从片上来的中断请求都是同级的,若采用普通全嵌套方式,新上来的中断请求是不能打断同级的中断服务程序的,为此,8259A设置了一种特殊全嵌套方式。

在特殊全嵌套方式下,对主片而言,允许同等级别的优先级实现全嵌套,但对从片而言,新上来的中断请求,在级别上高于正在处理的中断。

6. 8259A的普通屏蔽方式与特殊屏蔽方式有什么不同?特殊屏蔽方式一般用在什么场合?

普通屏蔽方式不能屏蔽正在处理的中断服务程序。在特殊屏蔽方式下,好象优先权已不起作用一样,只要未被屏蔽的中断请求到来,不论其优先级高低,CPU都会响应。使用该方式的目的,就在于防止优先级高的外设长期占用总线。

7. 8259A的优先级自动循环方式与优先级特殊循环方式有什么差别?

自动循环方式特点是:在初始化后,本片8个中断源的优先级从高至低排序为:IR0,IR1,IR2,…IR6,IR7。但当IRi的中断请求被响应后,IRi优先级自动排在最后。优先级特殊循环方式特点是:初始化后,该方式的8个中断源的优先级别最低的中断请求序号是由OCW2中的L2L1L0的数值指定的。

8. 8259A结束中断处理的方式有几种?各自适用什么场合?除了中断自动结束方式以外,其他情况下如果没有在中断服务子程序中发中断结束命令,将会出现什么问题?

⑴自动结束方式,即自动EOI方式。

⑵一般结束方式,这是非自动EOI方式的一种。

⑶特殊结束方式,这是非自动EOI方式的另一种。

采用自动结束方式的目的在于可使新的程序员避免在中断服务程序中忘记发中断结束命令而导致优先级较低的中断请求无法得到响应的情况。

一般结束方式适合于单片8259A而且优先权全嵌套方式的场合。

在特殊屏蔽和优先级特殊循环方式,8259A都无法确定优先权高低。在此情况下,若继续使用一般结束命令,就不能正确地把ISR的对应位复位。为此,只能使用特殊结束方式。

9. 8259A引入中断请求的方式有几种?若对8259A采用中断查询方式引入中断请求,试讲述该引入中断请求的过程和其适用的场合。

8259A引入中断请求的方式有三种:⑴电平触发方式⑵边沿触发方式⑶中断查询方式

中断查询方式适用的场合是:当系统的中断源超过64个时,或者对某些不便采用级联的场合,再扩展的8259A(如第10片),其IRi虽仍按规定输入触发信号,但因该片的INT端不能连至CPU的INTR端,故CPU只能靠软件查询的方式来确定中断源,该方式称为中断查询方式。

10 8259A的初始化命令字有哪几个?它们各有什么含义?哪几个应写入奇地址?哪

几个应写入偶地址?

8259A的初始化命令字有:⑴ICW1-芯片控制的初始化命令字;⑵ICW2-设置中断类型号的初始化命令字⑶ICW3-标志主/从片的初始化命令字⑷ICW4-方式控制初始化命令字写入奇地址:ICW2,ICW3,ICW4 写入偶地址:ICW1

11 8259A的操作命令字有哪几个?它们各位的含义是什么?

8259A的操作命令字有:

OCW1-中断屏蔽操作命令字,1对应屏蔽,0对应允许

OCW2-设置优先级循环及结束方式的操作命令字

OCW2格式:

OCW3-设置特殊屏蔽、中断查询和读内部寄存器的操作命令字

OCW3格式

12 8259A的ICW2设置了中断类型号的哪几位?说明对8259A分别设置ICW2为60H,68H,66H有什么差别?

8259A的ICW2设置了中断类型号的高5位,设置ICW2为60H,66H效果是一样的,中断类型号范围是60H~67H。设置ICW2为68H,中断类型号范围是68H~6FH。

13

试按如下要求对8259A设置初始化命令字:系统中有一片8259A,中断请求信号用电平触发方式,下面要ICW4,中断类型号为60H,61H,62H。。。。。。67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。假设8259A的端口地址为20H和21H。

初始化程序段:

MOV AL,1BH ;ICW1电平触发,单片,有ICW4

OUT 20H,AL

MOV AL, 60H ;中断类型号为60H,61H,62H…67H

OUT 21H,AL

MOV AL,13H ;ICW4,非缓冲,8086方式,自动结束方式

OUT 21H,AL

14

怎样用8259A的屏蔽命令字来禁止IR2和IR4引脚上的请求?又怎样撤消这一禁止命令?设8259A的端口地址为20H和21H,试写出这两段汇编语言程序段。

禁止IR2和IR4引脚上的请求程序段:

IN AL,21H

OR AL,14H

OUT 21H,AL

撤消这一禁止命令程序段:

IN AL,21H

AND AL,0EBH

OUT 21H,AL

第9章D/A和A/D转换器接口

1. 模/数转换期间要求模拟信号保持稳定,因此当输入信号变化速率较快时,都应采用电路。

采样保持

2. 把采样后的模拟信号转换成数字信号,这是A/D转换,A/D转换就是的过程。

量化

3. 根据采样定理,当采样器的采样频率高于或等于连续信号的最高频率倍时,原信号才能通过采样器无失真地复现出来。

4. DAC0832内部采用输入数据的方式以提高转换速率,同时可构成多片DAC0832同时输出模拟量的系统。

两次缓冲

5. ADC0809是一种的A/D转换器,采用进行A/D转换。

微机接口课后练习答案

第1章80x86微处理器体系结构 1. 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 2. CPU在内部结构上由哪几部分组成?各部分具备哪些主要功能? 8086/8088CPU在内部结构上设计为两个独立的功能部件:执行部件EU和总线接口部件BIU。EU负责全部指令的执行,向BIU提供数据和所需访问的内存或I/O端口的地址,并对通用寄存器、标志寄存器和指令操作数进行管理。BIU是CPU同存储器和I/O设备之间的接口部件,负责CPU与存储器和I/O端口传送信息。 3. 8086状态标志和控制标志分别有哪些?程序中如何利用这些标志? 6位状态标志为: ⑴符号标志SF:若运算结果的最高位为1。则SF=1,否则为0。 ⑵零标志ZF:若运算结果为零,则ZF=1,否则ZF=0。 ⑶奇偶标志PF:若指令的执行结果低8位中"1"的个数为偶数,则PF=1,否则为0。 ⑷进位标志CF:当执行一个加法运算使最高位(字节操作的D7或字操作的D15)产生进位,或执行减法运算使最高位产生借位时,则CF=1,否则CF=0。 ⑸辅助进位标志AF:当执行加法运算时,D3位向D4有进位,或作减法运算时,D3位向D4有借位,则AF=1,否则为0。 ⑹溢出标志OF:在算术运算中,当补码运算结果超出了带符号数的表达范围,即字节运算的结果超出-128~+127,或者字运算结果超出-32768~+32767时,OF=1,否则为0。 3位控制标志为: ⑴方向标志DF:这是处理串操作指令中信息方向的标志。若DF=1,则串操作指令按自动减址操作,即串操作从高地址向低地址方向进行处理;若DF=0,则使串操作指令按自动增量修改地址指针,即串操作从低地址向高地址方向进行处理。 ⑵中断允许标志IF:该标志用于对可屏蔽中断进行控制,若IF=0,则CPU拒绝外部INTR中断请求,本标志对内部中断和不可屏蔽中断不起作用。 ⑶跟踪标志TF:若设置TF=1,则CPU按单步方式执行指令,以调试程序。 4. 简述8086主要控制信号M/IO,WR,RD,ALE,INTR,INTA ,NMI的意义。 M/IO为高电平时,是存储器周期;M/IO为低电平时,是I/O周期。 WR:写作中在T2~T3周期为低电平 RD:读操作中在T2~T3周期为低电平 ALE:地址锁存允许信号(输出),这是8086CPU在总线周期的第一个时钟周期内发出的正脉冲信号,其下降沿用来把地址/数据总线(AD15~AD0)以及地址/状态总线(A19/S6~A16/S3)中的地址信息锁存入地址锁存器中。 INTR:可屏蔽中断请求信号。在每条指令的最后一个时钟周期,8086CPU将采样该引脚信号,若INTR为高电平,且8086CPU的IF为"1",则8086CPU将执行一个中断响应时序,控制转移到相应的中断服务程序。如果IF="0",则8086不响应该中断请求,继续执行下一条指令。即INTR信号可由软件复位CPU内部的IF位而加以屏蔽。 INTA:为中断响应信号(输出、三态),当8086CPU响应来自INTR引脚的可屏蔽中断请求时,在中断响应周期内,INTA变为低电平。 NMI:不可屏蔽中断请求信号(输入)。当NMI从低电平变为高电平时,该信号有效,8086CPU 在完成当前指令后,转移到不可屏蔽中断服务程序。 5. 中断响应过程中,8086向8259发两个INTA信号,分别起什么作用? 8086CPU在响应中断时CPU执行两个中断响应周期INTA,在第一个中断响应周期INTA负脉冲作为对中断请求设备的响应;第二个中断响应周期INTA负脉冲,通知中断请求设备把中

微机接口课后习题答案

2.3 8086对存储器的管理为什么采用分段的办法 答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩 大对存储器的寻址范围(1MB,20位地址).若不用分段方法,16位地址只能寻址64KB空间. 2.13 80386内部结构由哪几部分组成简述各部分的作用. 答:80386内部结构由执行部件(EU),存储器管理部件(MMU)和总线接口部件(BIU)三部分组成.EU包括指令预取部件,指令译码部件,控制部件,运算部件及保护检测部件,主要功 能是执行指令.存储器管理部件包括分段部件,分页部件,实现对存储器的分段分页式的管理,将逻辑地址转换成物理地址.总线接口部件作用是进行片外访问:对存储器及I/O接口的访问,预取指令;另外的作用是进行总线及中断请求的控制 3.1 8086/8088微处理器有哪些寻址方式并写出各种寻址方式的传送指令2条 (源操作数和目的操作数寻址). 答:寻址方式是指计算机在执行指令时寻找操作数的方式.8086/8088微处理器有以下几种寻址方式: ①立即寻址.操作数(仅限源操作数)直接放在指令中.例如:mov cx,100;mov ah,20h. ②寄存器寻址.操作数在CPU的内部寄存器中.例如:mov es,ax;mov dl,bh. ③直接寻址.指令中直接给出了操作数的偏移地址.例如:mov ax,[3000h];mov buf,100. ④寄存器间接寻址.操作数的偏移地址放在寄存器bp,bx,si,di四个寄存器中的一个 里.例如:mov ax,[si];mov [bx],cx. ⑤寄存器相对寻址.操作数的有效地址为基址寄存器或变址寄存器的内容与指令中指定的位移量之和.例如:mov ax,cnt[si];mov str[bx],ax. ⑥基址变址寻址.操作数的有效地址是一个基址寄存器和一个变址寄存器的和.例如: mov ax,[si+bx];mov [bx+di],dx. ⑦相对基址变址寻址.操作数的有效地址为一个基址寄存器,一个变址寄存器的内容与 指令中指定的位移量三者之和.例如:mov ax,cnt[bx][si];mov cnt[bx][si],ax. 3.5 简述堆栈的性质.如果SS=9B9FH,SP=200H,连续执行两条PUSH指令后, 栈顶的物理地址是多少SS,SP的值是多少再执行一条POP指令后,栈顶的 物理地址又是多少SS,SP的值又是多少 答:先进后出. 9BBF0H-4=9BBECH 9BBECH+2=9BBEEH 3.11 如果要将AL中的高4位移至低4位,有几种方法请分别写出实现这些方 法的程序段. 答:①循环左移 mov cl,4 rol al,cl ②循环右移 mov cl,4 ror al,cl ③右移 mov cl,4 shr al,cl 4.1汇编语言有何特点编写汇编语言源程序时,一般的组成原则是什么

相关文档
相关文档 最新文档