微型计算机原理及应用课件.ppt
《微型计算机原理及应用课件.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理及应用课件.ppt(81页珍藏版)》请在三一办公上搜索。
1、第7章 可编程并行接口8255A,并行接口的概述7.4.2 可编程并行接口8255A7.4.3 8255A的0方式及其应用7.4.4 8255A的1方式及其应用7.4.5 8255A的2方式及其应用,CPU与外设之间的信息传送都是通过接口电路来进行的。计算机与外部设备、计算机与计算机之间交换信息称之为计算机通信,计算机通信可分为两大类:并行通信:8位或16位或32位数据同时传输,速度快,信息 率高,成本高串行通信:一位一位数据传送(在一条线上顺序传送),成本低 实现并行通信的接口就是并行接口。,并行接口的概述,一、串行与并行通信,并行接口最基本的特点是在多根据数据线上以数据字节(字)为单位与I
2、/O设备或被控对象传送信息。如:打印机接口,A/D、D/A转换器接口,IEEE-488接口,开关量接口,控制设备接口等。在并行接口中,除了少数据场合之外,一般都要求在接口与外设之间设置并行数据线的同时,至少还要设置两根握手(联线)信号线,以便进行互锁异步握手方式(即查询方式)的通信。在并行接口中,8位或16位是一起行动的,因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也是一次输入/输出8位或16位。并行传送信息,不要求固定的格式,这与串行传送的数据格式的要求不同。,二、并行接口的特点,8255A8255A,概述 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“
3、可编程外设接口芯片”,是为Intel8080/8085系列微处理设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。,并行接口连接外设示意图,不可编程并行接口和可编程并行接口 不可编程并行接口的工作方式和功能:是由硬件接线决定,不能用软件来控制。可编程并行接口的工作方式和功能:可用软件编程的方法改变,使接口具有更大的灵活性和通用性。,一般情况下不交叉使用,因为:只有
4、本系列的芯片才能更好地保证时序上的配合,和各种功能的发挥,使CPU可靠与外设交换信息。,在并行接口芯片中,不同的产品系列研制出与之相匹配的接口芯片。,例 在80X86系列中使用8255A芯片 在Z80系列中使用Z80-PIO芯片 在6800系列中使用MC6820PIA芯片,8255A8255A,8255A的内部结构,8255A8255A,数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。在方式字的控制下,PC口可以分成两个4位的端
5、口,其中PC7PC4同端口A配合使用,PC3PC0同端口B配合使用。A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统总线发来的有关信号,并向A、B两组控制部件发送命令。,DIP封装,共40个引脚。1.连接系统总线的主要引脚D0D7:数据线,双向,连CPU数据总线;RESET:复位输入,接系统总线的RES
6、ET;CS*:片选控制输入,接译码器;RD*:读命令输入,接CPU的RD*或IOR*;WR*:写命令输入,接CPU的WR*或IOW*;A0,A1:片内端口地址输入,可选4个片内端口。接AB的任2位。,1.面向CPU一侧的引脚信号,D7D0,8位,双向,三态数据线 RESET,复位信号 CS*,片选信号RD*,读信号WR*,写信号 A1、A0,端口选择信号,8255A的读/写操作控制,2.面向外设一侧的引脚信号,端口A:PA0PA7A组,支持工作方式0、1、2端口B:PB0PB7B组,支持工作方式0、1端口C:PC0PC7仅支持工作方式0A组控制高4位PC4PC7B组控制低4位PC0PC3,端口
7、A:PA0PA7常作数据端口,功能最强大端口B:PB0PB7常作数据端口端口C:PC0PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握,功能:,8255A与系统的连接示意图,8255A的工作方式方式0基本输入/输出方式(A、B、C口)方式1选通工作方式(A、B口)方式2双向选通传送方式(仅A口)某端口工作于哪一种方式,可通过软件编程来指定。即向8255写入方式控制字来决定其工作方式。,8255A的工作方式方式0(基本输入/输出方式)特点:8255A相当于三个独立的8位数据口。各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。C端口即可以是一个8位的
8、简单接口,也可以分为两个独立的4位端口。设置为输出口时有锁存能力,设置为输入口时无锁存能力。适用于:无条件输入输出方式。查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。,8255A的工作方式方式0(基本输入/输出方式)IN AL,PORT外设将数据送到8255输入缓冲器中;CPU给出有效的8255地址;CPU发读命令,将8255A输入缓冲器中数据读入CPU的AL寄存器中。,8255A的工作方式方式0(基本输入/输出方式)方式0输入时序:,8255A的工作方式方式0(基本输出方式)OUT PORT,AL CPU给出有效的8255地址;C
9、PU发写命令,将CPU的AL寄存器中数据写入8255A输出锁存器中。,8255A的工作方式方式0(基本输入/输出方式)方式0输出时序:,有效,8255A的工作方式方式1(选通工作方式)利用一组选通控制信号控制A端口和B端口的数据输入输出。特点:A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的选通控制信号。C口的剩余位仍可作数据位使用。A口、B口在作为输入和输出时的选通信号不同。方式1的应用:主要用于中断控制方式下的输入输出。说明:C口除部分位用作选通信号外,其余位(2位)可工作在方式0下,作为输入或输出线,用程序指定其数据传送方向。,(1)端口A方式1作输入:,数据
10、选通信号表示外设已经准备好数据,输入缓冲器满信号表示A口已经接收数据,中断请求信号请求CPU接收数据,若允许PA口输入时,产生中断请求,则必须设置INTEA=1,即置PC4=1;若禁止它产生中断请求,则置INTEA=0,即置PC4=0,其程序段为:MOV DX,203H;8255A命令口 MOV AL,00001001B;置PC4=1,允许中断请求 OUT DX,AL MOV AL,00001000B;置PC4=0,禁止中断请求 OUT DX,AL,端口B方式1作输入:,方式1输入联络信号定义,STB*选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的
11、输入锁存器IBF输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据INTE 中断允许信号,高电平有效用于控制中断允许或中断屏蔽,8255A方式1作输入时的各联络信号对应关系,8255A工作在方式1下的输入时序,(3)端口A方式1作输出:,外设响应信号表示外设已经接收到数据,输出缓冲器满信号表示CPU已经输出了数据,中断请求信号请求CPU再次输出数据,端口B方式1作输出:,方式1输出联络信号,OBF*输出缓冲器满信号,低有效8255A输出给外设的一个控
12、制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK*响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据,8255A方式1作输出时的各联络信号对应关系,8255A工作在方式1下的输出时序,A端口、B端口方式 1 比较,A端口输入用C端口位PC3、PC4、PC5 A端口输出用C端口位PC3、PC6、PC7 B端口输入用C端口位PC0、PC1、PC2 B端口输出用C端口位PC0、PC1、PC2A端口输入、输出用不同的C端口的位 B端口输入、输出
13、用相同的C端口的位B端口只有方式 1 选通输入/输出 A端口还有方式 2 双向数据传送,C端口未被使用的位,A端口方式 0、B端口方式 0 C端口所有位未被使用,PC0 PC7 可作I/O用A端口方式 0、B端口方式 1 PC0 PC2被用,PC3 PC7可作I/O用A端口方式 1输入、B端口方式 0 PC3、PC4、PC5被用,PC0 PC2、PC6、PC7 可作I/O用A端口方式 1输出、B端口方式 0 PC3、PC6、PC7 被用,PC0 PC2、PC4、PC5 可作I/O用A端口方式 1输入、B端口方式 1 PC6、PC7 可作I/O用A端口方式 1输出、B端口方式 1 PC4、PC5
14、 可作I/O用A端口方式2、B端口方式1;C口被用完,都不可作I/O用,3.方式2(双向选通方式),方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据,(1)方式2的信号定义,用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号,8255A工作在方式2下的工作
15、时序,当数据端口作为输入工作时,在STB有效时,由外设把输入数据送入端口,并发出IBF有效信号。当CPU执行IN指令对该数据口进行读入操作后,由RD的上升沿使IBF复位,为下一次输入数据作好准备。如果该数据端口的中断允许INTE被置位,则在STB信号回复到高电平时,8255A通过INTR向CPU发中断请求。若CPU响应该中断请求,读取该数据端口的输入数据,则RD由下降沿使INTR复位,为下一次数据输入请求中断作好准备。,当数据端口作为输出口时,在CPU把数据写入端口后,由WR的上升沿使OBF有效并使INTR复位。OBF由8255A输出到外设,并通知外设可以取走端口的输出数据。当外设取走一个数据
16、时,应向8255A发回应答信号ACK。ACK的有效低电平可以使OBF恢复高电平,为下一次输出作好准备。,方式2应用接口电路图,返回,8255A的初始化可以利用软件编程确定8255的3个端口工作于何种方式下。8255A的各种工作方式由CPU对8255A写入控制命令字来设定,这个过程称为“初始化”。8255A有2种控制命令字:方式选择控制字确定3个端口的工作方式;C口置位/复位控制字确定C口某一位的初始状态,或用于设置INTE位(方式1,2)。,8255A的初始化方式选择控制字,8255A的初始化C口置位/复位控制字,8255A的初始化方式选择控制字 在方式 1、2下,C口作为A口、B口联络信号的
17、引脚,其动作关系在芯片设计和制造时已固定,不由用户自己安排,也不能编程改变。即C口作为联络信号的引脚:不受方式控制字的控制。该出则出,该入则入。,8255A的初始化MOV DX,387H;设控制口地址MOV AL,82H;1 00 0 0 0 1 0OUT DX,AL;输出控制字XOR AL,AL;A口输出全0MOV DX,384H;设A口地址OUT DX,AL;输出到A口,8255A应用举例 图中用8255A的PA口作为输出打印数据口,工作于方式0,PC口高4位工作于输出方式,PC6产生STB#信号;PC口低4位工作于输入方式,PC2接收打印机的BUSY信号。程序流程如右示。,例:利用825
18、5A作为打印机的连接接口,要求CPU通过接口采用查询方式,把存放在从BUF单元开始的内存缓冲区中的256个字符(ASCII码)输出给打印机去打印。假定8255A的 端口地址范围为0FBD0H0FBD3H,则8255A与打印机接口的初始化程序段如下:,8255A与打印机接口的初始化程序段,INIT:MOV DX,0FBD3H;8255A的控制寄存器端口地址 MOV AL,10000001B;方式选择控制字(A组方式0:A口输出,PC7PC4输出;B组方式0:B口输出,PC3PC0输入)OUT DX,AL;控制字送控制口寄存器 MOV AL,00001101B;C口置位/复位控制字,使PC6置位,
19、即1 OUT DX,AL;C口置位/复位控制字送控制寄存器,对8255A初始化编程,并使PC6初始化状态置1,为发选通脉冲(负脉冲)准备,打印一组字符的程序段如下:,MOV SI,OFFSET BUF;取字符串的内存首地址MOV CX,0FFH;将打印字符长度作为循环次数PL:MOV DX,0FBD2H;C口地址IN AL,DX;从C口查询打印机的状态信息BUSY0?(即PC20?)AND AL,00000100B JNZ PL;若BUSY1,则循环等待;BUSY0,则向A口送出数据,8255A与打印机接口的初始化程序段(续),MOV AL,SI;否则,从内存中取一个字符准备输出MOV DX,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 应用 课件
链接地址:https://www.31ppt.com/p-5975646.html