第8章输入输出接口_第1页
第8章输入输出接口_第2页
第8章输入输出接口_第3页
第8章输入输出接口_第4页
第8章输入输出接口_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第8 8章章 输入输出接口输入输出接口第8章 并行接口与串行接口教学重点 本章介绍两种通信方式与两种接口芯片,以此本章介绍两种通信方式与两种接口芯片,以此构建并行与串行通信系统。构建并行与串行通信系统。重点:通信的基本概念;重点:通信的基本概念; 8255A8255A的功能、结构与编程;的功能、结构与编程;难点:难点:8255A8255A与设备、系统的连接;与设备、系统的连接;第第8 8章教学要求章教学要求n1. 1.掌握并行通信和串行通信的基本概念,掌握并行通信和串行通信的基本概念, n2.2.掌握并行接口芯片掌握并行接口芯片8255A8255A的基本结构和特点的基本结构和特点 n3.3.

2、熟悉熟悉8255A8255A的三种工作方式及其应用的三种工作方式及其应用n4.4.掌握掌握8255A8255A的控制字的含义的控制字的含义 一、 CPU与外设通信特点需要有接口作为CPU与外设通讯的桥梁;需要有数据信息传送之前的“联络”;要传递的信息有三方面内容:状态、数据及控制信息。概述CPU I/O接口 外设地址数据控制控制数据状态概述 接口电路通常包含一组能够与处理器交换信息的寄接口电路通常包含一组能够与处理器交换信息的寄存器或缓冲器,称为存器或缓冲器,称为I/O端口端口 数据端口数据端口 存放数据信息存放数据信息 状态端口状态端口 存放状态信息,即反映外设存放状态信息,即反映外设 当前

3、工作状态的信息当前工作状态的信息 控制端口控制端口 存放控制信息存放控制信息概述 1.1.数据信息数据信息 (1)数字量数字量:数字量是使用二进制形式表示的:数字量是使用二进制形式表示的数据、图形、文字等信息。数据、图形、文字等信息。 (2)模拟量模拟量:连续变化的物理量,如温度、压:连续变化的物理量,如温度、压力等。由传感器先将其变为电压或电流信号,通过力等。由传感器先将其变为电压或电流信号,通过模模/数转换器变成数字量,送入计算机处理。数转换器变成数字量,送入计算机处理。 (3)开关量开关量:用开关量可表示两种状态,如开:用开关量可表示两种状态,如开关的闭与合、电机的转与停、三极管的通与断

4、等,关的闭与合、电机的转与停、三极管的通与断等,这样的量用一位二进制数表示即可。这样的量用一位二进制数表示即可。概述 2.2.状态信息状态信息 状态信息反映了外部设备当前所处的状态信息反映了外部设备当前所处的工作状态工作状态,是外部设备发送给,是外部设备发送给CPU的,用来协调的,用来协调CPU和外部和外部设备间的操作。对于输入设备通常用准备好(设备间的操作。对于输入设备通常用准备好(READY)信号表示输入数据是否准备好;对于输)信号表示输入数据是否准备好;对于输出设备常用忙(出设备常用忙(BUSY)信号表示输出设备是否处)信号表示输出设备是否处于空闲状态。若有空闲,则可接收于空闲状态。若有

5、空闲,则可接收CPU送来的信息送来的信息,否则,否则CPU将等待。将等待。概述 3.3.控制信息控制信息 控制信息是控制信息是CPU发送给外部设备的,以控制外发送给外部设备的,以控制外部设备的工作。如对外部设备的初始化、外部设备部设备的工作。如对外部设备的初始化、外部设备的启动和停止等控制信息。的启动和停止等控制信息。概述二、接口的功能二、接口的功能1对输入对输入/输出数据进行缓冲与暂存输出数据进行缓冲与暂存2实现信号形式和数据类型的转换实现信号形式和数据类型的转换3缓解外部设备与缓解外部设备与CPU工作速度的差异工作速度的差异概述 三、三、I/O端口的寻址端口的寻址 微机系统中会有许多外部设

6、备,一个外部设微机系统中会有许多外部设备,一个外部设备的接口电路中又可能占用多个备的接口电路中又可能占用多个I/O端口(端口(PORT),每个端口用来保存和交换不同的信息。每个),每个端口用来保存和交换不同的信息。每个端口必须有各自的端口地址供端口必须有各自的端口地址供CPU访问。所以接访问。所以接口电路中包含有地址译码电路使口电路中包含有地址译码电路使CPU能够寻址到能够寻址到每个端口。每个端口。概述 1.通用接口芯片 支持通用的数据输入输出和控制的接口芯片;如单向三态缓冲器74LS244,基本输出接口芯片,如锁存器74LS273和74LS373等。 2. 专用接口芯片 针对某种外设设计、与

7、该种外设接口;如并行接口8255、串行接口8250等。概述 3. 面向微机系统的专用接口芯片 与CPU和系统配套使用,以增强其总体功能;如中断控制接口8259、DMA接口等。 有的接口电路具有可编程性,有的接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种接口。 接口软件有两类:一是初始化程序段,用于设定芯片工作方式等;二是数据交换程序段,用于管理、控制、驱动外部设备。概述 CPU与外部设备的数据交换,是通过I/O接口进行的。为了区分每一个接口,我们采用对每一个I/O接口进行编号,即称其为I/O接口的地址。利用I/O接口的地址可以很方便的确定外部设备使用的I/O接口,这就是对I/O

8、接口的寻址。对I/O接口的编号,也称为编址,可以有两种方式。概述1. I/O接口的统一编址概述I/O 端口端口存储单元存储单元I/O 地址空间地址空间存储器地址空间存储器地址空间整个地址空间整个地址空间 如图所示,在这种方式中,把外部设备接口与内存统一进行编址,故每一个外部设备端口占有存储器的一个地址。 n这种编址方式的优点:这种编址方式的优点: 可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。n缺点是:缺点是: 由于I/O端口占用了一部分存储器地址空间,

9、因而使用户的存储地址空间相对减小。另外不利于程序阅读。 在80X86系列微机系统中采用这种工作方式,外设地址空间和内存地址空间相互独立。CPU有专门的I/O指令和相应的控制电路、控制信号,用地址来区分不同的外设。 2. I/O端口独立编址概述存储单元存储单元存储地址空存储地址空间间I/O 端口端口I/O 地址空间地址空间概述n这种编址方式的优点:这种编址方式的优点: 可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。n缺点是:缺点是: 由于I/O端口占用了一

10、部分存储器地址空间,因而使用户的存储地址空间相对减小。另外不利于程序阅读。 四、输入四、输入/输出方式输出方式1、同步传送方式2、异步查询方式 程序控制传送方式3、中断方式 4、直接存储器存取方式 概述 一、程序控制传送方式一、程序控制传送方式(一一)、同步传送方式(无条件方式)、同步传送方式(无条件方式) CPU直接与外设传送数据并不需要直接与外设传送数据并不需要了解外设状态,认为外设已经准备就了解外设状态,认为外设已经准备就绪,直接与外设传送数据绪,直接与外设传送数据 概述CPU译码数据线M/IOWR或门地址线 接口外设输 出概述CPU译码数据线M/IORD或门地址线 接口外设输 入概述(

11、二)、异步查询方式(二)、异步查询方式 在执行输入输出前,要先查询接口中在执行输入输出前,要先查询接口中状态寄存器的状态。状态寄存器的状态。 概述 输入时,状态寄存器的状态指示要输入的输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪;数据是否已经准备就绪; 准备好?准备好?读取状态信息读取状态信息输入数据输入数据是是否否概述常用的状态线有IBF,READY功能: 1、输入设备准备好数据,状态线有效; 2、CPU读数据端口,取走数据后,状态线转换为无效概述输出时,状态寄存器的状态指示输出设备输出时,状态寄存器的状态指示输出设备是否空闲。是否空闲。忙?忙?读取状态信息读取状态信息输出数据输

12、出数据否否是是概述常用的状态线有empty,busy功能: 1、输出设备空闲,BUSY无效; 2、CPU写数据端口,输出设备输出数据,状态线转换为有效概述(三)、中断方式(三)、中断方式 当外设作好传送准备后,主动向当外设作好传送准备后,主动向CPU请求中断,请求中断,CPU响应中断后在中断处理程序响应中断后在中断处理程序中与外设交换数据。中与外设交换数据。 在中断未发生时,在中断未发生时,CPU可以执行其他程可以执行其他程序,这样可以提高序,这样可以提高CPU的利用率。的利用率。概述主程序中断服务子程序中断信号概述概述二、直接存储器存取方式二、直接存储器存取方式 (DMA) (Direct

13、Memory Access) 。 在高速的外设或成块交换数据的情况,采用程序在高速的外设或成块交换数据的情况,采用程序控制方式进行数据的传输,是无法满足要求的。在控制方式进行数据的传输,是无法满足要求的。在这种情况下,采用这种情况下,采用DMA方式。方式。 概述 DMA方式是在外设与内存间建立起直方式是在外设与内存间建立起直接的通道,接的通道,CPU不再直接参加外设和内存不再直接参加外设和内存间的数据传输。间的数据传输。 当系统需要进行当系统需要进行DMA传输时,将传输时,将CPU对地址和数据及控制线的管理权交由对地址和数据及控制线的管理权交由DMA控制器进行控制,当完成了一次控制器进行控制,

14、当完成了一次DMA数据数据传输后,再将这个控制权还给传输后,再将这个控制权还给CPU,这些,这些工作都是由硬件自动实现的,并不需要程工作都是由硬件自动实现的,并不需要程序进行控制。序进行控制。 概述CPU外设外设存储器存储器总线总线:执行程序指令的数据传送路径;:执行程序指令的数据传送路径; :DMA方式的数据传送路径方式的数据传送路径概述内存外设DMAC输出输入外设外设DMAC内存内存DMACDMA传送的几种形式传送的几种形式概述五、8086CPU的输入/输出1、I/O 寻址64K2、8086CPU的IO指令 (1) 直接寻址输入输出指令(八位端口地址) IN AL,n (字节输入) IN

15、AX,n (字输入) OUT n,AL (字节输出) OUT n,AX (字输出)概述 (2)DX寄存器间接寻址输入(十六位端口地址) IN AL,DX (字节输入) IN AX,DX (字输入) OUT DX,AL (字节输出) OUT DX,AX (字输出)概述六、有关端口地址问题 a、8086CPU与外设交换数据可以字或字节进行, b、当以字节进行时,偶地址端口的字节数据由低8位数据线D7D0位传送,奇地址端口的字节数据由高8位数据线D15D8传送, c、当用户在安排外设的端口地址时,如果外设是以8位的方式与CPU连接,就只能将其数据线或者与CPU的低八位或者与高八位连接,这样同一台外设

16、的所有寄存器端口地址都只能是偶地址或是奇地址,这时设备的端口地址就会是不连续的。概述一、并行接口的特点一、并行接口的特点并行接口是在多根数据线上,以字节并行接口是在多根数据线上,以字节/字为单位与字为单位与I/O设备交换数据设备交换数据8.1.1 并行通信二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能Intel系列的系列的8位并行接口芯片位并行接口芯片通用性强,使用灵活通用性强,使用灵活可用程序设置和改变芯片的工可用程序设置和改变芯片的工作方式作方式是一种是一种典型的可编程并行接口典型的可编程并行接口芯片芯片40个引脚,双列直插式个引

17、脚,双列直插式8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255resetD7D0A9A2A1A0IORIOW片选片选译码译码数据数据缓冲器缓冲器读写读写控制控制片内片内译码译码CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外设设8255A总线总线二、可编程并行通信接口芯片

18、二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能1. 数据端口数据端口 A、B、Cq每个端口每个端口8位,通过编程设定其为输入口或输出口位,通过编程设定其为输入口或输出口q可用来和外设传送信息可用来和外设传送信息q 端口端口A有有 3 种工作方式种工作方式( 方式方式 0、方式、方式 1、方式、方式 2)对外对外 8 根引脚根引脚 PA7 PA0 二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能1. 数据端口数据端口 A、B、Cq端口端口B 有有 2 种工作方式:方式种工作方式:方式 0、方式、方式 1对

19、外对外 8 根引脚根引脚 PB7 PB0q端口端口C对外引脚对外引脚PC0 PC7二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能1. 数据端口数据端口 A、B、C 当端口当端口 A 在方式在方式 1 或方式或方式 2、端口、端口 B 在方式在方式 1 时,时, 端口端口 C 的某些位用于传送联络信号,的某些位用于传送联络信号, 以适应以适应CPU与外设间的各种数据传送方式的要求,与外设间的各种数据传送方式的要求, 如查询传送的应答信号、中断传送的中断申请信如查询传送的应答信号、中断传送的中断申请信 号等;号等; C口未被用作联络信号的

20、其它位可工作在方式口未被用作联络信号的其它位可工作在方式 0下。下。二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能2. 控制端口控制端口D (A组和组和B组控制电路组控制电路)q 8位端口,无对外引脚可用来和外设传送信息位端口,无对外引脚可用来和外设传送信息q控制端口的内容决定控制端口的内容决定A口、口、B口、口、C口的工作状态口的工作状态(输输入或输出入或输出) 和工作方式(方式和工作方式(方式 0、1、2), 起控制作用。起控制作用。二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定

21、义与功能3. 数据总线缓冲器数据总线缓冲器(引脚引脚D0D7)q由由1个个8位双向三态缓冲器构成位双向三态缓冲器构成 q8255A内各端口内各端口通过数据缓冲器与系统总线相连。通过数据缓冲器与系统总线相连。 CPU与端口与端口A、B、C间传送的数据,间传送的数据, 以及以及CPU写入控制端口写入控制端口D中的控制字均通过数据中的控制字均通过数据缓冲器传送。缓冲器传送。二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能4. 读写控制电路读写控制电路 (引脚引脚CS、 RD、 WR)q控制数据总线缓冲器的状态。控制数据总线缓冲器的状态。 数据

22、总线缓冲器有数据总线缓冲器有3种状态:输入、输出、高阻态种状态:输入、输出、高阻态 C S R D W R数数 据据 总总 线线 缓缓 冲冲 器器 状状 态态 0 0 1 D 7D 0 内内 部部 数数 据据 总总 线线 0 1 0 D 7D 0 内内 部部 数数 据据 总总 线线 1 1 1 0 0三三 态态 , 处处 于于 断断 开开 状状 态态二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能5. 片内译码电路片内译码电路 (引脚引脚A1、 A0)选择被操作的端口选择被操作的端口A1 A0选选中中端端口口0 0端端口口 A0 1端端

23、口口 B1 0端端口口 C1 1控控制制端端口口 D二、可编程并行通信接口芯片二、可编程并行通信接口芯片8255F8255芯片引脚定义与功能芯片引脚定义与功能由由CS、A1、A0、RD、WR引脚的不同组合,实现各引脚的不同组合,实现各种不同的功能。种不同的功能。q在在8255A内部硬件结构中内部硬件结构中: A口和口和B口之间没有硬件关系,口之间没有硬件关系, 即可分别作为独立的输入或输出端口;即可分别作为独立的输入或输出端口; C口和口和A口,口,C口和口和B口之间有硬件联系,口之间有硬件联系, 通过向控制口设置控制字可以改变这种联系。通过向控制口设置控制字可以改变这种联系。三、三、 三种工

24、作方式三种工作方式三、三、 三种工作方式三种工作方式q根据根据A口和口和C口、口、B口和口和C口之间硬件关系的不同,口之间硬件关系的不同, 可以有三种不同的工作方式可以有三种不同的工作方式, 分别称为方式分别称为方式 0、方式、方式 1、方式、方式 2。A口或口或B口工作在口工作在方式方式 0: 与与C口之间口之间没有硬件联系没有硬件联系。 A口或口或B口工作在口工作在方式方式 1: C口的口的某某3根引脚根引脚作为端口与外设作为端口与外设的联络信号。的联络信号。A口工作在口工作在方式方式 2: C口的口的某某5根引脚根引脚作为端口与外设的联作为端口与外设的联络信号。络信号。 三、三、 三种工

25、作方式三种工作方式1. 方式方式0(基本输入输出方式)(基本输入输出方式)v A口工作在方式口工作在方式 0 时,时,A口口和和C口之间没口之间没有硬件联系有硬件联系v B口工作在方式口工作在方式 0 时,时,B口口和和C口之间没口之间没有硬件联系有硬件联系三、三、 三种工作方式三种工作方式1. 方式方式0(基本输入输出方式)(基本输入输出方式)v 工作在方式工作在方式 0 的端口,为的端口,为单向传送端口单向传送端口, 输入输入或输出或输出 v 作为输入口相当于普通的三态门作为输入口相当于普通的三态门 作为输出口作为输出口相当于普通的锁存器相当于普通的锁存器v CPU可利用工作在方式可利用工

26、作在方式 0 的端口,直接对端口的端口,直接对端口进行读写操作,实现进行读写操作,实现CPU与外设间的数据传送。与外设间的数据传送。三、三、 三种工作方式三种工作方式 2. 方式方式1(选通输入输出方式)(选通输入输出方式)v A口工作在方式口工作在方式1时,时,C口的口的某某3根引脚根引脚作为作为A口的联络信号口的联络信号。v B口工作在方式口工作在方式1时,时, C口的口的某某3根引脚根引脚作为作为B口的联络信号口的联络信号。v 工作在方式工作在方式 1 的端口,为单向传送端口。的端口,为单向传送端口。 在方式在方式 1 下,下,C口作为口作为A口、口、B口联络信号的口联络信号的引脚,引脚

27、,其动作关系在芯片设计和制造时已固定,其动作关系在芯片设计和制造时已固定, 不由用户自己安排,也不能编程改变。不由用户自己安排,也不能编程改变。三、三、 三种工作方式三种工作方式3方式方式2 (双向传送方式)(双向传送方式)v端口工作在方式端口工作在方式 2时,时,C口的某口的某5根引脚根引脚作为端口的作为端口的 联络信号联络信号v 8255A 只有只有A口口可以工作在方式可以工作在方式 2 下。下。v与方式与方式0和方式和方式1不同的是:不同的是: 工作在方式工作在方式 2 的端口,为双向传送端口,既可输入的端口,为双向传送端口,既可输入又可输出。又可输出。方式选择控制字方式选择控制字四、四

28、、8255A的控制字的控制字10001/0011/0D7D6D5D4D3D2D1D0特征位特征位A口口方式方式 0A口口输出输出PC7PC4I/OB口口方式方式 0B口口输入输入PC3PC0I/O所以所以, 方式控制字为方式控制字为 1000 0010B, 即即82H 由于对由于对 C口无要求,口无要求,控制控制C口的相应位口的相应位D4, D0可为任意值,假设取可为任意值,假设取0例例 假设假设8255A 控制端口的地址为控制端口的地址为203h,编程设置编程设置控制字,使控制字,使A口口方式方式0输出输出; B口口方式方式0输入输入设置控制字的程序段如下:设置控制字的程序段如下: MOV

29、DX,203h ;置置DX为控制口地址为控制口地址 MOV AL,82h ;置控制字于置控制字于AL中中 OUT DX, AL ;将控制字写入控制口将控制字写入控制口例例 假设假设8255A 控制端口的地址为控制端口的地址为203h,编程设置编程设置控制字,使控制字,使A口口方式方式0输出输出; B口口方式方式0输入输入端口端口C置位置位/复位控制字复位控制字注意:注意:C口控制字虽然是对端口口控制字虽然是对端口C操作,但应写入到操作,但应写入到控制口地址,而不是写入到控制口地址,而不是写入到C数据口数据口例例 假设假设8255A的控制口地址为的控制口地址为203h, 通过通过控制口置控制口置

30、 PC2 为为 0,置,置 PC4 为为 1 MOV DX,203H ;置置DX为控制口地址为控制口地址MOV AL,0000 0100B ;置置PC2为为0OUT DX, AL MOV AL,0000 1001B ;置置PC4为为1OUT DX, AL 例:设例:设 A、B、C数据口地址分别位数据口地址分别位60H、 61H、62H、控制口端口地址、控制口端口地址 63H1:A口方式口方式0,输出、,输出、B口方式口方式0,输入,输入,C口高口高4位输位输出,出,C口低口低4位入位入MOV AL,10000011BOUT 63H,AL 2:PC7置置1,PC3置置0MOV DX,63HMOV

31、 AL,0000,1111B;PC7置置1OUT DX,ALMOV AL,0000,0110B;PC3置置0OUT DX,ALF8255的工作方式的工作方式08255作为打印机接口,工作于方式作为打印机接口,工作于方式01. 方式方式0(基本输入输出方式,单向传送端口(基本输入输出方式,单向传送端口, 输入输入或输出或输出 )程序设计:设程序设计:设PA、PB、PC口地址分别为口地址分别为0D0H、0D2H、0D4H控制口地址:控制口地址:0D6HMOV AL,81H;OUT 0D6H,ALMOV AL,0DH; PC6置置1,0DH=0000,1101OUT 0D6H, ALLPST:IN

32、AL,0D4H;读;读PC口口AND AL,04D; 打印机忙否(打印机忙否(PC2 =BUSY=?)?)JNZ LPST ;PC2=1,打印机忙,等待,打印机忙,等待MOV AL, CLOUT 0D0H, AL; CL中的字符送中的字符送PA口口MOV AL, 0CHOUT 0D6H, AL; 置置PC6=0,即,即=0;00001100=0CHINC ALOUT 0D6H, AL;置;置PC6=1,即,即=1,00001101=0DHF8255的工作方式的工作方式1选通输入输出方式选通输入输出方式v A口工作在方式口工作在方式1时,时,C口的某口的某3根引脚作为根引脚作为A口的口的联络信号

33、联络信号v B口工作在方式口工作在方式1时,时, C口的某口的某3根引脚作为根引脚作为B口的口的联络信号。联络信号。v 工作在方式工作在方式 1 的端口,为单向传送端口。由方式的端口,为单向传送端口。由方式控制字决定是输入还是输出。控制字决定是输入还是输出。v C口作为联络信号的引脚,不受方式控制字的控制。口作为联络信号的引脚,不受方式控制字的控制。该出则出,该入则入,该出则出,该入则入, 不受不受C口按位置位口按位置位/复位控制复位控制字控制。字控制。F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式v 利用方式利用方式 1 下的联络信号,下的联络信号, 可方便地实可方便地实现

34、查询或中断方式的硬件设计,现查询或中断方式的硬件设计, 使使CPU能能够够有效、可靠地与外设进行数据传送。有效、可靠地与外设进行数据传送。v A口、口、B口在输入或输出不同的工作状态口在输入或输出不同的工作状态时,时, C口联络信号的引脚和意义也不同。口联络信号的引脚和意义也不同。F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式对方式对方式1输入的端口,输入的端口,C口提供与外部联络的信号有:口提供与外部联络的信号有: STB 选通信号(低电平有效)选通信号(低电平有效)由外设发出,送给由外设发出,送给8255A,

35、作用是将外设送来的数据锁存到,作用是将外设送来的数据锁存到8255A的输入端口。的输入端口。 IBF 输入缓冲器满信号(高电平有效)输入缓冲器满信号(高电平有效) 8255A 发出,表示外设送来的数据已进入输入端口。发出,表示外设送来的数据已进入输入端口。 当外设送来的数据送入输入端口后,当外设送来的数据送入输入端口后,8255A自动发出。自动发出。 INTR 中断申请信号(高电平或上升沿有效)中断申请信号(高电平或上升沿有效)8255A 发出,用来向发出,用来向CPU发出中断申请。发出中断申请。STB、IBF、INTE均为时,均为时,8255A自动发出自动发出INTR。F8255的工作方式的

36、工作方式1选通输入输出方式选通输入输出方式对方式对方式1输入的端口,输入的端口,8255A内部的控制信号有:内部的控制信号有: INTE 中断允许控制信号,中断允许控制信号, 作用是控制是否允许作用是控制是否允许8255A的中断申请信号的中断申请信号INTR发出。发出。 此信号无引出此信号无引出,通过,通过控制口控制口对对C口相应位的置位口相应位的置位/复位复位设置设置允许或不允许允许或不允许。 A口,口,对对PC4置置位位, 使使INTEA=1, 允许允许中断中断 对对PC4复复位位, 使使INTEA=0, 不允许不允许中断中断 B口,口,对对PC2置置位位, 使使INTEB=1, 允许允许

37、中断中断 对对PC2复复位位, 使使INTEB=0, 不允许不允许中断中断F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式方式方式1的输入时序:的输入时序:从工作在方式从工作在方式1下的输入端口输下的输入端口输入数据时,有关信号的变化关系。入数据时,有关信号的变化关系。外设送来数据外设送来数据PB7PB0PA7PA0STBIBFINTRRD当当INTE=1时时 F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式 当外设准备好数据,当外设准备好数据,将数据送至端口线将数据送至端口线PA7PA0或或PB7PB0 外设发出选通信号外设发出选通信号STB: ( (1) 将

38、数据锁存在输入端口内。将数据锁存在输入端口内。 (2) 使使IBF变高,表示输入端口满,可用于阻止外设输入新数变高,表示输入端口满,可用于阻止外设输入新数据。据。(3) 如果如果INTE=1, STB的上升沿使的上升沿使INTR变高,发出中断变高,发出中断请求。请求。 转转中断处理程序,执行中断处理程序,执行IN指令,指令,CPU 读取数据,发出读取数据,发出RD信号信号: (1) RD 的下降沿清除的下降沿清除INTR (2) RD 的上升沿清除的上升沿清除IBF (3) 端口内的数据进入端口内的数据进入CPUF8255的工作方式的工作方式1选通输入输出方式选通输入输出方式F8255的工作方

39、式的工作方式1选通输入输出方式选通输入输出方式对方式对方式1输出的端口,输出的端口,C口提供与外部联络的信号有口提供与外部联络的信号有: OBF 输出缓冲器满信号(低电平有效)输出缓冲器满信号(低电平有效)当数据送至当数据送至8255A输出缓冲器后,输出缓冲器后,8255A自动发出。自动发出。 表示表示CPU送来的数据已进入送来的数据已进入8255A输出端口,可用来输出端口,可用来通知外设把数据取走。通知外设把数据取走。 ACK 外设响应信号(低电平有效)外设响应信号(低电平有效) 由外设发出,送给由外设发出,送给8255A。作用是通知。作用是通知 8255A输出输出端口的数据已被外设取走,可

40、以传送下一个数据。端口的数据已被外设取走,可以传送下一个数据。F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式 INTR 中断申请信号(高电平或上升沿有效)中断申请信号(高电平或上升沿有效) 8255A 发出发出, 用来向用来向CPU发出中断申请。发出中断申请。当当OBF 、ACK、INTE均为时,均为时,8255A自动发出自动发出INTR。F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式对方式对方式1输出的端口,输出的端口,8255A内部的控制信号有:内部的控制信号有: INTE 中断允许控制信号,中断允许控制信号,作用是控制是否允许中断作用是控制是否允许中断

41、申请信号申请信号INTR发出。发出。 此信号无引出此信号无引出,通过,通过控制口控制口对对C口相应位的置位口相应位的置位/复位复位设置设置允许或不允许允许或不允许。 A口,口,对对PC6置置位位, 使使INTEA=1, 允许允许中断中断 对对PC6复复位位, 使使INTEA=0, 不允许不允许中断中断 B口,口,对对PC2置置位位, 使使INTEB=1, 允许允许中断中断 对对PC2复复位位, 使使INTEB=0, 不允许不允许中断中断F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式方式方式1的输出时序:的输出时序:向工作在方式向工作在方式1下的输出端口输下的输出端口输出数据时

42、,有关信号的变化关系。出数据时,有关信号的变化关系。F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式 CPU执行执行OUT指令,输出数据指令,输出数据 CPU发出发出WR (1) 数据写到数据写到 8255A的端口的端口 (2) 使使OBF有效(有效(OBF=0) ,表示输出端口满,可作为,表示输出端口满,可作为外设的选通信号外设的选通信号,通知外设取数据。通知外设取数据。 (3) 清除中断请求信号清除中断请求信号INTR 外设接受到数据后,发出外设接受到数据后,发出ACK信号信号 (1) ACK的下降沿使的下降沿使OBF变高,变高, (2) 当当INTE=1, ACK的上降沿

43、使的上降沿使INTR变高,发出中断请变高,发出中断请求,请求求,请求CPU输出新的数据。输出新的数据。F8255的工作方式的工作方式1选通输入输出方式选通输入输出方式主程序主程序:MAIN:MOV AL,0A0H ;方式选择控制字;方式选择控制字OUT 0C6H,ALMOV AL,01H ;OUT 0C6H,ALCLI ;替换中断向量前关中断;替换中断向量前关中断MOV AH,25H ;替换中断向量的典型方式;替换中断向量的典型方式MOV AL,0BH ;IR3的类型码为的类型码为0BHMOV DX,OFFSET ROUTINTRPUSH DSMOV AX,SEG ROUTINTRMOV DS

44、,AXINT 21HPOP DSMOV AL,0DH ;PA方式方式1输出,输出,“置置PC6=1的操作的操作”OUT 0C6H,AL ;使;使8255允许中断(允许中断(INTEA=1)STI ;CPU开中断开中断假假设:设:A口地址口地址 0C0HB口地址口地址 0C2HC口地址口地址 0C4H控制口控制口 0C6H中断处理程序中断处理程序ROUTINTR:MOV AL,DI ;DI为打印字符缓冲区地址为打印字符缓冲区地址OUT 0C0H,ALMOV AL,00H ;置;置PC0=0OUT 0C6H,ALINC AL ;置;置PC0=1IRETF8255的工作方式的工作方式2选通双向传输方

45、式选通双向传输方式v 端口工作在方式端口工作在方式 2时,时,C口的某口的某5根引脚作为端口的根引脚作为端口的联络信号联络信号v 8255A 只有只有A口可以工作在方式口可以工作在方式 2 下。下。v 与方式与方式 0、方式、方式 1的单向传送不同,工作在方式的单向传送不同,工作在方式 2下的端口,具有双向传送功能。下的端口,具有双向传送功能。v A口工作在方式口工作在方式 2 下,下,C口未做联络信号的口未做联络信号的3条引脚条引脚 可作为可作为B口在方式口在方式1下的联络线,也可和下的联络线,也可和B口一样工作口一样工作在方式在方式0下。下。 由方式控制字决定其输入由方式控制字决定其输入/

46、输出。输出。F8255的工作方式的工作方式2选通双向传输方式选通双向传输方式工作在方式工作在方式2时,时,C口有口有5根引脚作为根引脚作为A口的联络信号,口的联络信号,是方式是方式1下下A口输入、输出联络信号的组合。口输入、输出联络信号的组合。F8255A在在IBM PC/XT主板上的应用主板上的应用键键盘盘接接口口键键盘盘键盘键盘中断申请中断申请8259AIR1INTAINT8088INTRINTA60H端口端口61H端口端口8255A应答信号应答信号扫描码扫描码辅辅助助电电路路IR018.2Hz方方 波波扬声器扬声器8255A与系统的连接与系统的连接F8255A在在IBM PC/XT主板上

47、的应用主板上的应用v各端口的地址分别为:各端口的地址分别为: A口口:60H B口口: 61H C口口:62H 控制口控制口: 63H 正常工作时,正常工作时,A、B、C三个端口均工作在方式三个端口均工作在方式0, A口输口输入、入、B口输出、口输出、C口输入口输入 ,方式控制字为:方式控制字为:1001 1001 B(99H)( 8255A的控制字在系统初始化中已设置的控制字在系统初始化中已设置 ) F8255A在在IBM PC/XT主板上的应用主板上的应用 F8255A在在IBM PC/XT主板上的应用主板上的应用v发声程序中发声程序中 通过通过61H端口控制发声端口控制发声v键盘中断子程

48、中键盘中断子程中 通过通过60H端口读入键盘扫描码端口读入键盘扫描码执行执行: :OUT 61H, AL执行执行: :OUT 61H, ALF8255A在在IBM PC/XT主板上的应用主板上的应用87例例8.1某系统要求使用某系统要求使用8255的的A口工作于方式口工作于方式1作输入,作输入,B口工作于方式口工作于方式0作输出,作输出,C口上半部输入,下半部输口上半部输入,下半部输出。出。8255端口地址为端口地址为60H-63H。 控制字为:控制字为:10111000B=0B8H 初始化程序为:初始化程序为: MOVAL,0B8H OUT63H,AL 882C口按位置口按位置/复位控制字(

49、写,复位控制字(写,A1A011 ) C口按位置口按位置/复位控制字复位控制字例例8.2 如上例,若如上例,若A口工作于方式口工作于方式1作输入,要使用中作输入,要使用中断传送方式,则应当写断传送方式,则应当写PC4的按位置位字:的按位置位字: MOVAL,00001001B OUT63H,AL 89 方式方式1下下8255状态字中状态字中INTE位的置位和复位位的置位和复位 若禁止若禁止PA口输入中断请求口输入中断请求 MOV DX,303H ;8255命令口命令口 MOV AL,0000B ;置;置=0,禁止中断请求,禁止中断请求 OUT DX,AL 若允许若允许PA口输入中断请求口输入中

50、断请求 MOV DX,303H ;8255命令口命令口 MOV AL,00001B ;置;置=1,允许中断请求,允许中断请求 OUT DX,AL 若允许若允许PA口输出中断请求口输出中断请求 MOV DX,303H ;8255命令口命令口 MOV AL,00001B ;置;置=1,允许中断请求,允许中断请求 OUT DX,AL90 若允许若允许PB口输入中断请求口输入中断请求 MOV DX,303H ;8255命令口命令口 MOV AL,00001B ;置;置,允许中断请求,允许中断请求 OUT DX,AL 若禁止若禁止PB口输入中断请求口输入中断请求 MOV DX,303H ;8255命令口

51、命令口 MOV AL,0000B ;置;置,禁止中断请求,禁止中断请求 OUT DX,AL 若允许若允许PB口输出中断请求口输出中断请求 MOV DX,303H ;8255命令口命令口 MOV AL,00001B ;置;置,允许中断请求,允许中断请求 OUT DX,AL例8.3 :CPU通过通过8255A控制控制8个开关和发个开关和发光二极管,要求发光二极管的亮灭和开关状光二极管,要求发光二极管的亮灭和开关状态一致,设计电路并编写程序。态一致,设计电路并编写程序。解析:可以认为,处于方式解析:可以认为,处于方式0输出工作状态输出工作状态的的PA、PB、PC端口实际上等同一个锁存端口实际上等同一

52、个锁存器,而处于方式器,而处于方式0输入工作状态的输入工作状态的PA、PB、PC端口实际上等同一个缓冲器。端口实际上等同一个缓冲器。 电路如图所示。电路如图所示。图图1 8255控制开关、发光二极管电路控制开关、发光二极管电路 首先根据电路确定首先根据电路确定8255A 4个端口的地址。个端口的地址。确定端口地址用下述方法进行,为了能够确定端口地址用下述方法进行,为了能够访问访问8255A,必须使,必须使8255A的片选信号的片选信号CS=0, A9A4的信号必须如下:的信号必须如下:A9 A8 A7 A6 A5 A4 A3 A2 1 0 0 1 1 0 0 0 PA端口端口 0 1 PB端口

53、端口 1 0 PC端口端口 1 1 控制端口控制端口 而A3、A2 的组合和各个端口地址的关系也的组合和各个端口地址的关系也如上所示,由于如上所示,由于A1、A0没有参与译码,其没有参与译码,其值对访问端口没有影响。综合以上讨论可值对访问端口没有影响。综合以上讨论可以得出,以得出, PA 、PB、 PC和控制端口的地址和控制端口的地址分别是分别是260H、 264H、 268H和和 26CH。 在确定工作方式控制字时必须知道,在确定工作方式控制字时必须知道, PA端口为方式端口为方式0输出,输出, PB端口为方式端口为方式0输输入,而入,而PC端口没有参与电路工作,其输入端口没有参与电路工作,

54、其输入输出方式随意,由此可确定控制字为输出方式随意,由此可确定控制字为82H。 1 0 0 0 0 0 1 0 控制电路工作并使其保证开关状态和发光二控制电路工作并使其保证开关状态和发光二极管亮灭一致的程序如下:极管亮灭一致的程序如下: MOV DX,26CH MOV AL, 82H OUT DX,AL MOV DX,264H IN AL,DX NOT AL MOV DX,260H OUT DX,AL例例8.4: 用一片用一片8255A连接连接8个个7段数码显示管,规定段数码显示管,规定8255A的的端口地址范围为端口地址范围为340H34FH,用用74LS138译码器实现译码器实现8255A

55、的片选电路,并根据电路编写在的片选电路,并根据电路编写在8个个7段数码管上显段数码管上显示数字示数字07的程序。的程序。解:在设计电路前,首先要了解解:在设计电路前,首先要了解7段数码管,掌握数码管显示段数码管,掌握数码管显示数字的原理。数字的原理。 图图2-给出了共阴极给出了共阴极7段数码管逻辑结构图段数码管逻辑结构图。 bcadfegabcdefgcomabcdefgcom(a)7段发光二极管标号段发光二极管标号(b)对应电路图)对应电路图(c)引脚分布)引脚分布图图2- 共阴极共阴极7段数码管逻辑结构段数码管逻辑结构 从图从图2-1可以看出。当可以看出。当com端接低电平,端接低电平,a

56、g端端接高电平,对应的发光二极管就发亮。接高电平,对应的发光二极管就发亮。如果想在如果想在7段数码管上显示数字段数码管上显示数字0,需要在,需要在com端接低电平,端接低电平,a 、 b 、 c 、 d 、 e 、f端接高电平,端接高电平,g端接低电平。端接低电平。 七段数码管的字形代码表如下:七段数码管的字形代码表如下:显示字形显示字形 g fe d c b a 段码段码 0 0 111 1 1 1 3fh 1 0 110 0 0 0 30h 2 1 011 0 1 1 5bh 3 1 001 1 1 1 4fh 4 1 100 1 1 0 66h 5 1 101 1 0 1 6dh 6 1

57、 111 1 0 1 7dh 7 0 000 1 1 1 07h 一片一片8255A只需个端口地址,而题中给出的只需个端口地址,而题中给出的地址范围由地址范围由16个地址,这意味着低位地址中有个地址,这意味着低位地址中有些地址可以不参加地址译码。设计电路的第一部些地址可以不参加地址译码。设计电路的第一部还需要设计出片选电路。必须用指定地址范围内还需要设计出片选电路。必须用指定地址范围内状态不变的地址信号作为片选电路的输入信号。状态不变的地址信号作为片选电路的输入信号。A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 0 1 0 0 0 0 0 0 340H 1 1 0 1 0

58、 0 1 1 1 1 34FH 从上述分析中可以看出,指定地址范围内状态从上述分析中可以看出,指定地址范围内状态不变的地址信号是不变的地址信号是A9 A8 A7 A6 A5 A4 它们的状它们的状态分别是态分别是110100,这意味着,这意味着A9 A4上出现的信号状上出现的信号状态为态为110100,8255 A的的CS必须为低电平。必须为低电平。 下面讨论如何用下面讨论如何用74LS138译码器实现这一功能。译码器实现这一功能。 设计片选电路的基本原则是:用设计片选电路的基本原则是:用A9 A4作为作为74LS138的输入,用的输入,用74LS138其中一个输出其中一个输出Yi去连去连接接

59、8255的的CS,当且仅当,当且仅当A9 A4=110100时,时, Yi才才能变为低电平。能变为低电平。图图2-2中,用中,用A6、A5、A4 分别连接分别连接74LS138的的 G 、 G2A 、G2B, 只有当只有当A6A5A4 =100时时74LS138才能进行译码操作,用才能进行译码操作,用A9 、A8、 A7分别分别 连接连接74LS138的的C、B、A,而用,而用Y6输出连接输出连接8255的的CS,这样,只有当,这样,只有当A9 A8A7=110时,时, Y6输出为低电平。输出为低电平。图图-用用74LS138译码器实现译码器实现8255的片选电路的片选电路 用一片用一片825

60、5A连接连接8个个7段数码管。且使段数码管。且使8个个7段数码管显示段数码管显示8个不同的数字。开始,似乎感到个不同的数字。开始,似乎感到有点困难。实际上,任何时刻只显示一个有点困难。实际上,任何时刻只显示一个7段数段数码管,其余码管,其余7个个7段数码管都没有显示状态,段数码管都没有显示状态,CPU通过通过8255A逐个显示逐个显示7段数码管,并在不同的段数码管,并在不同的7段段数码管上显示不同的数字。在逐个显示完数码管上显示不同的数字。在逐个显示完8个数个数码管后,又开始新一轮的逐个显示过程,当这个码管后,又开始新一轮的逐个显示过程,当这个循环周期间隔足够短时,由于人的眼睛有滞后效循环周期间隔足够短时,由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论