【教学课件】第六章输入输出接口.ppt

上传人:小飞机 文档编号:5663779 上传时间:2023-08-07 格式:PPT 页数:83 大小:1.96MB
返回 下载 相关 举报
【教学课件】第六章输入输出接口.ppt_第1页
第1页 / 共83页
【教学课件】第六章输入输出接口.ppt_第2页
第2页 / 共83页
【教学课件】第六章输入输出接口.ppt_第3页
第3页 / 共83页
【教学课件】第六章输入输出接口.ppt_第4页
第4页 / 共83页
【教学课件】第六章输入输出接口.ppt_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《【教学课件】第六章输入输出接口.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第六章输入输出接口.ppt(83页珍藏版)》请在三一办公上搜索。

1、第六章 输入/输出接口,6.1 输入/输出接口概述6.2 I/O指令和地址译码 6.3 PC系统总线(放到本章后面详细讲述)6.4 数字通道接口6.5 模拟通道接口(略),6.1 输入/输出接口概述,接口解决微处理器与外设之间的差异 外设种类多信号类型有机械的、物理的、电信号等信号形式有脉冲、模拟量或数字量数据传输率不同数据格式不同数据传输方式不同,有并行、串行之分CPU与外设都是面向接口而非直接联络,接口电路中的信息,数据信息、状态信息及控制信息,数据信息,数据信息:要交换的数据本身。数字量:通常以8位或16位的二进制数以及ASCII码的形式传输,主要指由键盘、磁带机、磁盘等输入的信息或主机

2、送给打印机、显示器、绘图仪等的信息开关量:用“0”和“1”来表示两种状态,如开关的通/断模拟量:模拟的电压、电流或者非电量。对模拟量输入而言,需先经过传感器转换成电信号,再经A/D转换器变成数字量;如果需要输出模拟控制量的话,就要进行上述过程的逆转换数据传输方向:CPU I/O接口外设,控制信息,控制信息:控制外设工作的命令,CPU通过接口发出,如A/D转换器的启/停信号数据传输方向:CPUI/O接口处设,状态信息,状态信息:表征外设工作状态的信息对输入接口,CPU是否准备好接收数据,“READY”准备好吗?对输出接口,外设是否准备好接收数据,“BUSY”外设忙吗?数据传输方向:CPUI/O接

3、口外设,I/O端口,传送这三种信息的接口电路中的寄存器称为数据、状态和控制端口不同的寄存器有不同的端口地址,即用地址访问端口由一个或多个寄存器组成接口由若干个端口加上相应的控制逻辑组成,接口的基本功能,数据缓冲功能设备选择功能信号转换功能接收、解释并执行CPU命令的功能中断管理功能可编程功能,接口电路的结构,实现对CPU数据总线速度和驱动能力的匹配,实现各寄存器端口寻址操作,实现接口电路中的各寄存器端口的读/写操作和时序控制,接口电路的分类,数据传送方式:并行接口串行接口 功能选择的灵活性:可编程接口不可编程接口 数据传送操作的同步方式:同步接口异步接口 通用性:通用接口专用接口,6.1.2.

4、2 传输控制方式,外设的速度与CPU相比要慢好几个数量级,且不同外设之间的速度也相差很大,为了保证数据传输的可靠性,CPU一定要等外设准备就绪之后才能执行输入/输出操作,而外设就绪的时刻对CPU而言是随机的,因此需要同步。三种I/O同步控制方式:程序控制方式:无条件传送和程序查询传送中断控制方式直接存储器存取方式:DMA方式,无条件程序控制方式(一),最简单的I/O控制方式,CPU可以随时根据需要无条件地读写I/O端口外设要求:简单,数据变化缓慢,操作时间固定,如一组开关或LED显示管。外设被认为始终处于就绪状态接口特点CPU的DBI/O接口(输出锁存器)外设CPU的DBI/O接口(输入缓冲器

5、)外设,无条件程序控制方式(二),无条件程序控制方式(三),例6.5 START:MOV DX,INPORTIN AL,DX;读入按键状态TEST AL,01H;判断最低位按键 JNZ K1;最低位按键没闭合,转MOVAL,01H;最低位发光JMPDISPK1:TEST AL,02H;JNZ K2;次低位按键没闭合,转MOVAL,03H;最低2位发光JMPDISP.,DISP:MOV DX,OUTPORTOUT DX,AL;JMP START,程序查询输入方式(条件传送方式),接口特点:避免了对端口的“盲读”、“盲写”,数据传送的可靠性高,并且硬件接口相对简单。缺点是CPU工作效率低,I/O响

6、应速度慢;,外设要求:状态口和数据口,在有多个外设的系统中,CPU的查询顺序由外设的优先级确定,一种CPU主动、外设被动的I/O操作方式,很好地解决了CPU与外设之间的同步问题,查询控制的程序流程,程序查询方式的输入接口电路,数据端口(8位),状态端口(1位),状态信息占用数据线的D0位,查询程序如下:QUERY:IN AL,S_PORT;状态口地址SAR AL,1JNCQUERYINAL,D_PORT;D_PORT是数据口地址,查询输入程序,查询方式的A/D采样,WAIT:IN AL,51H;读状态端口的值TESTAL,10H;判断D4是否为1?JZ WAIT;不是1,等待IN AL,50H

7、;读数据端口的值MOVBUF,AL;将数据送到数据缓冲单元,程序查询方式的输出接口电路,数据端口(8位),状态端口(1位),输入状态信息,BUSY?,输出数据信息,QUERY:INAL,S_PORT;状态口地址SARAL,1JCQUERYOUT D_PORT,AL;D_PORT数据口地址,查询输出程序,查询方式的打印机接口,WAIT:IN7AH,AL;读状态端口TEST AL,04H;判断D2是否为0?JNZWAIT;不是0,等待MOVAL,BUF;取数据OUT78H,AL;将数据送到打印机接口,多个外设的查询,CPU周期性地依次查询每个外设的状态优先权决定了查询次序不具有实时性,查询式8路模

8、拟数据采集系统,D0 D1 D2,A/D转换器,D3,中断控制方式,接口特点:避免了CPU 反复低效率的查询,适用于CPU任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;(中断控制芯片),CPU被动而外设主动的I/O操作方式,较大地提高了CPU的工作效率,并使系统具有了实时处理功能,中断控制方式,数据缓冲,控制端口,外设,INTR,中断可被响应的条件:中断请求触发器置位;中断屏蔽触发器清零;CPU内部开放中断;CPU未处理更高级中断;CPU现行指令执行完;,中断工作过程,外设需要CPU服务时外设I/O接口向CPU发中断请求,INTR=H(中断请求有效)CPU执行完当前

9、指令后,(注:若IF=1)CPU I/O接口 外设发中断响应,/INTA=LCPU执行中断服务程序,CPUI/O接口外设读写数据,DMA控制方式(存储器直接存取),内存与外设间有大量数据交换时,采用中断方式,每传送一次数据,就必须经历中断处理的全部步骤,而且一般需要借助CPU内部的寄存器作为中介DMA方式:不用CPU的寄存器作传数中介,完成存储器和外设间的直接传数,CPU必须将系统总线的控制权让给DMAC,DMA方式原理方框图,DB HOLD CPU HLDA AB,DMAC,MEM,I/O,DMA的工作流程,DMAC发存储器地址,在总线上传送数据,传送结束?,修改地址指针,DMA结束,交还总

10、线权,Y,N,DMAC的结构,数据,端口,状态,/,控制,端口,DMA,控制器,地址寄存器,计,数,器,控制,/,状态寄存器,C,P,U,存,储,器,数据缓冲,寄存器,DMA,请求,触发器,输,入,设,备,DMA,响应,Ready,DMA,请求,HOLD,HLDA,DMA操作的基本方法,周期挪用:挪用CPU不访问存储器的周期不影响或减慢CPU的操作 不易识别可被挪用的周期,硬件电路复杂,数据传送不连贯、不规则 周期扩展:延长CPU的时钟周期CPU在加宽了的周期内不会进行下一步操作,正好用来进行DMA 降低CPU的处理速度 CPU停机:最简单也是最常用的DMA传送方式 迫使CPU让出总线控制权,

11、整个DMA期间,CPU都一直处于空闲状态 会降低CPU的利用率,并可能影响到CPU对中断的响应和DRAM刷新,DMAC必须具备的功能,向CPU发出总线请求信号HOLD。CPU出让总线控制权时,能接收CPU的应答信号并接管总线,进入DMA方式。有寻址功能,对存储器及I/O寻址并修改地址具有控制逻辑,能发出读/写控制信号。决定传输的字节数,并判断DMA是否结束。发出DMA结束信号,使CPU恢复正常工作状态,6.2 I/O指令和I/O地址译码,为了区分接口电路的各个寄存器,系统为它们各自分配了一个地址,称为I/O端口地址,以便对它们进行寻址并与存储器地址相区别I/O端口有两种编址方式:存储器映像方式

12、、I/O独立编址方式,1、存储器映像编址,指I/O端口与存储器共享一个寻址空间,又称为统一编址。在这种系统中,CPU可以用同样的指令对I/O端口和存储器单元的进行访问。优点:对I/O口的访问灵活方便,有利于提高端口数据的处理能力。缺点:I/O端口占用了主存地址,相对减少了主存的可用范围。,2、I/O独立编址(一),指主存地址空间和I/O端口地址空间相互独立,分别编址。CPU通过指令来区分是访问I/O口还是存储单元优点:主存和I/O端口的地址可用范围都比较大;缺点:I/O指令的功能一般比较弱,在I/O操作中必须借助CPU的寄存器进行中转,2、I/O独立编址(二),80X86系列微处理器采用独立的

13、I/O编址方式CPU使用地址总线中的A0A15来寻址I/O口,故最大I/O空间是64K个字节端口(或32K个字端口),两种编址方式比较(一),两种编址方式比较(二),I/O接口的访问控制,微机系统的每个端口都有惟一的端口地址端口地址:经译码电路译码后产生端口选通信号,控制端口的读/写操作,I/O端口的地址分配,80X86系列微处理器提供16条地址线访问I/O端口,编址可达64K个字节端口或者32K个字端口。IBM系列采用非完全译码方式,即只考虑了低10位地址线A0-A9,I/O端口地址范围是0000H-03FFH,总共只有1024个端口 80386微处理器或此后的微处理器构成的微机系统,采用全

14、译码的方法,端口为64K个字节端口或32K个字端口,I/O端口地址选用的原则,自行设计接口电路或给微机系统添加接口卡时,必须避免端口地址发生冲突 申明保留的地址,不要使用用户可使用300H-31FH地址,I/O端口的地址译码,将来自地址总线上的地址代码翻译成为所需要访问的端口 I/O端口地址译码电路结构 译码电路的输入信号地址信号:由地址范围决定 控制信号:数据流向(读/写)、数据宽度(8位/16位)、是否采用奇/偶地址和DMA传送方式 译码电路的输出信号:接口芯片的片选信号 端口的读写控制:输入需要缓冲,输出需要锁存,输入缓冲电路,当读有效时,才将缓冲器中的三态门打开,使外设的数据进入系统的

15、数据总线其它时间,三态门处于高阻状态,不影响总线上的其它操作,微处理,器系统,外部输,入设备,A,0,B,0,A,1,B,1,A,2,B,2,A,3,B,3,A,4,B,4,A,5,B,5,A,6,B,6,A,7,B,7,E,DIR,2,3,4,5,6,7,8,9,18,17,16,15,14,13,12,11,1,19,DIR=1,,,A,B,DIR=0,,,B,A,74LS245,输出锁存,选中锁存器时,总线上的数据才能进入锁存器此后不管总线上的数据(锁存器输入端)如何变化,只要没有再次使锁存器的信号有效,锁存器的输出端就一直保持原来锁存的信息不变。,微处理,器系统,外部输,出设备,D,0

16、,Q,0,D,1,Q,1,D,2,Q,2,D,3,Q,3,D,4,Q,4,D,5,Q,5,D,6,Q,6,D,7,Q,7,CLK,CL,R,3,4,7,8,13,14,17,18,2,5,6,9,12,15,16,19,74LS273,11,74LS32,+5V,1,I/O地址译码方法,地址译码的方法灵活多样 高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片的片选信号CS,实现系统中的接口芯片寻址 低位地址线直接接到I/O接口芯片的地址引脚,进行I/O接口芯片的片内端口寻址,I/O端口地址译码电路设计,译码电路的形式固定式译码:接口中用到的端口地址不能更改 可选式译码:译码电

17、路采用的元器件来分门电路译码译码器译码可编程逻辑器件译码,读077AH端口地址译码电路,端口地址的二进制形式,A15 A14 A1 A0,0000 0111 0111 1010,执行MOV DX,77AHINAL,DX,读/写操作77AH端口地址的译码电路,IOW,W,77AH,74LS,32,1,1,1,R,77AH,1,译码器译码,A15A8为译码器使能,A7A5决定芯片端口范围,A4A0选择芯片片内端口,2A,G,G,DMACS,A,A,5,B,A,6,C,A,7,1,AEN,0,Y,INTRCS,1,Y,T/CCS,2,Y,PPICS,3,Y,4,Y,5,Y,6,Y,7,Y,2B,G,

18、A,10,A,9,&,A,11,A,8,A,14,A,13,&,A,15,A,12,74LS20,74LS138,74LS06,可选式端口地址译码器,通过开关使接口卡的I/O端口地址根据需要加以改变而无需改动硬件电路,能适应不同的地址分配场合 其电路可由地址开关、译码器、比较器和基本门电路等组成,用比较器组成的可选式译码电路,A9-A6=开关状态时,比较器才输出高电平,译码器才能工作,通过设置不同的开关状态,就可以选择不同的地址范围,12,可编程逻辑器件作译码电路,可编程逻辑器件包括GAL、CPLD和FPGA通常一片GAL器件的电路规模可达几百门,而FPGA可达几百万门这些器件可以被多次修改和

19、反复使用的只需要修改软件,就可以改变译码电路,6.3 PC机的系统总线(放在本章后详细讲述),6.4 基本输入输出接口,键盘/鼠标接口 数码管显示接口 并行打印机接口,键盘接口,线性键盘:按键并联方式与I/0端口连接每一个按键需要占用I/O端口的一根口线 由程序处理按键的操作情况矩阵键盘:按键按照行、列方式排列 比线性键盘节约I/0口线 非编码键盘:CPU处理按键的操作,减低了CPU的效率 编码键盘:专用的单片机处理按键操作,缓减了CPU的负担,矩阵键盘结构,8,位,并行,输入,端口,8,位,并行,输出,端口,+5V,10k,10k,10k,10k,第,0,行,第,1,行,第,2,行,第,7,

20、行,第,0,列,第,1,列,第,2,列,第,3,列,第,7,列,行扫描法(一),第一步:判断是否有键按下 输出端口的各位都为低电平,即各列都为0 读取输入端口数据,如果输入不等于FFH,则有键被按下,MOVAL,00H;MOVDX,OUTPORT;OUTDX,ALMOVDX,INPORT;IN AL,DX;ANDAL,0FFHCMPAL,0FFH,行扫描法(二),第二步:确定按键号确定按键的列数:输出扫描值,使某一列为低电平,其它列为高电平;读取行值,看是否有行线处于低电平 确定按键的行数:循环右移行值,直到为0,行扫描法程序流程,是否有一行接地?,键盘,命令,处理,是,MOVBL,0MOVD

21、L,8MOVCL,0FEH,MOV AL,CLOUT OUTPORT,AL,IN AL,INPORTCMPAL,0FFH,ROLAL,1MOVCL,AL,RCR AL,1JNC PROCINC BL,微机键盘接口,其接口电路通常集成在主板上最早的键盘接口是用8255实现的,而鼠标则通过RS-232串口实现目前微机系统的键盘/鼠标是PS/2接口。微机键盘单片机自动地识别键的按下与释放,自动生成相应的扫描码,并以串行方式发送扫描码到主机主机根据扫描码转换为反映键功能的ASCII码严格地说,微机键盘仍属于非编码键盘,键盘/鼠标接口引脚定义,通过数据线DATA和时钟线CLK两根线,就可以实现主机和PS

22、/2设备之间的通信,PS/2键盘接口时序,(a)是键盘向主机发送数据时的PS/2接口时序图(b)是主机向PS/2键盘发送数据的时序图,CLK,DATA,D,0,D,1,D,2,D,3,D,4,D,5,D,6,D,7,P,S,E,起始,校验,停止,(a),(b),S,DATA,D,0,D,1,D,2,D,3,D,4,D,5,D,6,D,7,P,起始,校验,停止,主机,CLK,键盘,键盘的BIOS调用,DOS的1H、6H、7H、8H、0AH、0BH、0CH功能接收单个字符或字符串,比INT 16H更方便 但INT 16H一次可读取一个字符的扩充ASCII码,而DOS功能调用需要两次才能读取1个字符

23、的扩充ASCII码,INT 16H功能调用,MOV AH,0H INT16HCMPAL,0H;AL如果为0,AH为键盘扩充ASCII码JE EXCDJMPERREXCD:CMP AH,3BH JEOPT1 CMPAH,3CH JEOPT2 CMPAH,3DH JE OPT3ERR:OPT1:OPT2:OPT3:,鼠标接口,仍然是PS/2接口 PS/2鼠标有四种工作模式 RESET模式 STREAM模式 REMOTE模式 WRAP模式 鼠标发送的数据包格式,INT 33H功能调用(一),初始化鼠标驱动程序:功能号0 XORAX,AX;功能号0INT 33H;初始化驱动程序 显示或隐藏鼠标光标:功

24、能号1、2 MOVAX,0001H;显示鼠标光标功能号INT33HMOVAX,0002H;隐藏鼠标光标功能号INT33H,INT 33H功能调用(二),取得或设置鼠标光标的位置:功能号3、4监视鼠标按钮状态:功能号5和6 设定鼠标光标在屏幕上的范围:功能号7、8跟踪鼠标光标的移动:功能号0BH,数码管显示接口,共阴结构 阴极控制端为低电平时,LED工作 输入控制端为高电平时,对应的发光管亮 共阳结构 阳极控制端为高电平时,LED工作 输入控制端为低电平时,对应的发光管亮 段选码,静态显示,段(发光二极管)恒定地导通或截止,直到显示另一个字符为止 各个数码管的输入控制端相互独立,并与接口电路的输

25、出端口相连 占用I/O端口资源多:数码管的个数为M时,需要的接口口线数目为8M。所以显示位数较多时,需要采用动态显示方式,动态显示,所有数码管共享输入控制端 需要的口线数8+数码管的个数 M 工作原理:动态地轮流点亮各个LED位选码:选择被点亮的LED 段选码:显示什么字符通常通过查找表的方式实现,动态显示例子,MOV DI,OFFSET DISDAT,MOV AL,DI;AL=17,LEA BX,TABLE,XLAT;AL=76H“H”,OUT SEGPORT,AL;AL=76H“H”,MOV CL,0DFH;CL=1101,1111,76H,OUT BITPORT,AL;AL=CL=110

26、1,1111,0 1 1 1 1 1,INC DIMOV AL,DI;AL=79H,H,79H,ROR CL;CL=1110,1111,1 0 1 1 1 1,E,OUT SEGPORT,AL;AL=76H“H”,MOV CL,0DFH;CL=1101,1111,76H,OUT BITPORT,AL;AL=CL=1101,1111,0 1 1 1 1 1,INC DIMOV AL,DI;AL=79H,H,79H,ROR CL;CL=1110,1111,1 0 1 1 1 1,E,并行打印机接口,打印机提供了与微机系统相连的36芯Centronics连接器 微机上的并口采用的是DB25 最主要的

27、信号:8根数据线,2根握手联络信号线/STROB和/ACK、1根状态信号线BUSY,Centronics标准时序图,BUSY,数据有效,DATA,数据有效,ACK,5,s,STROB,5,s,并行打印机接口框图,D,0,D,7,DIR,AEN,IOR,A,0,A,9,IOW,IRQ,复位,写数据,读数据,写控制,读控制,读状态,数据线,控制,线,状态线,5,4,8,4,输出数据,寄存器,数,据,收,发,器,命,令,译,码,器,输入数据,缓冲器,控制寄存器,状态寄存,器,(2),状态寄存,器,(1),集,电,极,驱,动,器,打,印,机,打印机端口,三个打印机接口,使用的起始端口地址分别为278H

28、、378H、3BCH,每个打印机接口工作在基本模式时,各占用起始端口地址开始的3个连续端口地址 当只配置一个打印机接口时,默认的端口地址为378H-37FH,且378H为数据端口地址、379H为状态端口地址、37AH为控制端口地址,控制寄存器格式,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,未定义,1,:有效,1,:数据口输入模式,0,:数据口输出模式,中断允许信号,打印机允许信号,SLCTIN,初始化信号,INIT,自动换行信号,AUTOLF,选通信号,STROB,状态寄存器格式,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,0,:收到数据,1,:无纸,

29、1,:打印机在线,0,:发生错误,1,:未发生中断,1,:不忙,1,:,EPP,模式超时,未定义,打印机接口编程(一),直接对端口地址进行编程操作MOVDX,378H;指向输出数据口OUTDX,AL;输出字符(ASCII码)MOVDX,379H;指向状态端口WAIT:IN AL,DX;读打印机状态TESTAL,10000000B;检查打印机是否忙?JEWAIT;忙,继续等待MOVAL,00001001B;发送选通信号MOVDX,37AH;控制端口OUTDX,ALMOVAL,00001000B;选通信号复位OUTDX,AL,打印机接口编程(二),BIOS中断功能调用,中断类型号是17H MOV AH,0;功能号0MOV AL,P;待打印字符MOV DX,0;打印机接口号INT 17H;中断功能调用TEST AH,01H;检测是否超时 JNZ ERROR;超时,转出错处理,IEEE1284并行接口工作模式,硬件上完全与原打印机接口标准兼容 传输速率有较大提高,而且为双向传输。定义了兼容模式、半字节模式、字节模式、ECP(Extended Capabilities Port)模式和EPP(Enhanced Parallel Port)模式等五种传输模式,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号