收藏 分享(赏)

第9章-输入输出方法及常用的接口电路.ppt

上传人:天天快乐 文档编号:588799 上传时间:2018-04-13 格式:PPT 页数:75 大小:1.21MB
下载 相关 举报
第9章-输入输出方法及常用的接口电路.ppt_第1页
第1页 / 共75页
第9章-输入输出方法及常用的接口电路.ppt_第2页
第2页 / 共75页
第9章-输入输出方法及常用的接口电路.ppt_第3页
第3页 / 共75页
第9章-输入输出方法及常用的接口电路.ppt_第4页
第4页 / 共75页
第9章-输入输出方法及常用的接口电路.ppt_第5页
第5页 / 共75页
点击查看更多>>
资源描述

1、第9章 输入/输出方法及常用的接口电路,重点掌握I/O端口地址编址方式、输入、输出的程序控制方式、中断控制方式、DMA控制方式及最基本的I/O接口技术。重点掌握并行接口、串行接口工原理;常用可编程接口芯片8255、8253的外部特性与系统的接口及应用技巧。,教学目的和要求,9.1 I/O接口的概念与功能,9.1.1 接口电路的概述 所谓接口就是微处理器与外围设备之间的连接电路,它是两者之间进行信息交换时的必要通路,不同的外设有不同的输入/输出接口电路。例如,键盘输入有键盘接口电路,CRT显示器有显示器输出接口电路,打印机也有打印输出接口电路等等,I/O接口是位于系统与外设间、用来协助完成数据传

2、送和控制任务的逻辑电路PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,一、什么是I/O接口(电路)?,微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与CPU直接相连必须经过中间电路再与系统相连这部分电路被称为I/O接口电路,二、为什么需要I/O接口(电路)?,处理微机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备,三、什么是微机接口技术?,9.1.2 接口电路的基本功能,1、对输入/输出数据进行缓冲、隔离和锁存对输入接口,其内部有其缓冲和隔离作用

3、的三态门电路。对输出设备,需在接口电路中设置锁存器。外设经接口电路与总线相连,其连接方法必须遵循“输入要三态、输出要锁存”的原则。(1),9.1.2 接口电路的基本功能,2、对信号的形式和数据格式进行交换与匹配CPU只能处理数字信号,信号的电平一般在0-5V之间,而且提供的功率很小。而外部设备的信号形式多种多样,有数字量、模拟量、开关量等等。所以,在输入/输出时,必须将信号转变为适合对方需要的形式。,9.1.2 接口电路的基本功能,3、提供信息相互交换的应答联络信号计算机执行指令时所完成的各种操作都是在规定的时钟信号下完成的,并有一定的时序。而外部设备也有自己的定时与控制逻辑,通常与CPU的时

4、序是不同的。外设接口就需将外设的工作状态(如“忙”、“就绪”、“中断请求”)等信号及时通知CPU,CPU根据外设的工作状态经接口电路发出各种控制信号、命令及传递数据。,9.1.2 接口电路的基本功能,4、根据寻址信息选择相应的外设一个计算机系统往往有多种外部设备,CPU在某一时段只能与一台外设交换信息,因此需要通过接口的地址译码对外进行寻址,以选定所需的外设,只有选中的设备才能与CPU交换信息;同时,当同时有多个外设需要与CPU交换数据时,也需要通过外设接口来安排其优先顺序。,9.1.3 I/O接口电路的基本结构与分类,一、I/O接口电路的连接 (2)m/io,二、I/O接口电路中的基本寄存器

5、,I/O接口电路中一般具有三种类型的基本寄存器,它们是用于存取数据的寄存器,存取命令信息的寄存器以及存取外设所处状态的寄存器,习惯上把这些寄存器称为端口1、数据端口2、命令端口3、状态端口,1数据端口,用于中转数据信息。一种情况是CPU通过数据总线,将待传送给外设的数据先传送到数据端口,然后由I/O设备通过与I/O接口电路相连接的数据线取得该数据另一种情况是I/O设备首先将输入数据锁存于数据端口,然后,CPU通过数据端口将该数据读入CPU中。数据端口一般既有输出寄存器(或称输出锁存器),又有输入寄存器(或称输入锁存器),2、命令端口,用于传送对I/O设备的命令信息。CPU将命令信息通过数据总线

6、写入I/O接口电路的命令寄存器中,然后传送到I/O设备,以便控制外设的操作。,3、状态端口,用于传送外设所处的状态信息。状态端口是输入端口,CPU通过读取状态端口的数据,以此了解外设当前所处的工作状态,比如,如果是输入设备,则可以通过状态信息了解输入设备是否有了等待输入的新数据,如果是输出设备,CPU通过读入的状态信息,可以了解输出设备是否作好了接受CPU传送新数据的准备。,总之,I/O接口电路中一般有数据端口、命令端口以及状态端口,每个端口地址是不相同的,CPU均通过数据总线来传送三种端口的数据。有些I/O接口中,还有中断控制逻辑电路,以便外设与CPU之间以中断方式进行输入或输出,其优点是可

7、以提高CPU的工作效率,9.1.4 I/O端口的编址方式,端口是接口电路中能被CPU直接访问的寄存器的地址。由于有的寄存器寄存的二进制信息专门用来被CPU读取,有的寄存器用于专门接收CPU发出来的数据,因此,被CPU访问的寄存器的地址分为输入端口和输出端口,故称为I/O端口 CPU同外设之间的信息传送实质上是对这些寄存器 进行“读”或“写”操作。,从内存空间划出一部分地址空间留给I/O设备编址,CPU把I/O端口所指的寄存器当作存储单元进行访问,直接用访问内存的指令访问I/O寄存器,这种I/O端口的编址方式被称之为统一编址,或称为存储器映像的I/O编址方式。,一、统一编址,优点:不需要设立专门

8、的I/O指令,用访问内存的指令就可以访问外设,指令类型多,功能齐全,还,统一编址优缺点(3)这种类型就不要用数据总线了?,可以对端口进行算术运算,逻辑运算以及移位操作等。I/O端口空间不受限制 缺点:是I/O端口占用了内存空间,减少了内存容量,二、专门的I/O编址方式,接口电路中所有的I/O端口统一编址,而所有I/O端口建立的地址空间与内存地址空间是两个独立的地址空间,也常称这种方式为独立编址方式。,专用I/O编址的优缺点,优点:不占用内存空间,使用专门I/O指令访问I/O端口,I/O速度快IN AL,PORTIN AL,DXOUT PORT,AXOUT DX,AX 缺点:CPU的引脚上必须具

9、有能区分出访问内存还是访问I/O端口的信号,作为I/O接口电路中端口译码电路以及存储器片选译码电路的输入信号)(4),9.2 基本的输入/输出方法,CPU以及I/O设备的种类繁多,CPU与I/O设备所构成的系统不可能完全相同,CPU与I/O设备之间传输数据的方式也不完全相同,接口电路的结构与功能也不同,驱动程序也不相同一般可以划分为五种传输数据的方式:无条件I/O传送方式、查询式输入输出方式、中断控制方式、DMA方式以及I/O处理器控制方式,一、无条件输入输出方式,无条件输入输出方式是一种最简单的输入/输出控制方式,其I/O接口电路及软件比较简单,所有的操作均由执行程序来完成。特点:输入接口电

10、路总是准备好了等待输入给CPU的数据,输出接口电路总是准备好了接受来自CPU的数据。CPU无须查询I/O设备是否准备就绪,直接用汇编语言或高级语言编程,实现输入或输出操作。 此种方式的接口电路是查询式输入输出方式接口电路的基础。(5)是查询式的一种特例,二、查询式输入输出方式,1查询式输入方式,必须提供两种端口数据口数据的传送状态口外设的工作状态 当CPU采用查询方式从外设读取数据时,CPU必须首先从状态端口查询外设的数据是否已经准备好,确认已准备好后,才能执行一次数据输入操作。,例:假设状态端口与数据端口的地址分别为300H和301H,状态信息从数据总线上的D0位读入CPU中,查询式输入程序

11、段如下: MOV DX,300H ; 状态口地址传送给DXABC:IN AL,DX ;读入状态信息 TEST AL,01H ;AL01H,影响ZF标志 JZ ABC ; 如果状态信息为0转ABC MOV DX,301H;数据端口地址传送给DX IN AL,DX ; 读入数据信息,2查询式输出方式,当CPU采用查询方式向外设输出数据时,CPU必须首先从状态端口查询外设是否已经作好了接受CPU数据的准备,若没有准备好,则要继续查询,若准备好了,CPU便执行一次数据输出操作,例:假设状态端口与数据端口的地址分别为3FOH和3F1H,状态信息从数据线上D7位读入CPU中,查询式输出程序段如下: MOV

12、 DX,3F0H ; 状态口地址传送给DXCBA:IN AL,DX ; 读入状态信息 TEST AL,80H ; AL80H,影响ZF标志 JZ CBA ; 如果状态信息为0则转CBA MOV DX,3F1H ; 数据端口地址传送给DX MOV AL,SI ; 从内存读取数据给AL OUT DX,AL ; 向数据口输出数据,三、中断方式输入输出,只有当外围设备要传送数据时才向CPU发出中断请求信号。,缺点:1)计算机内部要有相应的中断控制电路,外围设备要提供中断请求信号及中断类型号。2)利用中断输入输出,每传送一次数据就要中断一次CPU。一般适合于传送少量的输入输出数据以及中低速的外围设备。,

13、四、直接存储器存取(DMA)方式,DMA(Direct Memory Access)即直接存储器存取方式,是指在专门的DMA控制器的控制下实现外围设备与内存储器直接交换数据的一门接口技术。在这种方式下,数据传输不经过CPU,传送的速度就只取决于存储器和外设的工作速度。,五、I/O处理器控制方式,中断方式输入输出仍然是一种程序控制方式,DMA传送方式只能实现比较单纯的数据传送,在大型计算机系统与高档微机中,外设数量多,传输速度快,I/O操作频繁,为了进一步减轻CPU的负担,提高整体性能,采用了I/O处理器(IOP)控制方式来实现外设数据的I/O传送,IOP处理技术也称之为通道技术,IOP也被称之

14、为“通道”。 (6),芯片应用举例,设计一接口电路,构成16个发光管流水灯,口地址85H86H。编一驱动程序使发光管从上到下依次发光。,MOVBX,01HNEXT:MOVAL,BHOUT85H,ALMOVAL,BLOUT86H,ALMOVCX,0FFFHLOP:LOOPLOP;延时SHLBX,1JNZNEXTHLT,补充可编程接口芯片概述,接口电路具有的电路单元:(1)输入/输出数据锁存器和缓冲器,用以解决CPU和外设之间速度比匹配的矛盾,以及起隔离和缓冲的作用。(2)控制命令和状态寄存器,以存放CPU对外设的控制命令,以及外设的状态信息。(3)地址译码器,用来选择接口电路中的不同端口。(4)

15、读写控制逻辑。(5)中断控制逻辑。,一、片选概念 同内存储器的读/写操作相仿,必须要有一个地址信号选中接口芯片后,才能使该接口芯片进入电路工作状态,实现数据的输入/输出。,可编程接口芯片概述,二、读/写概念,可编程接口芯片概述,可编程接口芯片概述,可编程接口芯片概述,三、可编程接口的概念 目前所用的接口芯片大部分是多通道、多功能的。 多通道:指一个接口芯片一面与CPU连接,另一面可接几个外设。 多功能:指一个接口芯片能实现多种接口功能,实现不同的电路工作状态。在接口芯片中,各硬件单元不是固定接死的,可由用户在使用中选择。,可编程接口芯片概述,编程控制:通过计算机的指令来选择不同的通道和不同的电

16、路功能。 可编程接口芯片:接口电路的组态(即电路工作状态)可由计算机指令来控制的接口芯片。,可编程接口芯片概述,可编程接口芯片概述,1、输入接口,可编程接口芯片概述,2、输出接口,可编程接口芯片概述,五、接口芯片的引脚概述,接口芯片是CPU与外设之间的界面,它一方面要与CPU打交道,要接收CPU进行输入/输出所发出的一系列信息,另一方面又要与外设打交道,要向外设收发数据以一些联络信号等,因此通用的接口芯片大致包含以下引脚。,可编程接口芯片概述,9.3 可编程并行接口芯片8255A,一、 8255A的内部结构,1、数据总线缓冲器 一个三态8位双向缓冲器,同系统总线相连,CPU通过执行输入和输出指

17、令来实现对缓冲器发送或接收数据。,2、三个8位端口 端口A(PA口):有一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器。 端口B(PB口):有一个8位数据输入缓冲器和一个8位数据输入/输出、锁存/缓冲器。,9.3 可编程并行接口芯片8255A,端口C(PC口):有一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。 通常PA口与PB口用作输入/输出的数据端口,PC口用作控制或状态信息的端口。,9.3 可编程并行接口芯片8255A,3、A组和B组的控制电路 A组控制部件用来控制PA口和PC口的高4位。 B组控制部件用来控制PB口和PC口的低4位。,9.3 可编程并行接口芯片8255A,4

18、、读/写控制逻辑 用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线的A1、A0和控制总线的有关信号,向8255A的A、B两组控制部件发送命令。,9.3 可编程并行接口芯片8255A,二、8255A芯片的引脚信号,8255A的引脚信号如图所示。它为双列直插式封装,除了电源和地线以外,其外部引脚信号可分为两组,一组是面向CPU的信号,一组是面向外设的信号。,9.3 可编程并行接口芯片8255A,1、面向CPU一侧的引脚信号,D7D0,8位,双向RESET,复位信号 CS,片选信号RD,读信号WR,写信号 A1 、A0,端口选择信号,9.3 可编程并行接口芯片8255A,8255A的

19、读/写操作控制,2.面向外设一侧的引脚信号,端口A:PA0PA7A组,支持工作方式0、1、2端口B:PB0PB7B组,支持工作方式0、1端口C:PC0PC7仅支持工作方式0A组控制高4位PC4PC7B组控制低4位PC0PC3,9.3 可编程并行接口芯片8255A,三、8255A的工作方式,方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路,9.3 可编程并行接口芯片8255A,1、方式0,每一个口都作为基本的输入输出口 CPU可采用无条件读写方式与82

20、55A交换数据 如果C口的两个部分分用作控制和状态口,与外设的控制和状态端相连,CPU也可以通过对C口的读写,实现A口与B口的查询方式工作,9.3 可编程并行接口芯片8255A,2、方式1,将三个端口分成A、B两组,A、B两个口仍作为数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。 A、B两个口的工作状态是由CPU写入控制字时设定的,一旦方式已定,就把C口的联络信号位也确定了。(9),9.3 可编程并行接口芯片8255A,(1)端口A方式1作输入:,数据选通信号表示外设已经准备好数据,输入缓冲器满信号表示A口已经接收数据,中断请求信号请求CPU接收数据,端口B方式1作输入:,方

21、式1输入联络信号定义,STB选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据INTE 中断允许信号,高电平有效用于控制中断允许或中断屏蔽,8255A方式1作输入时的各联络信号对应关系,9.3 可编程并行接口芯片8255A,9.3 可编程并行接口芯片8255A,(3)端口A方式1作输出:,外设响应信号表示外设已经接收到数据,输出缓冲器满信号表示

22、CPU已经输出了数据,中断请求信号请求CPU再次输出数据,端口B方式1作输出:,方式1输出联络信号,OBF输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据,8255A方式1作输出时的各联络信号对应关系,9.3 可编程并行接口芯片8255A,3、方式2,通过8位数据线与外设进行双向通信的方式,即能发送,有能接收数据。工作时可以用中断方式,

23、也可以用查询方式与CPU联系。 方式2只限于A组使用,它用A口的8位数据线,用C口的5位进行联络。工作时输入、输出数据都能锁存。当A组在方式2下工作时,B组可以在方式0或方式1工作。,9.3 可编程并行接口芯片8255A,方式2的信号定义,用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号,四、 8255A的初始化,8255A有两种控制字:工作方式选择控制字端口C的按位置位/复位控制字,9.3 可编程并行接口芯片8255A,1、工作方式选择控制字D7=1,2、按位置位/复位控制字(D7=0),3、8255A的初始化编程,初始化编程:一个方式控制

24、字采用控制I/O地址:A1A011工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10,写入方式控制字:示例,要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段:MOV DX,303H;假设控制端口为303HMOV AL,0B1H;方式控制字OUT DX,AL;送到控制端口,8255A的应用举例,一、键盘接口: 编码和非编码,编码键盘提供按键的编码信息。非编码键盘由一组开关组成,由程序识别按键并分配实际意义。 如图所示为8255A组成的非编码键盘接口电路

25、。图中端口A工作在方式0、输出口,端口B也工作在方式0、输入口。,检测键盘输入:1)检测有按下的键?a.端口A输出全“0”到行线上。b.读端口B口,全“1” ,无键闭合;否则,有键按下。2)查找闭合键所在的行编码。a.分别在端口A的每根引线上送出低电平信号。b.读B口,不为全 “1”,该行有键按下。3)查闭合键的列编码。B口读人字节中“0”所在的位。即为按下键的列位置。,PORTA EQU 0FFF8H PORTB EQU 0FFFAH PORTC EQU 0FFFCHPORTCN EQU 0FFFEH MOVDX,PORTCN ;端口A、B方式0 MOVAL,10000010B ;A输出,B

26、为输入 OUT DX,ALWAITK:MOVDX,PORTA ;等待键闭合 MOVAL,0 ;行码送全“0” OUT DX,AL MOVDX,PORTB ;读列码 IN AL,DX CMP AL,0FFH; JZWAITK ;无键按下,继续等待 MOVBL,0 ;扫描,送键号初值 MOVBH,11111110B ;初始扫描行码FEH MOV CX,8FNDROW:MOVAL,BH ;送行码 MOV DX,PORTA OUTDX,AL ROLBH,1 ;修改行码 MOVDX,PORTB ;读列码 IN AL,DX CMP AL,OFFH JNZFNDCOL ;有键按下,查列号 ADDBL,8 ;

27、指向下一行键号初值 LOOP FNDROW ;8行扫描 JMPDONE ;8行扫描完,无键按下,FNDCOL: ROR AL,1;查所在列 JNC RIGHT INC BL ;键号加1,查下一列 JMP FNDCOLRIGHT:;键的编号在BL中:,二、七段LED显示器接口:,DB 0C0H1 1 0 0 0 0 0 00DB 0F9H1 1 1 1 1 0 0 11DB 0A4H 1 0 1 0 0 1 0 02DB 0B0H1 0 1 1 0 0 0 03DB 99H1 0 0 1 1 0 0 14DB 92H1 0 0 1 0 0 1 05DB 82H1 0 0 0 0 0 1 06DB

28、 0F8H1 1 1 1 1 0 0 07DB 80H1 0 0 0 0 0 0 08DB 98H1 0 0 1 1 0 0 09DB 88H1 0 0 0 1 0 0 0ADB 83H1 0 0 0 0 0 1 1BDB 0C6H1 1 0 0 0 1 1 0CDB 0A1H1 0 1 0 1 0 0 0dDB 86H1 0 0 0 0 1 1 0EDB 8EH 1 0 0 0 1 1 1 0F,阳极,dp g f e d c b a,如图所示,8个显示器共用同一组段代码输出线,通过数位选择线,在任何时间内只有一个显示器能够显示其代码。让每个显示器接通2ms,以显示其对应的数,周而复始地逐个显示这8位数。,

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

当前位置:首页 > 经济财会 > 贸易

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报