微机接口课后练习答案.doc_第1页
微机接口课后练习答案.doc_第2页
微机接口课后练习答案.doc_第3页
微机接口课后练习答案.doc_第4页
微机接口课后练习答案.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第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:写作中在T2T3周期为低电平RD:读操作中在T2T3周期为低电平ALE:地址锁存允许信号(输出),这是8086CPU在总线周期的第一个时钟周期内发出的正脉冲信号,其下降沿用来把地址/数据总线(AD15AD0)以及地址/状态总线(A19/S6A16/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位AD7AD06. 根据8086存储器读、写时序图,回答如下问题(1)地址信号在哪段时间内有效?(2)读操作与写操作的区别?(3)存储器读、写时序同I/O读、写时序的区别?(1)地址信号A0A19在T1周期有效。(2)读操作与写操作的主要区别为: DT/ 控制信号在读周期中为低电平,在写周期中为高电平。 在读周期中 控制信号在T2T3周期为低电平(有效电平), 信 号始终为高电平(无效电平);在写周期中 控制信号在T2T3周期为低电平(有效电平), 信号始终为高电平(无效电平)。 在读周期中,数据信息一般出现在T2周期以后,双重总线AD0AD15上 的地址信号有效和数据信息有效之间有一段高阻态,因为AD0AD15上的 数据必须在存储芯片(或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端口?通常把IO接口电路中能被CPU直接访问的寄存器或某些特定的器件称之为端口。IO端口是CPU与IO设备直接通信的地址。CPU可以通过这些端口发送命令、读取状态和传送数据。在统一编址方式中,可以将IO端口看作是内存单元来访问。独立编址方式中,处理器有专门的IO指令访问I/O端口。4. I/O寻址方式有几种?在地址译码电路中设AEN=0,这有何意义? 00FFH范围内的端口,用端口直接寻址。端口地址大于255(FFH)的端口用DX间址,此时DX中内容是端口地址,称为端口间接寻址。 AEN参加译码,只有当AEN0时,即不是DMA操作时,译码才有效;当AEN1时,即DMA操作时,译码无效。从而避免了在DMA周期,由DMA控制器对这些外部设备进行读写操作。5. 总结各种地址译码电路的优缺点。若接口电路中需要多个端口地址时,则采用译码器译码比较方便。门电路译码是一种最简单最基本的端口地址译码方法。如果用户要求端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则可以使用可选端口地址译码。6. I/O端口地址译码一般原则是什么?端口地址译码信号同IOR或IOW结合起来一同控制对IO端口的读或写操作。7. 图3.6中,通过DIP开关设定Q7Q0为01110000B,写出当Y00时,读写端口地址。当Q7 Q0 为01110000B,Y70呢?当DIP开关设定Q7Q0为01110000B, Y0=0时,端口地址是380H。开关设定Q7Q0为01110000B,Y1=0时 ,端口地址是387H。8. 图3.5所示PC机系统板上的地址译码电路有何特点?写出PC机系统板上8259,8253,8255,8237的端口地址范围。8259端口地址范围:20H21H8253端口地址范围: 40H43H8255端口地址范围:60H63H8237端口地址范围:00H0FH9. PC机可访问的I/O端口有1024个,为什么?因为PC机I/O端口地址译码使用10根地址线A0A9,所以PC机可访问的I/O端口有1024个(000H3FFH)。10. 图3.8所示电路,若地址线A9A2为11001010B,所选单元存储数据为0H,则74LS138译码器输出地址有效地址范围是什么?若地址线A9A2为11001000B,所选单元存储数据为6H呢?若地址线A9A2为11001010B,所选单元存储的数据为06H,则74LS138译码器 ,有效地址范围是328H32BH11. 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)0003FFH;(3)A0A9;(3)10。16. 在设计I/O设备接口卡时,选用I/O端口地址应注意些什么?(1)被系统配置占用了的端口地址一律不能使用;(2)未被系统占用的地址用户都可以使用,但对计算机厂家申明保留的地址不要使用;(3)用户可使用300H31FH,这是PC系列微机留作实验卡用的。17. I/O端口地址译码电路除了要受A0A9这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,只有当G11,G2AG2B0时,才允许对输入端A、B、C进行译码。(请判断这段话的正误) 正确。21. 若接口电路中需要使用多个端口地址时,则采用 来译码比较方便。如果用户要求接口卡的端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则可以使用 来译码。A、门电路端口地址译码 B、译码器端口地址译码C、开关式可选端口地址译码 B; C。22. 下图所示译码电路,端口地址是 。若要产生端口地址2C0H, 电路如何改? 答:2F0H ,A4、A5经非门接入。23. 下图所示译码器译码电路,Y0端口地址范围是 。Y1端口地址范围是 。Y2端口地址范围是 。Y3端口地址范围是 。 答:00001FH,02003FH,04005FH,06007FH。第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的控制字送ALOUT 63H,AL ;将控制字送8255A控制寄存器MOV AL,0CH ;设置PC6为0的控制字送ALOUT 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系列组成的数字信号。这种数字信号包含了从低频到高频的极其丰富的谐波信号,对它的传送要求传输线的频带很宽。而在进行远距离数据通信时,通信线路通常是借用已有的公用电话网,以降低通信成本。但是,这种电话线的频带宽度有限,通常为3003300Hz,如果让数字信号直接在电话线上传送,高次谐波的衰减就会很厉害,从而使信号到了接收端后将发生严重的畸变和失真,所以在电话线上传送数字信号是不合适的。为此在发送时要对二进制数字信号进行调制,在接收时,还必须对音频信号进行解调,通信双方必须各接入一个调制解调器MODEM。 调制的方法按照调制技术的不同,有调幅(AM),调频(FM)和调相(PM)三种。6. 可编程串行通信接口芯片8251A有哪些主要特性?1 通过编程,该芯片可以工作于同步方式或异步方式。工作于同步方式时,其波特率为064K,工作于异步方式时,其波特率为019.2K。2 在同步方式时,每个字符可选58位数据位表示,并且其内部控制逻辑电路能自动检测同步字符和自动插入同步字符(当字符之间有间隔时)。此外,8251A也允许同步方式下增加奇/偶校验位进行校验。3 在异步方式时,每个字符可选58位数据位表示,并且其内部控制逻辑电路能自动增加1位起始位,依编程可增加1位奇/偶校验位,选择1位,1.5位或2位停止位。4 该芯片具有发送缓冲器和接收缓冲器,可工作于全双工方式。5 该芯片具有出错检测功能,能自动检测到奇偶错、超越错和帧格式错。7. 试简述8251A的内部结构及其工作过程。 8251A由发送器、接收器、数据总线缓冲器、读写控制电路及调制解调控制电路等5部分组成。 其工作过程是:当发送器作好发送数据准备时,由发送控制电路向CPU发出 有效信号,CPU立即向8251A并行输出数据。待发送器中的八位数据发送完毕时,由发送控制电路向CPU发出 有效信号,表示发送器中移位寄存器已空。 接收时,外部通信数据从RxD端,逐位进入接收移位寄存器中。如果是同步方式,则要检测同步字符,确认已经达到同步,接收器才可开始串行接收数据,待一组数据接收完毕,便把移位寄存器中的数据并行置入接收缓冲器中;如果是异步方式,则应识别并删除起始位和停止位。这时RxRDY线输出高电平,表示接收器已准备好数据,等待CPU读取。8. 什么叫波特率?什么叫波特率因子?设波特率为1200,波特率因子为64,则发送/接收时钟频率应为多少? 波特率表示数据传输速率,即1波特lbs。 波特率因子 =(发送接收时钟频率)(发送接收波特率) 设波特率为1200,波特率因子为64,则发送/接收时钟频率应为120064=76.8KHz9. 设异步通信时,每个字符对应一个起始位,七个信息位,一个奇/偶校验位何一个停止位,如果波特率为19200,则每秒钟能传输多少个字符? 则每秒钟能传输1920010=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工作于同步方式(即B1B000),则接着往奇地址端口写入的是12个同步字符(其具体个数取决于SCS位的状态),它们分别被送往同步字符寄存器。(3) 接着往奇地址端口写入操作命令控制字,把它送入操作命令控制字寄存器中。当然,若方式控制字规定8251A工作于异步方式,则免去第(2)步,即写入方式控制字后,接着写入操作命令控制字。(4) 往偶地址端口写入的是数据,它被送往发送缓冲寄存器。12. 某系统中使用可编程串行接口芯片8251A工作于异步方式,7位数字,不带校验,2位停止位,波特率因子为64,允许发送也允许接收,清除状态寄存器的出错标志位,使RTS和DTR为有效电平。若8251A的端口地址为A0H和A1H,试编写初始化程序。初始化程序段:XOR AL,ALOUT 51H,AL ;连续给控制口发3次00HOUT 51H,ALOUT 51H,ALMOV AL,40H ;命令字,内部复位OUT 51H,ALMOV AL,OCBH ;方式字,字符为7位,无校验,2位停止位,波特率因子为64OUT 51H,ALMOV AL,37H ;命令字,8251A工作于接收和发送状态,使RTS和DTR为低电平。OUT 51H,AL13. 设计一个采用异步方式发送256个数据的程序段,规定波特率因子为16,7位数据,1个奇校验,1个停止位。若8251A的端口地址为FFA0H和FFA1H,使发送器、接收器启动,清除状态寄存器的出错标志位,缓冲区首地址为6000H:0000H。发送程序DATA SEGMENTSOUR DB XX,YY,COUNT DB 256DATA ENDSSTACK SEGMENTSPACE DW 256 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: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位(TxRDY1?) 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 START14. 设另一计算机系统通过8251A和上题的串行发送器进行通信。假设其硬件和规定参数为相同的条件下,试编写出该系统接收256个数据的程序段。 接收程序:DATA SEGMENTSOUR DB XX,YY,COUNT DB 256DATA ENDSSTACK SEGMENTSPACE DW 256 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: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 , 计数初值应该是多少?如何编写初始化程序?数初值应该是多少?如何编写初始化程序?(设端口地址是40H43H) 则计数初值就为1106/40000=25。 初始化程序如下:MOV AL,17H ;通道0方式设定OUT 43H,ALMOV AL,25H ;通道0计数初值OUT 40H,AL7、6.3.2的用8253-5监视生产流水线的应用实例中,若通道0和1都采用2进制计数,扬声器的发声频率为500周,问程序如何改动。计数初值就为2.5106/500=5000主程序为: MOV AL,14H ;方式字 OUT 43H,AL ;写入控制口 MOV AL,50 ;计数初值 OUT 40H,AL ;写入通道0LOP: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,ALIRET第7章 中断技术1. 什么叫中断?简述一个中断的全过程。所谓中断,是指CPU在正常运行程序时,由于内部或外部事件以及由程序的预先安排所引起的CPU暂停正在运行的程序,而转去执行相应的中断服务程序,服务完毕,再返回被打断的程序继续执行。2. 什么是中断矢量?8086/8088的中断类型号是多少?它与中断矢量表的关系是什么?中断矢量表设在存储区的什么位置? 所谓中断矢量就是指中断服务程序的第一个可执行语句所在的地址,也是中断服务程序唯一确定的入口地址。 中断类型号(或称中断类型码)则是CPU对每一个中断源所指定的编号。8086/8088CPU的中断系统最多能处理256个中断源,这256个中断源对应的中断类型号为00FFH 把所有的中断矢量集中起来,按中断类型号从小到大的顺序放在存储器的某一个区域内,这个存放中断矢量的存储区就称为中断矢量表。8086/8088CPU以存储器的000003FFH(共1024个单元)作为中断矢量表的地址。由于每个中断矢量占用4个存储单元,故中断类型号与中断矢量表的关系是: 中断类型号4则指向中断类型号所对应的中断矢量3. 设置中断优先级的目的是什么?IBM-PC/XT的中断系统可处理哪几种中断源?它们的优先级是怎样排列的? 设置中断优先级的目的是当微机系统有多个中断源时,有时会出现几个中断源同时提出中断请求的情况,为此,我们应该根据任务的轻重缓急,给每个中断源指出一个优先级(也称优先权),以便当多个中断源同时发出中断请求时,CPU能按照它们的优先权顺序依次响应。 IBM-PC/XT的中断系统可处理的中断源有内部中断,NMI,INTR等。 中断的优先权按从高到低的顺序排列为:除法出错中断INT n溢出中断断点中断NMIINTR单步。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结束中断处理的方式有几种?各自适用什么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论