第7部分输入输出接口和中断技术.ppt

上传人:本田雅阁 文档编号:3132735 上传时间:2019-07-15 格式:PPT 页数:51 大小:968.53KB
返回 下载 相关 举报
第7部分输入输出接口和中断技术.ppt_第1页
第1页 / 共51页
第7部分输入输出接口和中断技术.ppt_第2页
第2页 / 共51页
第7部分输入输出接口和中断技术.ppt_第3页
第3页 / 共51页
第7部分输入输出接口和中断技术.ppt_第4页
第4页 / 共51页
第7部分输入输出接口和中断技术.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《第7部分输入输出接口和中断技术.ppt》由会员分享,可在线阅读,更多相关《第7部分输入输出接口和中断技术.ppt(51页珍藏版)》请在三一文库上搜索。

1、1,第7章 输入输出接口和中断技术,本章内容 基本概念 I/O端口的编址 输入输出的基本方法:无条件、查询、中断、DMA 中断 中断基本概念 8086/8088中断系统 8259中断控制器*,2,7.1 输入输出接口概述,什么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,3,7.1.1 CPU与外设间的连接,外设与CPU的连接必须通过相应的专用接口。 接口电路(芯片)分可编程、不可编程。 不同外设有不同编号,类似存储器单元的编号,即外设有地址。,4,输入输出端口的编址方式

2、,两种端口编址方式 一、与存储器统一编址: 外设端口作为存储器的一个单元,占据存储器的一个地址。访问存储器和 访问外设使用一样的指令。 如MOTOROLA的产品 二、独立编址: 外设端口与存储器独立编址。有专门的输入输出指令。 如INTEL8088/8086、ZILOG的产品。,5,8088/8086的输入输出指令,输入指令 IN AL,i8/DX ;字节输入 IN AX,i8/DX ;字输入 输出指令 OUT i8/DX,AL ;字节输出 OUT i8/DX ;字输出,功能演示,功能演示,6,7.1.2 接口电路的基本功能 I/O接口的典型结构,控制总线CB,地址总线AB,I/O接口电路,数

3、据,控制,状态,数据总线DB,CPU,外设,控制寄存器,状态寄存器,数据寄存器,中断控制,命令寄存器,7,接口信息,一、CPU和I/O设备之间的接口信息 1、数据信息 1)、数字量 2)、模拟量 3)、开关量 4)、脉冲量 2、状态信息 反映当前外设所处的工作状态,是否准备好。 3、控制信息 CPU 通过接口向外设传送控制信息,控制外设的启动、停止。,8,接口电路的内部结构,CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: 数据寄存器 保存外设给CPU和CPU发往外设的数据 状态寄存器 保存外设或接口电路的状态 控制寄存器 保存CPU给外设或接口电路的命令,理解端口,

4、9,I/O接口的主要功能, 对输入输出数据进行缓冲和锁存 输出接口有锁存环节 输入接口有缓冲环节 对信号的形式和数据的格式进行变换 微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络,10,7.2 数据传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为: 无条件传送 查询传送 中断传送 直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送 I/O处理机CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理,11,7.2.1

5、无条件传送方式,在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送。 适合于简单设备,如LED 数码管、按键/按纽等 无条件传送的接口和操作均十分简单 这种传送有前提:外设必须随时处于就绪状态,传送流程,接口实例,12,无条件传送:输入示例,IOR,三态缓冲器,OE,I/O装置,地址译码器,CS,D7D0,A15A1,A0,0160H,MOV DX, 160H IN AL, DX,13,无条件传送:输入实例,MOV DX, 160H IN AL, DX,74LS244,+5V,10K x 8,G1 G2,数据总线

6、,CS,RD,14,无条件传送:输出示例,地址译码器,数据锁存器,A15,A0A14,CS,0160H,输出设备,D7D0,MOV DX, 160H MOV AL, BX OUT DX, AL,15,无条件传送:输出实例,MOV DX, 160H MOV AL, BX OUT DX, AL,+5V,74LS373,300 x 8,LE OE,数据总线,CS,WR,16,无条件传送:输入输出接口,K7,K1,K0,+5V,D0D7,A0A15,CLK,LS06 反相 驱动器,LS273 8D 锁存器,LS244 三态 缓冲器,8000H,译码,+5V,LED0,LED7,-G,IOW,IOR,1

7、7,无条件传送:输入输出接口,next: mov dx,8000h ;DX指向数据端口 in al,dx ;从输入端口读开关状态 not al ;反相 out dx,al ;送输出端口显示 call delay ;调子程序延时 jmp next ;重复 P248 例,18,就绪?,2. 程序 查询传送,CPU先了解(查询)外设的工作状态,在外设就绪(可以交换信息的情况下)实现数据的输入或输出 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换 查询传送的特点是:工作可靠,适用面宽,但传送效率低,19,查询传送的两个环节,查询环节 寻址状态口 读取状态寄存器的标

8、志位 若不就绪就继续查询,直至就绪 传送环节 寻址数据口 是输入,通过输入指令从数据口读入数据 是输出,通过输出指令向数据口输出数据,输入状态,就绪?,数据交换,Y,N,传送流程,接口实例,20,1) 查询输入 P249,IOR,+5V,8D 锁存器,8位 三态 缓冲器,译码,1位 三态 缓冲器,A0A15,20H,21H,D0D7,D7,输入 设备,IOR,STB,R,Q,D,21,查询输入,Poll : in al,20H ;读状态端口 test al,80h ;测试标志位D7 je poll ;D70,未就绪,继续查询 in al,21H ;D71,就绪,从数据口输入数据,22,2、 查

9、询输出,8D 锁存器,译码,1位 三态 缓冲器,R,Q,A0A15,30H,31H,D0D7,D7,D,+5V,ACK,IOW,IOR,输出 设备,23,查询输出,status: in al,30H ;读取状态端口的状态数据 test al,80h ;测试标志位D7 jnz status ;D71,未就绪,继续查询 mov al,buf ;D70,就绪,变量buf送AL out 31H,al ;将数据输出给数据端口 P251 例:一个采用查询方式的数据采集系统,24,例:一个采用查询方式的数据采集系统,一个有个模拟量输入的数据采集系统,用查询方式 与传送信息,电路如图。,25,8个输入模拟量,

10、经过多路开关它由端口4输出的 3位二进制码(D2、D1、D0)控制(000相应于UA0输入 相应于UA7输入),每次送出一个模拟量至 转换器;同时,转换器由端口4输出的4位控制启 动与停止。转换器的信号由端口2的0 输至数据总线;经转换后的数据由端口3输入 至数据总线。所以,这样的一个数据采集系统,需要用到 3个端口,它们有各自的地址。,26,数据采集过程的程序为: STARE: MOV DL,0F8H ;设置启动A/D转换的信号,且低位选通多路 开关通道 MOV AX,SEG DSTOR ;设置输入数据的内存单元地址指针 MOV ES,AX LEA DI,DSTOR AGAIN:MOV AL

11、,DL AND AL,0EFH ;使D4 OUT 04,AL ;停止A/D转换 CALL DELAY ;等待停止A/D转换操作的完成 MOV AL,DL OUT 04,AL ;选输入通道并启动A/D转换 POLL: IN AL,02 ;输入状态信息 SHR AL,1 ;查AL的D0 JNC POLL ;判READY=1?若D0=0,未准备好,则循环再查 IN AL,03 ;若已准备就绪,则经端口将采样数据输入至A STOSB ;输入数据转送内存单元 IN CDL ;输入模拟量通道增1 JNE AGAIN ;8个模拟量未输入完则循环 ;输入已完,执行别的程序,27,查询方式的EEPROM编程,n

12、ext: mov al,55h ;写入内容55H mov bx,al ;写入存储单元 nop ;空操作指令,起延时作用 nop next1: in al,dx ;查询状态口 test al,01h ;测试D0 jz next1 ;D00,芯片还在写入 inc bx ;D01,写毕,指针移动 loop next ;循环至全部字节写完,28,7.2.2 中断传送 P252,程序 断点,主程序,中断请求,为外设,继续执行,返回断点,传送流程,CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断处理程序),以处理该事件,该事件

13、处理完后又返回被中断的程序继续执行,这一过程称为中断。,提供服务,中断服务程序 入口,29,中断传送与接口,中断传送是一种效率更高的程序传送方式 进行传送的中断服务程序是预先设计好的 中断请求是外设随机向CPU提出的 CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚 本书主要论述中断在输入和输出方面的应用 中断还有着非常广泛的应用,30,三态 缓冲器,中断传送与接口(续),D0D7,+5V,8D 锁存器,8位 三态 缓冲器,R,Q,译码,8001H,中断向量号,D0D7,INTR,D,输入 设备,中断允许 触发器,A0A15,中断请求 触发器,IOR,INT

14、A,STB,31,7.2.3 DMA传送方式,希望克服程序控制传送的不足: 外设CPU存储器 外设CPU存储器 直接存储器存取DMA:不经CPU,不用指令 外设存储器(DMA写) 外设存储器(DMA读) 扩展:外设 外设 CPU出让系统总线(输出高阻),由DMA控制器(DMAC)接管系统总线,32,DMA传送的工作过程, CPU对DMA控制器进行初始化设置 外设、DMAC、CPU, 3者通过应答信号建立联系:CPU将总线暂交DMAC控制,事后再将控制权返还。 DMA传送 DMA读:存储器 外设 DMA写:存储器 外设 DMAC的功能: 对存储器寻址地址动加1/减1 计数器减1 判断传送是否完成

15、,传送流程,33,DMA传送( 以DMA 写为例),-MEMW,-IOR,数据总线,地址总线,输入设备,存储器,DMAC,CPU,HOLD,HLDA,34,DMA传送流程,HLDA,发存储器地址,传送数据,传送结束?,DMA结束,修改地址指针,35,DMA操作的基本方法,周期挪用:把CPU不访问存储器的那些周期挪用来进行DMA操作。 周期扩展:DMAC发出请求信号,时钟电路把供给CPU的时钟周期加宽,CPU在加宽的时钟周期内不向下操作,以便进行DMA操作。 CPU停机:最常用、简便。DMAC发出请求,CPU在当前总线周期结束,让出总线,由DMAC控制总线进行DMA。,36,DMA传送方式(两种

16、),单字节方式:每次DMA请求只传送1个字节。 字节组传送方式:每次DMA请求连续传送1个数据块。,37,传送方式的比较,无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,38,第6章教学要求,1. 掌握I/O端口编址方法 2.掌握CPU与外设交换信息的方式:无条件、查询传送方式、中断、DMA 3. 理解中断方式 5. 理解DMA传送的工作过程,掌握DMA操作的基本方法、两种DMA传送方式。,39,多种多样的外设,工作原理

17、不同 机械、电子、机电、电磁 传送信息类型多样 数字量、模拟量、开关量 传送速度差别极大 传送方式不尽相同 串行、并行 编码方式不同 二进制、BCD码、ASCII码,40,输出接口的锁存环节,41,输出接口的锁存、缓冲环节,42,输入接口的缓冲环节,43,输入接口的锁存、缓冲环节,44,端口(PORT),I/O端口通常以其地址为标识,1个端口一般对应1个可以被用户访问的寄存器 数据寄存器保存数据(芯片中可能含多个) 控制寄存器保存控制信息(芯片中可能含多个) 状态寄存器保存状态信息(芯片中可能含多个) 1个接口电路可以具有多个I/O端口,每个端口保存不同的信息(用以与CPU或外设进行信息交换) 输入端口和输出端口可以使用同一个I/O地址,45,IN AL, 21H,46,OUT 43H, AL,47,无条件传送流程,48,“就绪(Ready)”的含义,在输入场合: “就绪” 说明输入接口已准备好送往CPU的数据,正等着CPU来读取 该状态也可用接口中数据缓冲器已“满”来描述 在输出场合: “就绪” 说明输出接口已做好准备,等待接收CPU要输出的数据 该状态也可用接口数据缓冲器已 “空”、或者用接口(外设)“闲” 或 “不忙” 来描述,“就绪”满、空、闲、不忙,49,查询传送流程,50,中断传送流程,51,DMA传送流程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1