《计算机硬件技术及应用 第8章 输入输出接口》由会员分享,可在线阅读,更多相关《计算机硬件技术及应用 第8章 输入输出接口(63页珍藏版)》请在金锄头文库上搜索。
1、输入/输出接口,第 8 章,8.1 概述 8.1.1 基本概念 8.1.2 输入/输出端口寻址 8.2 主机与外设的数据传送方式 8.2.1 程序查询方式 8.2.2 程序中断方式 8.2.3 DMA方式的数据传输,8.3 可编程接口芯片 8.3.1 计数器和定时器Intel8253 8.3.2 并行接口芯片8255 8.3.3 串行接口标准RS-232C 8.4 模拟量输入/输出接口 8.4.1 Intel8253 基本工作原理 8.4.2 数模(D/A)转换器 8.4.3 模数(A/D)转换器,掌握几种数据传送方式的工作过程; 掌握8253和8255的内部结构及初始化编程; 掌握8237的
2、内部结构和工作方式; 了解模拟量输入和输出的一些基本概念.,教 学 要 求,第 8.1节,概 述,概述,8.1.1,基本概念,教学进程,8.1,I/O接口包含多个存放数据、状态和控制信息的寄存器,分别以端口地址标识。 数据的输入/输出是通过I/O端口实现的。 80x86系统通过I/O指令实现对I/O端口的读写。,2.接口与端口的关系,数据信息 状态信息 控制信息,1.外部设备的信号,概述,8.1.1,基本概念,8.1,I/O端口与存储器统一编址 把内存的一部分地址分配给I/O端口,一个8位端口占用一个内存单元地址; 不设置专门的I/O指令;,I/O端口独立编址 内存储器和I/O端口各自有自己独
3、立的地址空间; 访问I/O端口需要专门的I/O指令(如8086 CPU),优点:使用方便,降低CPU电路的复杂性;,缺点:减少了内存可用范围;难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性;,8.1.2,输入/输出端口寻址,8.1.2,输入/输出端口寻址,教学进程,指令格式: IN 累加器, PORT 功 能:把外设端口(PORT)的内容传送给累加器。,8.1.2,输入/输出端口寻址,教学进程,输出指令,指令格式:OUT PORT,累加器 功 能:把累加器的内容传送给外设端口。,第 8.2节,主机与外设的数据传送方式,主机与外设的数据传送方式,根据外部设备性质的不同,程序控制方式
4、可分为:,8.2.1,程序查询方式,在程序执行输入/输出指令时,无条件地执行指令相应的操作。,无条件传送方式,查询工作方式,程序不断地询问外部设备的状态,并根据它们当前的状态来实现数据的输入和输出。,教学进程,8.2,8.2.1,程序查询方式,查询方式下的系统构成示意图,教学进程,工作过程, 查询外部设备的状态( 利用输入指令 ) 检测相应的状态位读入的状态字(视机器字长而定)。 如没准备好,则等待,重复 步骤;否则CPU就执行预定的数据传送。 若为读操作,则在数据读入后,CPU向外设发响应信号,表示数据已被接收,外设收到信号后开始准备下一数据; 若为写操作,CPU在向外设送出数据的同时发出输
5、出就绪信号,用来通知外设已送来数据,外设接收数据后,向CPU发出数据已收到状态信息。 在一次数据传送结束后,与数据长度计数器值的比较来判断数据是否传送完毕。若没有结束,则重复以上各步骤。,教学进程,8.2.1 程序查询方式,CPU不断地询问外设是否准备好: 如果准备好,CPU执行IO操作;否则,CPU一直等待。 CPU大部分时间处于等待状态,利用率不高。, 查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 传送环节 寻址数据口 通过输入指令从数据端口读入数据 通过输出指令向数据端口输出数据,流程,8.2.1 程序查询方式,查询传送流程,返回,8.2.2,程序中断方式,
6、中断响应系统中某些突发的或异常的情况发生,强迫CPU暂停(或中断)正在执行的程序而转去进行相应的服务,并在服务结束后回到原来被中断的地方继续执行原来的程序。 处理过程CPU并不主动介入外设的数据传输工作,而是由外部设备在需要进行数据传送时向CPU发出中断请求,CPU在接到请求后,若条件允许,则暂停(或中断)正在进行的工作而转去对该外设服务,并在服务结束后回到原来被中断的地方继续原来的工作。,中断响应和处理过程,教学进程,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序。,流程,8.2.2,程序中断方式,中断响应
7、和处理过程,中断传送流程,返回,8.2.3,DMA方式的数据传输,利用中断进行信息传送,可以大大提高CPU的利用率,但是其传送过程必须由CPU进行监控。每次中断,额外的操作会占用CPU时间。 如果需要在内存的不同区域之间,或者在内存与外设端口之间进行大量信息快速传送的话,用查询或中断方式均不能满足速度上的要求, DMA(Direct Memory Access)直接数据传送:它是在在内存与高速外设之间直接进行成组的数据传送,而不经过CPU中转的一种数据传送方式,可以大大提高信息的传送速度。,基本思想,教学进程,DMA传送流程,流程,DMA传送流程,返回,第 8.3节,可编程接口芯片,可编程接口
8、芯片,定时信号三种方法获得,8.3.1,计数器和定时器Intel 8253,1. 计数器/定时器接口电路,教学进程,8.3,8.3.1,2. 8253内部结构及外部引脚,计数器和定时器Intel8253,教学进程,8.3.1,计数器和定时器Intel8253, (1) 8253的内部结构,教学进程,可初始化编程和工作方式,初始化编程注意: 对计数器设置计数初始值前必须先将控制字写入。 初始值设置时,要符合控制字中的格式规定。是只写低字节,还是只写高字节,或者是先写低字节,后写高字节。,8.3.1,计数器和定时器Intel8253,教学进程,3.,教学进程,(1) 8253初始化编程,可初始化编
9、程和工作方式,3., 1),8253的控制命令,控制字格式,8.3.1 计数器和定时器Intel8253,教学进程,(1) 8253初始化编程,可初始化编程和工作方式,3., 2)设置初值命令,设置初值命令用来设置计数的初始值。 根据在控制字中D5D4位的约定,计数初始值可以是8位,也可以是16位。 若为16位,则要用两条输出指令完成计数初值的设定,先送低字节,后送高字节。,8.3.1 计数器和定时器Intel8253,教学进程,(1) 8253初始化编程,可初始化编程和工作方式,3., 3)锁存命令,在工作过程中,读取计数值时必须先用锁存命令(控制字的 D5D4位为00时)将当前计数值在输出
10、锁存器中锁定,之后再由CPU输入。否则,计数器的计数值有可能正处在改变过程中,就可能得到一个不确定的结果。 锁存命令一旦写入8253,输出锁存器即被锁定。而当CPU将锁定值用输入指令读取后,锁存器自动失锁,又跟随减法计数器工作。,8.3.1 计数器和定时器Intel8253,教学进程,(2),可初始化编程和工作方式,3.,8253工作方式,方式0 :计数结束中断 方式1:可重复触发的单稳态触发器 方式2:分频器 方式3:方波发生器 方式4:软件触发选通信号发生器 方式5:硬件触发选通信号发生器,8.3.1 计数器和定时器Intel8253,根据对已知条件的分析,得到控制字各位的值如下: 选择通
11、道0,D7D600 工作方式1,D3 D2 D1001 BCD计数,D01 由于8086是16位数据线,采用16位传输,故令D5D4=11 所以控制字:33H,8.3.1,计数器和定时器Intel8253,例:设在8086系统中有一片8253,其端口地址分配是: 通道0为210H,通道1为212H,通道2为214H,控制端口为216H。要求对其通道0进行初始化,使其工作于方式1、BCD计数、计数初始值为100H。,4. 8253应用举例,教学进程,MOV AL,33H ;控制字送AL MOV DX,216H ;控制口地址送DX OUT DX,AL ;向控制口写入控制字 MOV AL,00H ;
12、低8位计数值是00H MOV DX,210H ;通道0端口地址送DX OUT DX,AL ;向通道0写入计数初值的低8位 MOV AL,01H ;高8位计数值为01H OUT DX,AL ;向通道0写入计数初值的高8位,教学进程,其初始化程序段,8.3.1,计数器和定时器Intel8253,4. 8253应用举例,并行接口芯片8255,教学进程,8.3.2,1. 8255A的内部逻辑结构,8.3.2,并行接口芯片8255,2. 8255A的引脚及功能,教学进程,8.3.2,并行接口芯片8255,教学进程,PA7PA0:端口A的数据线,双向、三态。 PB7PB0:端口B的数据线,双向、三态。 P
13、C7PC0:端口C的数据线,双向、三态; D7D0:数据线,双向、三态,与CPU的数据总线相连。 RESET:复位信号,高电平有效。 CS :片选信号,低电平有效。 RD :读信号,低电平有效。 WR :写信号,低电平有效。 Al、A0 :端口选择信号。,2. 8255A的引脚及功能,8255A端口选择表,8.3.2 并行接口芯片8255,(l)方式选择控制字,8.3.2,并行接口芯片8255,8255A的控制字,教学进程,3.,控制字的格式,三种工作方式: 方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向传输方式,8.3.2,并行接口芯片8255,端口A有三种工作方式,方式0、方式1或方式2; 端口B有二种工作,方式0或方式1; 端口C 可作一般的输入/输出端口使用; 可用于配合端口A和端口B的工作,为它们提供控制信号和状态信号。 由内部逻辑(A组和