《2022年现代微型计算机原理与接口技术习题解答.docx》由会员分享,可在线阅读,更多相关《2022年现代微型计算机原理与接口技术习题解答.docx(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 习 题 五1 接口电路与外部设备之间传送的信号有哪几种?传输方向怎样 ?数据信号:对于输入设备,数据信号从外设通过接口送往总线,对于输出设备,数据信 号从总线通过接口发往外部设备;状态信号:状态信号说明外部设备当前的工作状态,用来和谐 CPU 与外部设备之间的 操作;状态信号总是从外部设备通过接口发往总线;掌握信号 :掌握信号是CPU 向外设发出的命令,它指定设备的工作方式,启动或停止设备;掌握信号从 CPU 通过接口发往外部设备;2 接口电路有哪些功能?哪些功能是必需的?接口电路可以具备:设备挑选功能、信息传输功能、数据格式转换功能、联络功能
2、、中断治理功能、复位功能、可编程功能和错误检测等功能;其中设备挑选功能和信息传输功 能是每一个接口电路所必备的;其他的功能是否需要就由设备的特点和工作方式打算;3 I/O 端口的编址有哪几种方法?各有什么利弊?I/O 端口的编址有两种不同的方式;80X86系列 CPU 采纳哪种方法?I/O 端口与内存统一编址:把内存的一部分地址安排给 I/O 端口,一个 8位端口占用一个内存单元地址;已经用于 I/O 端口的地址,储备器不能再使用;I/O 端口与内存统一编址后,拜访内储备器单元和 低 CPU 电路的复杂性,并给使用者供应便利;但是,I/O 端口使用相同的指令,这有助于降 I/O 端口占用内存地
3、址,相对削减了内存可用范畴;而且,由于难以区分拜访内存和 I/O 的指令,降低了程序的可读性和可爱护性;I/O 端口与内存独立编址:这种编址方法中,内储备器和 址空间;拜访 I/O 端口需要特地的 I/O 指令;80x86 CPU采纳 I/O端口独立编址方式;I/O 端口各自有自己独立的地4 依据传输信号的种类,I/O端口有几种?它们信号的传输方向怎样?依据传输信号的种类, I/O端口有三种:数据端口:数据信息从端口输入CPU(输入设备接口),或者从CPU 写入端口(输出设备接口);状态端口:外设状态信息从端口输入 CPU;掌握端口:命令信息从 CPU 写入端口;1 / 46 名师归纳总结 -
4、 - - - - - -第 1 页,共 46 页精选学习资料 - - - - - - - - - 5 I/O 端口译码电路的作用是什么?在最小模式和最大模式下分别有哪些输入信号?I/O 端口译码电路用于产生端口的读写挑选信号;在最小模式下,译码电路接受来自总线的地址信号( 16 位),M/IO(= 0), RD 或者 WR 信号;最大模式下,译码电路接受地址信号( 16位), IOR 或者 IOW 信号;6 外部设备数据传送有哪几种掌握方式?从外部设备的角度,比较不同方式对外部设备的 响应速度;外部设备数据传送有以下四种掌握方式;直接传送方式(也称为无条件传送方式、同步传送方式):这种情形下,
5、外部端口完全被动地等待CPU 的拜访,没有确定的响应速度,响应时间取决于CPU 劳碌的程度以及程序对外部设备掌握实行的策略;查询方式:假如 CPU 在某一时刻只对一个外设采纳查询方式进行数据传输,CPU 的响 应推迟约为 310个指令周期;响应速度快于中断方式,慢于 DMA 方式;中断方式: CPU 的响应推迟平均为几十个指令周期,慢于查询方式,但是这种方式可以 同时治理多个外部设备;DMA 方式:外部端口的传输恳求由 DMA 掌握器响应,由于 DMAC 是一个专用于传输 掌握的电路,任务单一,不发生 DMA 传输竞争时,响应推迟仅为 12个 DMAC 使用的时钟 周期,远快于中断方式和查询方
6、式;7 表达一次查询式输出过程中,接口内各电路、信号的状态变化过程;一个数据的查询式输出过程由二个阶段组成:CPU 从接口反复读取状态字:由地址译码电路产生状态端口挑选信号,该信号不影响接 口内部的状态;外部设备输出完成后,返回“ 确认” 信号,该信号将状态寄存器相关位(READY )置位;如状态字说明外设已处于“ 就绪” 状态,就向数据端口传送数据;由地址译码电路产生 的数据端口选通信号一方面将数据总线上的数据写入数据寄存器,同时清除状态寄存器中的 相关位( READY ),向输出设备发出输出启动信号;有的输出接口设有掌握端口,输出启动信号通过写掌握端口产生;8 比较程序中断方式和查询方式的
7、区分,依据比较,指出中断工作方式的优缺点;中断方式:外部设备工作完成后,通过“ 中断恳求” 信号“ 主动” 向 CPU“ 报告” ;查询方式:外部设备工作完成后,状态信号储存在接口电路内,被动地等待 CPU 来读 取;依据上述比较,可以得到中断工作方式的如下特点:优点:2 / 46 名师归纳总结 - - - - - - -第 2 页,共 46 页精选学习资料 - - - - - - - - - 1)CPU 能够准时明白外部设备的状态,从而对外部设备IO 恳求进行准时处理;2)由于 CPU“ 被动” 地等待外部设备的“ 中断恳求” ,外部设备进行输入/输出操作时,CPU 可以同时执行其他的程序,
8、CPU 和外部设备“ 并行” 工作;3)由于同样的缘由,在中断方式下,CPU 可以同时治理多台外部设备,CPU 的效率得到提高;缺点:1)用中断方式需要 CPU 增加相应的治理规律,增加了 CPU 电路的复杂性;2)由于 CPU“ 被动” 地接收“ 中断恳求” 信号,CPU 必需通过与外部的一个联络过程才能知道是那一个设备在申请中断,这增加了响应时间;为了从当前任务转移到中断服务, CPU 必需爱护原有的运行环境,进行“ 任务” 的“ 切换” ,这也会增加响应时间;3)有较多的设备使用中断方式时,会产生“ 中断申请” 的“ 竞争” ;这一方面降低了响应速度,另一方面增加了治理的复杂性;9 比较
9、 DMA 方式和程序中断方式的区分,依据比较,指出DMA 工作方式的优缺点;中断方式:外部设备每进行一个数据的输入/输出,都要通过“ 中断申请” 要求CPU 进行处理; CPU通过执行一段“ 中断服务程序” 完成数据的传输;DMA 方式: CPU 通过对 DMAC 的初始化,启动一个数据块的传输操作;之后的数据传输通过信号的联络,在外设接口和储备器之间进行,操作;CPU 只需简洁地让出总线,而无需其他依据上述比较,可以得到 DMA 工作方式的如下特点:优点:1)对于 CPU 而言,它的任务仅仅是在一个数据块传输之前对DMAC 进行初始化,CPU 用于传输掌握的操作达到最小(不考虑与通道 的效率
10、最高; CPU 与外设“ 并行” 工作;/IO 处理器方式的比较), CPU2)外部设备一个数据输入 /输出完成后,向DMAC 申请进行数据传输,响应时间仅为DMAC 的 13 个时钟周期;响应速度达到最快,可以满意高速传输的需要;缺点:1)实现 DMA 掌握需要增加 DMA 掌握器和总线掌握规律,增加了系统的复杂性;2)DMA 传输需要占用总线,并且具有较高的“ 优先级” ;这使得系统对其他设备的 响应速度不能得到明确的保证;10某输入设备接口数据端口、状态端口、掌握端口地址分别为70H, 71H, 72H;状态端口 D5=1 表示输入完成,掌握端口D7=1 表示启动设备输入(输入完成后由设
11、备清除该位);从该设备输入 100个字节数据,存入以 BUFFER 为首地址的缓冲区;假如启动该设备1 秒后仍未完成一次输入,就视为超时错,显示出错信息后返回;分别用 8086汇编语言和 C语言编写完成上述功能的 I/O 程序;汇编语言程序:3 / 46 名师归纳总结 - - - - - - -第 3 页,共 46 页精选学习资料 - - - - - - - - - DATA SEGMENT BUFFER DB 100 DUP. ERROR DB 13, 10, “ OVER TIME .”, 13, 10, “ $”DATA ENDS ;CODE SEGMENT CS: CODE, DS:
12、DATA ASSUME START: W: ONE: XOR MOV AX, DATA MOV DS, AX MOV CX, 100 LEA BX, BUFFER DX, DX ;DX 用作响应计时器,初值0 MOV AL, 80H IN OUT 72H, AL ;启动输入AL, 71H INC DX ;记录延迟时间TEST AL, 00100000B ;测试完成位;输入完成,转JNZ READ READ 读取数据CMP DX, 50000 ;假设循环50000 次时间为 1 秒JB W ; 未超时,连续测试JMP OVERTIME ;超过 1 秒,报告出错READ: IN MOV AL, 7
13、0H ;读入数据BX, AL ;数据存入缓冲区INC BX ;修改指针LOOP ONE ;100 个数据尚未输入完成,转 ONE 连续JMP DONE ;100 个数据输入完成,转 DONE 终止程序OVERTIME: LEA MOV DX, ERROR ;响应超AH, 9 INT 21H 4 / 46 名师归纳总结 - - - - - - -第 4 页,共 46 页精选学习资料 - - - - - - - - - 时,显示出错信息DONE: MOV AX, 4C00H 21H ; 返回INT OS CODE ENDS END START C语言程序:main int i, status, t
14、ime, buffer100 for i=0; i100; i+ outportb 0x72, 0x80 ;/* 启动输入 */ for time = 0; time 20000; time+ status = inportb 0x71 ;/* 读状态 */ if status & 0x20 11某输出设备数据端口、状态端口地址分别为 220H, 221H;状态端口 D0=1 表示输出完成;将数据段中以 STRING 为首地址的 20 个字符(用七位 ASCII 代码储备)添加水平和垂直校验发送到该外部设备;用 8086汇编语言编写完成上述功能的 I/O 程序;汇编语言程序:DATA SEGM
15、ENT 20 DUP . STRING DB SUM DB 0 DATA ENDS ;CODE SEGMENT CS: CODE, DS: DATA ASSUME START: MOV AX, DATA ; 垂直校验码初MOV DS, AX MOV CX, 20 LEA BX, STRING MOV SUM, 0 值为 0 ONE: MOV DX, 221H ; DX 置为状态端5 / 46 名师归纳总结 - - - - - - -第 5 页,共 46 页精选学习资料 - - - - - - - - - 口地址IN AL, DX TEST AL, 00000001B ;测试输出完成位JZ ON
16、E ;未完成,转 ONE 连续读取状态串取出一个字符的ASCII 代码MOV AL, BX ;从字符AND AL, 07FH ;清除最高位,预备置入校验位JPE OUTPUT ;判代码奇偶属性,OR AL, 80H ;奇数个“ 1” ,最高位置 1(偶校验)OUTPUT: MOV OUT DX, 220H DX, AL ;输出添加了校验位的代码XOR SUM, AL ;生成垂直校验位INC BX ;修改指针LOOP ONE ;20 个数据尚未输出完成,转 ONE 连续MOV DX, 221H ;输出垂直校验代码LAST: IN TEST AL, DX AL, 00000001B DONE: M
17、OV JZ LAST MOV AL, SUM MOV DX, 220H OUT DX, AL AX, 4C00H INT 21H ;返回 OS 12CODE ENDS STARTEND 试画出矩阵式键盘查询的程序流程图;6 / 46 名师归纳总结 - - - - - - -第 6 页,共 46 页精选学习资料 - - - - - - - - - 行扫描法键盘扫描流程键盘扫描码 =0,计数器 =8行扫描代码 =11111110B向行线端口输出行扫描代码(7行为1,1行为0)从列线端口读入全“ 1”Y将行扫描代码左移一位N键盘扫描码 +8键盘扫描码 +1列线读入代码右移 1位计数器 -1N进位=0
18、计数器 =0NYY键盘扫描码 =11111111B返回13上述流程中假设键盘为8 8 结构,2 位为 0;假如有键按下,返回它的8 位扫描码;其中:最低 3 位为该键所在列,次低3位为该键所在行,最高假如没有键按下,返回8 位“ 1” ;试画出公用端口多位LED 输出的程序流程图;7 / 46 名师归纳总结 - - - - - - -第 7 页,共 46 页精选学习资料 - - - - - - - - - 共用端口 LED扫描流程SI=缓冲区首址, CX=8BX=七段码表首址 , 位码=80H位码输出全“0” ,熄灭各 LED从缓冲区取出一个字节转换成七段码七段码送段码端口输出位码点亮一个 L
19、ED修改位码修改输出缓冲区指针延时N循环8次终止Y返回习 题 六1 什么叫中断 ?有哪几种不同类型的中断?由于某个大事的发生,CPU 暂停当前正在执行的程序,转而执行处理该大事的一个程序;该程序执行完成后,CPU 接着执行被暂停的程序;这个过程称为中断;依据中断源的位置,有两种类型的中断;有的中断源在 断;大多数的中断源在 CPU 的外部,称为外部中断;CPU 的内部,称为内部中依据中断引脚的不同,或者 CPU 响应中断的不同条件,也可以把中断划分为可屏蔽中断和不行屏蔽中断两种;2 什么是中断类型?它有什么用处?用如干位二进制表示的中断源的编号,称为中断类型;8 / 46 名师归纳总结 - -
20、 - - - - -第 8 页,共 46 页精选学习资料 - - - - - - - - - 中断类型用来区分不同的中断,使 行中断处理;CPU 能够在中断响应时调出对应的中断服务程序进3 有哪几种确定中断优先级的方法?说明每一种方法各自的优劣之处;确定中断优先权有四种可选的方法;1 软件查询法:采纳程序查询的方法确定中断服务的次序;这种方法中断规律最简 单(基本上不需要外部中断规律),优先级可以敏捷设置,但中断响应所需时间最长;2 分类申请法: CPU 分设二个中断申请信号的输入引脚;这种方法需要 CPU 供应条 件;3 链式优先权排队:菊花链法;这种方法需要的外部中断规律比较简洁,简洁实现
21、,但是设备较多时信号推迟大,对设备故障敏锐;4 可编程中断掌握器 : “ 向量” 优先权排队专用电路;这种方法功能最全面,掌握灵 活,可以通过程序设定中断优先权为固定的或循环的,但需要增加专用的中断控制器;4 什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是 什么?CPU 在处理级别较低的中断过程中,显现了级别较高的中断恳求;CPU 停止执行低级别 中断的处理程序而去优先处理高级别中断,等高级别中断处理完毕后,再接着执行低级别的未处理完的中断处理程序,这种中断处理方式称为多重(级)中断或中断嵌套;使用中断嵌套可以使高优先级别的中断得到准时的响应和处理;对于可屏蔽中断
22、,由于CPU 在响应中断时已将IF 清零,所以肯定要在中断处理程序中加入开中断指令,才有可能进行中断嵌套;5 什么叫中断屏蔽?如何设置 I/O 接口的中断屏蔽?用程序的方法使某些中断源的中断恳求不能够发送到 得到响应,这种方法称为中断屏蔽;CPU,或者虽然能够发送但是不能在外设的接口内增设一个中断屏蔽触发器(可以用 D 触发器实现),该触发器的 Q 端与中断恳求信号相“ 与” 后连接到 INTR;当Q = 0 时,中断恳求不能发往 INTR;通过设定中断屏蔽触发器的状态,可以掌握中断恳求信号是否能够送到 INTR 端;置 IF= 0, 可以使 80x86CPU不响应来自 INTR 的可屏蔽中断
23、恳求;6 什么是中断向量?中断类型为1FH 的中断向量为2345H:名师归纳总结 1234H,画图说明它在中断向量表中的安置位置;0000:007CH34H第 9 页,共 46 页9 / 46 0000:007DH12H0000:007EH45H0000:007FH23H- - - - - - -精选学习资料 - - - - - - - - - 中断服务程序的入口地址称为中断向量;中断类型为1FH,它的中断向量放置在1FH4=0000: 7CH开头的位置上;如右图;7 表达一次可屏蔽中断的全过程;(1) 中断源恳求中断 外部中断源通过 INTR 引脚向 CPU 恳求中断;(2) 中断响应中断源
24、提出中断恳求后,假如CPU 处于答应中断状态( IF=1);没有不行屏蔽中断恳求和总线恳求;当前指令执行终止;就转入中断响应周期;在中断响应周期:CPU 取得中断源的中断类型;将标志寄存器 FLAGS 和 CS、IP(断点)先后压入堆栈储存;清除自陷标志位 TF 和中断答应标志位 IF;读中断向量表,获得相应的中断服务程序入口地址,转入中断服务 程序;(3) 中断服务中断服务程序的主要内容包括:爱护现场 开中断中断处理关中断复原现场(4)中断返回8 简要表达 8259A内部 IRR, IMR, ISR三个寄存器各自的作用;三个寄存器长度均为 8 位;IRR 用来记录引脚 IR7IR0上由外部设
25、备送来的中断恳求信号;当外部中断恳求线 IRi 变 为有效时, IRR 中与之对应的第 i 位被置 1;IMR 用于设置对中断恳求的屏蔽信号;此寄存器的第i 位被置 1 时,与之对应的外部中断恳求线 IRi被屏蔽,不能向CPU 发出 INT 信号;可通过软件设置IMR 内容,确定每一个中断恳求的屏蔽状态;ISR 用于记录当前正在被服务的全部中断级,包括尚未服务完而中途被更高优先级打断的中断级;如CPU 响应了 IRi中断恳求,就 ISR 中与之对应的第i 位置 1;ISR用于中断优先级治理;10 / 46 名师归纳总结 - - - - - - -第 10 页,共 46 页精选学习资料 - -
26、- - - - - - - 9 8259A 是怎样进行中断优先权治理的?8259A通过以下两种途径实现对中断优先权的治理:(1)通过设置中断屏蔽寄存器IMR,可以屏蔽某些中断恳求,从而动态地转变各请求端的优先级别;(2)8259A 响应某个中断恳求之后,将ISR 寄存器对应位置1;假如后续的中断恳求级别低于正在响应的中断恳求,就该中断不能立刻被响应;反之,假如新的中 断恳求级别高于正在响应的中断恳求,就答应进行中断嵌套;中断服务终止 时,应将 ISR寄存器对应位清零;10特殊全嵌套方式有什么特点?它的使用场合是什么?特殊全嵌套方式一般用于级联方式下的 8259A主片;假如 8259A 主片在一
27、次中断处理尚未终止时,收到了来自同一个引脚的其次次中断请 求,并且该 8259A 采纳一般全嵌套方式,就它不会响应来自同一个引脚的其次次中断恳求;假如该 8259A 采纳特殊全嵌套方式,就会响应当恳求(中断嵌套),从而可以准时响应连接 在同一从片 8259A上,并且相对有较高优先级别的中断恳求;11向 8259A 发送“ 中断终止” 命令有什么作用?8259A 有哪几种中断终止方式?分析各自的利弊;中断服务完成时,必需给8259A 一个命令,使这个中断级别在ISR 中的相应位清“ 0” ,表示该中断处理已经终止,答应响应新的较低级别的中断;这个命令称为“ 中断结 束” 命令;8259A有两种不
28、同的中断终止方式;(1)自动中断终止方式( AEOI)8259A 在中断响应周期内自动清除ISR 中对应位;这种方式使用简洁,但是不能充分实现中断的优先权治理;这种方式只能用在系统中只有一个 8259A,且多个中断不会嵌套的情况;(2)非自动中断终止方式(EOI)从中断服务程序返回前,在程序里向 8259A 输出一个中断终止命令(EOI),把 ISR 对应位清“0” ;这种方式可以有效地实现中断优先权的治理,从而保证高优先级的中断可以得到准时响应;但是,假如在程序里忘了将 中断以及比它级别低的中断恳求;ISR 对应位清零,那么, 8259A 将不再响应这个12某系统中有两片 8259A,从片的
29、恳求信号连主片的 IR2 引脚,设备 A 中断恳求信号连从片 IR5 引脚;说明设备 A 在一次 I/O操作完成后通过两片 8259A向 8086申请中断,11 / 46 名师归纳总结 - - - - - - -第 11 页,共 46 页精选学习资料 - - - - - - - - - 8086CPU通过两片 8259A响应中断,进入设备 回断点的全过程;A 中断服务程序,发送中断终止命令,返设备 A 通过从片 IR5 引脚向从片发出中断恳求;从片将IRR5 置“ 1” ,并通过INT(与主片IR2 相连)向主片发出中断请求;主片将 IRR2 置“ 1” ,通过 INT(与 CPU 的 INT
30、R 相连)向 CPU 发出中断 恳求;CPU 通过第一个 INTA 向主片和从片响应中断恳求;主片 8259A 在 CAS0CAS2 上发出代码“010” ,表示连接在IR2 上的从片中断被响应,同时主片仍把本片ISR2置“ 1” ,把本片 IRR2 清“ 0” ;从片收到第一个 INTA 和主片 CAS0CAS2 上发来的 010 代码后,将本片ISR5 置“ 1” ,同时把本片 IRR5 清“ 0” ;收到其次个 INTA 后,将本片 IRR5 对应的中断类型通过数据总线发往 CPU;CPU 进入设备 束命令,两个芯片内的A 的中断服务程序,在程序中先后对主片和从片发出中断结 ISR2和
31、ISR5先后被清零;中断服务终止,返回断点连续执行;13某 8086系统用 3 片 8259A级联构成中断系统,主片中断类型号从10H 开头;从片的中断申请连主片的IR4 和 IR6 引脚,它们的中断类型号分别从20H、30H 开头;主、从片采纳电平触发,嵌套方式,一般中断终止方式;请编写它们的初始化程序;假设主片端口地址为 10H,12H;从片的端口地址分别为 18H, 1AH 和 1CH, 1EH; MOV AL, 00011001B ;主片 ICW1 OUT 10H, AL ;电平触发,级连方式MOV AL, 10H ;主片 ICW2 OUT 12H, AL ;主片中断类型MOV AL,
32、 01010000B ;主片 ICW3 OUT 12H, AL ;IR4,IR6 连有从片MOV AL, 00010001B ;主片 ICW4 OUT 12H, AL ;特殊全嵌套,非自动中断终止MOV AL, 00011001B ;从片 ICW1 OUT 18H, AL ;电平触发,级连方式MOV AL, 20H ;从片 ICW2 OUT 1AH, AL ;从片中断类型MOV AL, 00000100B ;从片 ICW3 OUT 1AH, AL ;本片连接在主片IR4 引脚上12 / 46 名师归纳总结 - - - - - - -第 12 页,共 46 页精选学习资料 - - - - - -
33、 - - - MOV AL, 00000001B ;从片 ICW4 OUT 1AH, AL ;非特殊全嵌套,非自动中断终止MOV AL, 00011001B ;从片 ICW1 OUT 1CH, AL ;电平触发,级连方式MOV AL, 30H ;从片 ICW2 OUT 1EH, AL ;从片中断类型MOV AL, 00000110B ;从片 ICW3 OUT 1EH, AL ;本片连接在主片IR6 引脚上MOV AL, 00000001B ;从片 ICW4 OUT 1EH, AL ;非特殊全嵌套,非自动中断终止留意:(1)由于 8086系统有 16根数据线,各 8259A 的端口地址均为偶数(
34、假设各8259A的数据线连接在8086系统的低 8位数据线上);(2)主片用特殊全嵌套,从片用一般全嵌套;14给下面的 8259A初始化程序加上注释,说明各命令字的含义;MOV AL, 13H ;ICW1: 边沿触发,单片 8259A OUT 50H, AL ;MOV AL, 08H ;ICW2: 中断类型高 5 位为 00001 OUT 51H, AL ;MOV AL, 0BH ;ICW4: 非特殊全嵌套,缓冲方式,主片,非自动中断终止OUT 51H, AL ;15设 8259A 端口地址为 20H 和 21H,怎样发送清除 ISR3的命令?为了清除 ISR3,需要通过 OCW2 发送特殊的
35、中断终止命令,使 SL=1, EOI=1, L2L1L0=011;指令如下:MOV AL, 01100011B OUT 20H, AL 16图 4-17能否直接用于 8086系统?为什么?图 4-17不能直接用于 8086系统,缘由是:(1)多个设备的中断恳求假如直接送往CPU,应采纳“ 线或” 的方法,每个接口的中断恳求信号应由“OC 门(集电极开路门)” 以“ 负规律” 的方式连接,13 / 46 名师归纳总结 - - - - - - -第 13 页,共 46 页精选学习资料 - - - - - - - - - 如下图;+5VCPUOC 门OC 门.OC 门(2)设备1设备2设备n中断恳求
36、中断恳求中断恳求电路没有解决中断优先权的问题;CPU 用 INTA 信号响应中断时,会将全部正在申请中断的接口的恳求信号清除;加接“ 菊花链” 可以解决该问题;(3)电路没有解决中断类型的发送问题,需要增加相关电路;例如,把设备接口 的 INTR 连接到 8259A;习 题 七18255A 的方式挑选掌握字和C 口按位掌握字的端口地址是否一样,8255A 怎样区分这两种掌握字?写出 解:A 端口作为基本输入, B 端口作为基本输出的初始化程序;(1)8255A 的方式挑选掌握字和 C 口按位掌握字的端口地址一样,它们之间的区别在掌握字的 D7 位(特点位)的值不同,8255A 的方式挑选掌握字
37、 D7=1,而 C 口按位置位/复位掌握字 D7=0;(2)初始化程序:(设端口地址为,A 口: 200H, B 口: 201H,掌握口:203H)MOV AL ,90H MOV DX,203H OUT DX,AL 2用 8255A的 A 端口接 8 位二进制输入, B 端口和 C 端口各接 8只发光二极管显示二进制数;编写一段程序,把 A 端口读入的数据送 B 端口显示,而 C 端口的各位就采纳置 0/置 1 的方式显示 A 端口的值;解:(设端口地址为, A 口:200H,B 口: 201H,C 口:202H,掌握口: 203H)14 / 46 名师归纳总结 - - - - - - -第
38、14 页,共 46 页精选学习资料 - - - - - - - - - MOV AL , 90H ;8255A初始化:MOV DX, 203H ;8255A各组方式 0,A 口输入OUT DX, AL ; B、C 口输出MOV DX, 200H IN AL , DX ;读 A 口输入值MOV DX, 201H OUT DX, AL ;送 B 口输出MOV AH, AL ;A 口输入值转存在 AH 中MOV DX, 203H MOV CX, 08 ;CX 置循环次数初值MOV AL , 00H ;C 端口置 0/置 1 掌握字初值LPA: AND AL , 0FEH ;清除最低位SHR AH,
39、1 ;A 端口一位转入 CF ADC AL, 0 ;A 端口一位从 CF转入命令字OUT DX, AL ;A 端口一位从送往 C 端口对应位ADD AL , 02H ;形成下一个命令字LOOP LPA ;处理 C端口下一位3 将 8255A 用作两台运算机并行通信的接口电路,请画出采纳查询式输入 /输出方式工作的接口电路,并写出采纳查询式输入 /输出方式的程序;解:用两片 8255作两台运算机8088_A与 8088_B 之间并行通信的接口电路,两片8255之间的连接如下图所示;两片8255均在方式 1、查询方式下工作;D7D08255A8255BD7D0A口 A口A口8088-A地址CS82
40、55 A PC0PC4CS地址8088-BSTBPC6 B口A0译码PC0译码A0A0A0ACKA1A1A1A1(1) 8088_A输出程序:(8255_A 的 A 口作为数据输出口, C 口的 PC0 作为“ 数据输出选通” 信号,负脉冲输出; C 口的 PC6 作为“ 应答” 信号输入,负脉冲有效;端口地址:A 口: 200H,C 口:202H,掌握口: 203H)15 / 46 名师归纳总结 - - - - - - -第 15 页,共 46 页精选学习资料 - - - - - - - - - DATA SEGMENT Buffer DB “ This is a example. ”, 0
41、DH, 0AH, -1 BX DATA ENDS CODE SEGMENT START: MOV AX, DATA MOV DS, AX LEA BX, Buffer ;输出缓冲区指针送MOV DX ,203H MOV AL ,0A0H ;8255_A的方式挑选字, A 口工作在方式 1、输出, C 口低四位输出OUT DX ,AL ;将 PC0置 1 MOV AL, 1 OUT DX, AL CALL DELAY ;延时等待对方完成初始化;A 口查询方式输出NEXT: MOV DX, 202H ;判别OBF 是否有效IN AL, DL TEST AL, 80H JZ NEXT ;数据尚未取走,等待MOV DX ,200H ;输出一项数据MOV AL, BX OUT DX, AL INC BX MOV DX, 203H MOV AL, 0 OUT DX, AL NOP NOP CODE INC AL ;通过 PC0 向对方发选通信号(负脉冲)OUT DX, AL CMP