资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第7 7章章 输入输出接口和中断技术输入输出接口和中断技术n本章内容本章内容n基本概念基本概念n I/O端口的编址端口的编址n 输输入入输输出出的的基基本本方方法法:无无条条件件、查查询询、中断中断、DMAn中断中断n中断基本概念中断基本概念n8086/8088中断系统中断系统n8259中断控制器中断控制器*17.1 输入输出接口概述n什么是什么是I/O接口(电路)?接口(电路)?nI/O接接口口是是位位于于系系统统与与外外设设间间、用用来来协协助助完完成数据传送和控制任务的逻辑电路成数据传送和控制任务的逻辑电路nPC机机系系统统板板的的可可编编程程接接口口芯芯片片、I/O总总线线槽槽的电路板(适配器)都是接口电路的电路板(适配器)都是接口电路CPUCPU接口接口接口接口电路电路电路电路 I/OI/O设备设备设备设备27.1.1 CPU与外设间的连接与外设间的连接n外设与外设与CPU的连接必须通过相应的专用接口。的连接必须通过相应的专用接口。n接口电路(芯片)分可编程、不可编程。接口电路(芯片)分可编程、不可编程。n不不同同外外设设有有不不同同编编号号,类类似似存存储储器器单单元元的的编编号,即外设有地址。号,即外设有地址。3输入输出端口的编址方式n两种端口编址方式两种端口编址方式n一、与存储器统一编址:一、与存储器统一编址:n外外设设端端口口作作为为存存储储器器的的一一个个单单元元,占占据据存存储储器器的的一一个个地地址。访问存储器和址。访问存储器和 访问外设使用一样的指令。访问外设使用一样的指令。n如如MOTOROLA的产品的产品n二、独立编址:二、独立编址:n外设端口与存储器独立编址。有专门的输入输出指令。外设端口与存储器独立编址。有专门的输入输出指令。n如如INTEL8088/8086、ZILOG的产品。的产品。4 8088/8086的输入输出指令n输入指令输入指令IN AL,i8/DX ;字节输入字节输入IN AX,i8/DX ;字输入字输入n输出指令输出指令OUT i8/DX,AL ;字节输出字节输出OUT i8/DX;字输出字输出功能演示功能演示功能演示功能演示57.1.2 7.1.2 接口电路的基本功能接口电路的基本功能 I/O接口的典型结构控制总线控制总线CB地址总线地址总线ABI/O接口电路接口电路数据数据控制控制状态状态数据总线数据总线DBCPU外设外设控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器中断控制中断控制命令寄存器命令寄存器6接口信息接口信息一、CPU和I/O设备之间的接口信息1、数据信息 1)、数字量 2)、模拟量 3)、开关量 4)、脉冲量2、状态信息反映当前外设所处的工作状态,是否准备好。3、控制信息 CPU 通过接口向外设传送控制信息,控制外设的启动、停止。7 接口电路的内部结构nCPU与与外外设设主主要要有有数数据据、状状态态和和控控制制信信息息需要相互交换,于是从应用角度看内部:需要相互交换,于是从应用角度看内部: 数据寄存器数据寄存器n保存外设给保存外设给CPU和和CPU发往外设的数据发往外设的数据 状态寄存器状态寄存器n保存外设或接口电路的状态保存外设或接口电路的状态 控制寄存器控制寄存器n保存保存CPU给外设或接口电路的命令给外设或接口电路的命令理解端口理解端口8 I/O接口的主要功能 对输入输出数据进行缓冲和锁存对输入输出数据进行缓冲和锁存输出接口有输出接口有锁存环节锁存环节输入接口有输入接口有缓冲环节缓冲环节 对信号的形式和数据的格式进行变换对信号的形式和数据的格式进行变换微机直接处理:微机直接处理:数字量数字量、开关量开关量、脉冲量脉冲量 对对I/O端口进行寻址端口进行寻址 与与CPU和和I/O设备进行联络设备进行联络9 7.2 数据传送方式n程程序序控控制制下下的的数数据据传传送送通通过过CPU执执行行程程序序中中的的I/O指令来完成传送,又分为:指令来完成传送,又分为:n无条件传送无条件传送n查询传送查询传送n中断传送中断传送n直直接接存存储储器器存存取取(DMA)传传送送请请求求由由外外设设向向DMA控控制制器器(DMAC)提提出出,后后者者向向CPU申申请请总总线线,最最后后DMAC利利用用系系统统总总线线来来完完成成外外设设和和存存储储器器间间的的数数据传送据传送nI/O处处理理机机CPU委委托托专专门门的的I/O处处理理机机来来管管理理外外设设,完成传送和相应的数据处理完成传送和相应的数据处理107.2.1 无条件传送方式n在在CPU与与慢慢速速变变化化的的设设备备交交换换数数据据时时,可可以以认认为为它它们们总总是是处处于于“就就绪绪”状状态态,随随时时可可以以进进行行数数据据传传送送,这这就就是是无无条条件件传传送送,或或称称立立即即传传送送、同同步步传送。传送。n适合于简单设备,如适合于简单设备,如LED 数码管、按键数码管、按键/按纽等按纽等n无条件传送的接口和操作均十分简单无条件传送的接口和操作均十分简单n这种传送有前提:外设必须随时处于就绪状态这种传送有前提:外设必须随时处于就绪状态传送传送流程流程接口接口实例实例11无条件传送:输入示例IOR三三态态缓缓冲冲器器OEI/O装装置置地地址址译译码码器器CSD7D0A15A1A00160HMOV DX, 160HIN AL, DX12无条件传送:输入实例MOV DX, 160HIN AL, DX74LS244+5V10K x 8G1 G2数数据据总总线线CSRD13无条件传送:输出示例地地址址译译码码器器数数据据锁锁存存器器A15A0A14-IOWCS0160H输输出出设设备备D7D0MOV DX, 160HMOV AL, BXOUT DX, AL14无条件传送:输出实例MOV DX, 160HMOV AL, BXOUT DX, AL+5V74LS373300 x 8LE OE数数据据总总线线CSWR15无条件传送:输入输出接口K7K1K0+5VD0D7A0A15CLKLS06反相反相驱动器驱动器LS2738D锁存器锁存器LS244三态三态缓冲器缓冲器8000H译码译码+5VLED0LED7-GIOWIOR16无条件传送:输入输出接口next:mov dx,8000h;DX指向数据端口指向数据端口in al,dx;从输入端口读开关状态从输入端口读开关状态not al;反相反相out dx,al;送输出端口显示送输出端口显示call delay ;调子程序延时调子程序延时jmp next;重复重复P248 例例17就绪?2. 程序 查询传送nCPU先先了了解解(查查询询)外外设设的的工工作作状状态态,在在外外设设就就绪绪(可可以以交交换换信信息息的的情情况况下下)实实现现数据的输入或输出数据的输入或输出n对对多多个个外外设设的的情情况况,则则CPU按按一一定定顺顺序序依依次次查查询询(轮轮询询)。先先查查询询的的外外设设将将优优先先进进行数据交换行数据交换n查查询询传传送送的的特特点点是是:工工作作可可靠靠,适适用用面面宽宽,但传送效率低但传送效率低18查询传送的两个环节n查询环节查询环节n寻址状态口寻址状态口n读取状态寄存器的标志位读取状态寄存器的标志位n若不就绪就继续查询,直至就绪若不就绪就继续查询,直至就绪n传送环节传送环节n寻址数据口寻址数据口n是输入,通过输入指令从数据口读入数据是输入,通过输入指令从数据口读入数据n是输出,通过输出指令向数据口输出数据是输出,通过输出指令向数据口输出数据输入状态输入状态就绪?就绪?数据交换数据交换YN传送流程传送流程接口实例接口实例19 1) 查询输入 P249IOR+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器译码译码1位位三态三态缓冲器缓冲器 A0A1520H21HD0D7D7输入输入设备设备IORSTBRQD20查询输入Poll : in al,20H ;读状态端口读状态端口test al,80h ;测试标志位测试标志位D7je poll ;D70,未就绪,继续查询未就绪,继续查询in al,21H ;D71,就绪,从数据口输入数据就绪,从数据口输入数据212、 查询输出8D锁存器锁存器译码译码1位位三态三态缓冲器缓冲器RQ A0A1530H31HD0D7D7D+5VACKIOWIOR输出输出设备设备22查询输出status:in al,30H;读取状态端口的状态数据读取状态端口的状态数据test al,80h;测试标志位测试标志位D7jnz status;D71,未就绪,继续查询未就绪,继续查询 mov al,buf ;D70,就绪,变量就绪,变量buf送送AL out 31H,al ;将数据输出给数据端口将数据输出给数据端口P251 例例:一个采用查询方式的数据采集系统一个采用查询方式的数据采集系统23 例例: :一个采用查询方式的数据采集系统一个采用查询方式的数据采集系统一个有个模拟量输入的数据采集系统,用查询方式一个有个模拟量输入的数据采集系统,用查询方式与传送信息,电路与传送信息,电路如图如图。24 8 8个输入模拟量,经过多路开关个输入模拟量,经过多路开关它由端口它由端口4 4输出的输出的3 3位二进制码(位二进制码(D2D2、D1D1、D0D0)控制控制(000(000相应于相应于UA0UA0输入输入相应于相应于UA7UA7输入输入) ),每次送出一个模拟量至,每次送出一个模拟量至转换器;同时,转换器由端口转换器;同时,转换器由端口4 4输出的输出的4 4位控制启位控制启动与停止。转换器的信号由端口动与停止。转换器的信号由端口2 2的的0 0输至数据总线输至数据总线; ;经转换后的数据由端口经转换后的数据由端口3 3输入输入至数据总线。所以,这样的一个数据采集系统,需要用到至数据总线。所以,这样的一个数据采集系统,需要用到3 3个端口,它们有各自的地址。个端口,它们有各自的地址。25数据采集过程的程序为:数据采集过程的程序为: STARE: MOV DL,0F8H ;STARE: MOV DL,0F8H ;设置启动设置启动A/DA/D转换的信号转换的信号, ,且低位选通多路且低位选通多路 开关通道开关通道 MOV AX,SEG DSTOR ;MOV AX,SEG DSTOR ;设置输入数据的内存单元地址指针设置输入数据的内存单元地址指针 MOV ES,AXMOV ES,AX LEA DI,DSTOR LEA DI,DSTOR AGAIN AGAIN:MOV AL,DLMOV AL,DL AND AL,0EFH ; AND AL,0EFH ;使使D4D4 OUT 04,AL ; OUT 04,AL ;停止停止A/DA/D转换转换 CALL DELAY ;CALL DELAY ;等待停止等待停止A/DA/D转换操作的完成转换操作的完成 MOV AL,DL MOV AL,DL OUT 04,AL ; OUT 04,AL ;选输入通道并启动选输入通道并启动A/DA/D转换转换 POLLPOLL: IN AL,02 ; IN AL,02 ;输入状态信息输入状态信息 SHR AL,1 ;SHR AL,1 ;查查ALAL的的D0D0 JNC POLL ; JNC POLL ;判判READY=1?READY=1?若若D0=0,D0=0,未准备好未准备好, ,则循环再查则循环再查 IN AL,03 ;IN AL,03 ;若已准备就绪若已准备就绪, ,则经端口将采样数据输入至则经端口将采样数据输入至A A STOSB ; STOSB ;输入数据转送内存单元输入数据转送内存单元 IN CDL ;IN CDL ;输入模拟量通道增输入模拟量通道增1 1 JNE AGAIN ;8JNE AGAIN ;8个模拟量未输入完则循环个模拟量未输入完则循环 ; ;输入已完输入已完, ,执行别的程序执行别的程序26查询方式的EEPROM编程2817AA0A10A0A108000HI/O0I/O7D0D7D0译码译码A11A19译码译码A0A15 RDY/BUSYIORWERDMEMWMEMRCEnext: mov al,55h;写入内容写入内容55Hmov bx,al ;写入存储单元写入存储单元nop;空操作指令,起延时作用空操作指令,起延时作用nopnext1:in al,dx;查询状态口查询状态口test al,01h;测试测试D0jz next1;D00,芯片还在写入芯片还在写入inc bx;D01,写毕,指针移动写毕,指针移动loop next;循环至全部字节写完循环至全部字节写完277.2.2 中断传送 P252程序程序断点断点主程序主程序中断请求中断请求为为外外设设继继续续执执行行返回断点返回断点传送流程传送流程nCPU执执行行程程序序时时,由由于于发发生生了了某某种种随随机机的的事事件件(外外部部或或内内部部),引引起起CPU暂暂时时中中断断正正在在运运行行的的程程序序,转转去去执执行行一一段段特特殊殊的的服服务务程程序序(称称为为中中断断处处理理程程序序),以以处处理理该该事事件件,该该事事件件处处理理完完后后又又返返回回被被中中断断的的程程序序继继续续执执行行,这一过程称为中断。这一过程称为中断。提提供供服服务务中断服务程序中断服务程序入口入口28中断传送与接口n中断传送是一种效率更高的程序传送方式中断传送是一种效率更高的程序传送方式n进行传送的进行传送的中断服务程序是预先设计好的中断服务程序是预先设计好的n中断请求是外设随机中断请求是外设随机向向CPU提出的提出的nCPU对对请请求求的的检检测测是是有有规规律律的的:一一般般是是在在每每条条指指令令的的最最后后一一个个时时钟钟周周期期采采样样中中断断请请求求输输入引脚入引脚n本书主要论述中断在输入和输出方面的应用本书主要论述中断在输入和输出方面的应用n中断还有着非常广泛的应用中断还有着非常广泛的应用29三态三态缓冲器缓冲器中断传送与接口(续)D0D7+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器RQ 译码译码8001H中断向量号中断向量号D0D7INTRD输入输入设备设备中断允许中断允许触发器触发器A0A15中断请求中断请求触发器触发器IORINTASTB307.2.3 DMA传送方式n希望克服程序控制传送的不足:希望克服程序控制传送的不足:外设外设CPU存储器存储器外设外设CPU存储器存储器n直接存储器存取直接存储器存取DMA:不经不经CPU,不用指令不用指令 外设外设存储器存储器(DMA写写) 外设外设存储器存储器(DMA读读) 扩展扩展:外设外设 外设外设nCPU出出让让系系统统总总线线(输输出出高高阻阻),由由DMA控控制制器器(DMAC)接管系统总线接管系统总线31DMA传送的工作过程 CPU对对DMA控制器进行初始化设置控制器进行初始化设置 外外设设、DMAC、CPU, 3者者通通过过应应答答信信号号建建立立联联系系:CPU将将总总线线暂暂交交DMAC控控制制,事事后后再再将将控制权返还。控制权返还。 DMA传送传送nDMA读读:存储器:存储器 外设外设nDMA写写:存储器:存储器 外设外设 DMAC的功能:的功能:n对存储器寻址地址动对存储器寻址地址动加加1/减减1n计数器减计数器减1n判断传送是否完成判断传送是否完成传送流程传送流程32DMA传送( 以DMA 写为例)-MEMW-IOR数据总线数据总线地址总线地址总线输输入入设设备备存存储储器器DMACCPUHOLDHLDA33DMA传送流程HLDA发存储器地址发存储器地址传送数据传送数据传送结束?传送结束?DMA结束结束修改地址指针修改地址指针34DMA操作的基本方法n周周期期挪挪用用:把把CPU不不访访问问存存储储器器的的那那些些周周期期挪挪用来进行用来进行DMA操作。操作。n周周期期扩扩展展:DMAC发发出出请请求求信信号号,时时钟钟电电路路把把供供给给CPU的的时时钟钟周周期期加加宽宽,CPU在在加加宽宽的的时时钟周期内不向下操作,以便进行钟周期内不向下操作,以便进行DMA操作。操作。nCPU停停机机:最最常常用用、简简便便。DMAC发发出出请请求求,CPU在在当当前前总总线线周周期期结结束束,让让出出总总线线,由由DMAC控制总线进行控制总线进行DMA。35DMA传送方式(两种)n单单字字节节方方式式:每每次次DMA请请求求只只传传送送1个个字节。字节。n字字节节组组传传送送方方式式:每每次次DMA请请求求连连续续传传送送1个数据块。个数据块。36传送方式的比较n无条件传送无条件传送:慢速外设需与:慢速外设需与CPU保持同步保持同步n查询传送查询传送: 简单实用,效率较低简单实用,效率较低n中中断断传传送送:外外设设主主动动,可可与与CPU并并行行工工作作,但每次传送需要大量额外时间开销但每次传送需要大量额外时间开销 nDMA传传送送:DMAC控控制制,外外设设直直接接和和存存储储器器进行数据传送,适合大量、快速数据传送进行数据传送,适合大量、快速数据传送37第6章教学要求1. 掌握掌握I/O端口编址方法端口编址方法2.掌掌握握CPU与与外外设设交交换换信信息息的的方方式式:无无条条件件、查询传送方式、中断、查询传送方式、中断、DMA3. 理解中断方式理解中断方式5. 理理解解DMA传传送送的的工工作作过过程程,掌掌握握DMA操操作的基本方法、两种作的基本方法、两种DMA传送方式。传送方式。38“就绪(Ready)”的含义n在在输入输入场合:场合:n“就就绪绪” 说说明明输输入入接接口口已已准准备备好好送送往往CPU的的数数据据,正等着正等着CPU来读取来读取n该状态也可用接口中数据缓冲器已该状态也可用接口中数据缓冲器已“满满”来描述来描述n在在输出输出场合:场合:n“就就绪绪” 说说明明输输出出接接口口已已做做好好准准备备,等等待待接接收收CPU要输出的数据要输出的数据n该该状状态态也也可可用用接接口口数数据据缓缓冲冲器器已已 “空空”、或或者者用用接口(外设)接口(外设)“闲闲” 或或 “不忙不忙” 来描述来描述“就绪就绪”满、空、闲、不满、空、闲、不忙忙48
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号