微型计算机的中断系统.pptVIP

  • 3
  • 0
  • 约1.5万字
  • 约 70页
  • 2019-09-23 发布于湖北
  • 举报
微型计算机原理及其应用 ——第六章:输入输出控制 6.1 输入输出数据的传输控制方式 输入输出的控制方式:程序控制方式、中断方式、DMA方式 一、无条件传送方式 二、有条件传送方式 三、中断传送方式 四、DMA传送方式 一、 无条件传送方式 当外部设备的各种动作时间是固定的,且已知就可采用这种方式,把软件延时时间设计大于这个固定动作时间,不用状态判断。 这种方式一般只需一个数据端口 无条件传送的输入方式 无条件传送的输出方式 二、有条件传送方式(又叫查询传送方式) 无条件传送必须确认外设已经准备好才能用,有条件传送采用查询外设状态,这样接口部分除数据端口外,还须有状态信号端口。 查询方式输入 其接口电路如下: 当输入装置数据准备好①发出一个选通信号,一面把数据锁存起来,一面送D触发器的CLK端,将D=1打入Q端,使Q=1;②CPU读入状态信息READY;③当READY=1,输入数据;④读入数据同时,将状态信号清零。 ⒉查询式输出如图示 在输出时CPU需了解外设的状态,如无空则等待,有空执行输出指令,过程如下: ①当输出装置输出数据后,发ACK信号,将D触发器置0,即BUSY=0 ②CPU查询BYSY,若为0,转入③,否,继续查 ③执行输出指令,把数据送至锁存器 ④同时令D触发器置1,它一方面告知外设, 数据已准备好,另一方面让BUSY=1,阻止CPU输出新的数据 例题1 要求采用查询方式从某输入设备上输入一组60个数据送缓冲区BUFF,接口电路如上所讲,其中READY接数据总线的D0位。若缓冲区已满,则输出提示信息“BUFFER OVERFLOW”,然后结束。设备的启动地址为FCH,数据端口地址为F8H,状态端口地址为FAH。 程序如下: ;-----------------------------------------------------段定义 DATA SEGMENT MESS1 DB ‘BUFFER OVERFLOW’,’$’ BUFF DB 60 DUP (?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;--------------------------------------初始化 MOV BX,OFFSET BUFF MOV CX,60 OUT 0FCH,AL ; 启动设备 ;--------------------------------------数据输入 WAIT1: IN AL,0FAH ;查询状态,若为0,则等待 TEST AL,01H JZ WAIT1 IN AL,0F8H ; 输入数据 MOV [BX],AL INC BX LOOP WAIT1 ;检测缓冲区是否满,不满继续输入 MOV DX,OFFSET MESS1 ;缓冲区满,输出提示字符 MOV AH,09H INT 21H 三、中断传送方式 采用查询方式,CPU要不断查询外设,当有些外设速度较低(例键盘、打印机),CPU要等待,效率低,采用中断方式可提高CPU效率。 当外设准备好(输入)或闲(输出),向CPU发出申请,CPU响应后,暂停执行原程序,转去执行中断服务程序。 中断传送的接口电路如下: 以输入为例:输入装置输入一数据,发出选通信号,一方面把数据存入锁存器,一方面又使D触发器置1,在中断允许下,发出INT, CPU在现行指令执行完后,发出INTA, 把外设送来的中断向量放到DB上,于是CPU转入中断服务程序,读入数据,同时清除中断请求INT,中断处理完,CPU返回被中断处理的程序继续执行。 中断过程

文档评论(0)

1亿VIP精品文档

相关文档