[计算机硬件及网络]并行接口及可编程接口芯片8255A.ppt_第1页
[计算机硬件及网络]并行接口及可编程接口芯片8255A.ppt_第2页
[计算机硬件及网络]并行接口及可编程接口芯片8255A.ppt_第3页
[计算机硬件及网络]并行接口及可编程接口芯片8255A.ppt_第4页
[计算机硬件及网络]并行接口及可编程接口芯片8255A.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第八章,并行接口及可编程接口芯片8255A,学 习 目 标,理解Intel系列的8255A 接口芯片的工作原理 了解可编程并行接口芯片8255A的结构与功能; 理解可编程并行接口芯片8255A的三种工作方式; 重点掌握可编程并行接口芯片8255A的初始化编程方法;,串行通信和并行通信 可编程并行接口芯片8255A,在计算机领域中有两种数据通信方式: 串行传送和并行传送 并行传送:数据在多条并行1位宽的传输线上同时由源传送到目的。以1字节的数据为例,在并行传送中,1字节的数据通过8条并行传输线同时由源传送到目的。 串行传送:数据在单条1位宽的传输线上,一位一位地按顺序分时传送。以1字节为例,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序一位一位地传送。,串行通信和并行通信比较 距离:并行近距离传送(通常小于30米) 串行远距离传送(几米数千公里) 速度:二者的传送速率与距离成反比,但在短距离内并行快得多。 设备费用:随着大规模和超大规模集成电路的发展、逻辑器件价格趋低,而通信线路费用趋高,因此对远距离通信而言,串行通信的费用显然会低得多。另一方面串行通信还可利用现有的电话网络来实现远程通信,降低了通信费用。,串行通信和并行通信 可编程并行接口芯片8255A,概述 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。 含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。,图8-9 8255A的结构框图,内部逻辑,外设接口,CPU接口,8255A的内部结构 数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。 3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。在方式字的控制下,PC口可以分成两个4位的端口,其中PC7PC4同端口A配合使用, PC3PC0同端口B配合使用。 A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。 读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统总线发来的有关信号,并向A、B两组控制部件发送命令。,8255A的引脚功能 DIP封装,共40个引脚。 1. 连接系统总线的主要引脚 D0D7:数据线,双向,连CPU数据总线; RESET:复位输入,接系统总线的RESET; CS:片选控制输入,接译码器; RD*:读命令输入,接CPU的RD*或IOR*; WR*:写命令输入,接CPU的WR*或IOW*; A0,A1:片内端口地址输入,可选4个片内端口。接AB的任2位。,8255A的引脚功能 A1、A0端口选择情况,见右表 由CS*、A1、A0、RD*、WR*引脚的不同组合,实现各种不同的功能。见下表:,8255A的引脚功能 2. 连接外设端的引脚 PA0PA7:A口外设数据线,接外设; PB0PB7:B口外设数据线,接外设; PC0PC7:C口外设数据线或联络线,接外设。,8255A与系统的连接示意图,8255A的工作方式 工作方式0基本输入输出工作方式. A,B,C端口都可以作为输入或输出数据端口, 以无条件传送方式进行输入输出操作. 工作方式1 应答式单向输入输出工作方式. A,B端口作为输入或输出数据端口,C口分为两组分别作为A口和B口的应答联络线. 工作方式2 应答式双向输入输出工作方式 只有A口可以工作于方式2, 可以双向操作,即可以输入也可以输出数据,C口作为应答信号. 位操作工作方式 只有C口可以进行位操作. 某端口工作于哪一种方式,可通过软件编程来指定。即向8255写入方式控制字来决定其工作方式。,8255A的工作方式方式0(基本输入方式) IN AL,PORT 外设将数据送到8255输入缓冲器中; CPU给出有效的8255地址; CPU发读命令,将8255A输入缓冲器中数据读入CPU的AL寄存器中。,8255A的工作方式方式0(基本输出方式) OUT PORT,AL CPU给出有效的8255地址; CPU发写命令,将CPU的AL寄存器中数据写入8255A输出锁存器中。,8255A的工作方式方式1(选通工作方式) 利用一组选通控制信号控制A端口和B端口的数据输入输出。 特点: A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的选通控制信号。 C口的剩余位仍可作数据位使用。 A口、B口在作为输入和输出时的选通信号不同。 方式1的应用: 主要用于中断控制方式下的输入输出。 说明:C口除部分位用作选通信号外,其余位(2位)可工作在方式0下,作为输入或输出线,用程序指定其数据传送方向。,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输入 C口的联络信号: INTE中断允许,是否允许发出INTR请求。INTE =1和IBF为高电平时,允许发出INTR请求。无引出。 INTR中断请求,由8255A输出。中断允许时,由STB*的后沿产生,向CPU请求中断,让CPU读走输入锁存器中的数据。INTR信号由RD*的前沿清除。 A组对应PC3;B组对应PC0。,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输入 C口的联络信号: STB*选通信号,由外设输入。=0时,将外设数据送入8255的输入锁存器。 A组对应PC4;B组对应PC2。 IBF输入锁存器满信号,由8255A输出。=1时通知外设输入的数据已写入缓冲器,此时不能送下一个数据。此信号由STB*的前沿产生。CPU用IN指令取走数据后(RD*的后沿),此信号被清除。 A组对应PC5;B组对应PC1。,8255A的工作方式方式1(选通工作方式) 方式1输入时序:,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输出 C口的联络信号: OBF*输出缓冲器满信号,8255A输出。=0时通知外设取走数据。 A组对应PC7;B组对应PC1 ACK*响应信号,外设输入。0时表示外设已从数据端口取走数据。此信号使OBF*变高。 A组对应PC6;B组对应PC2。,8255A的工作方式方式1(选通工作方式) A、B口都设为方式1输出 C口的联络信号: INTRACK*上升沿产生,8255输出。=1时请求CPU输出下一个数据(通常接到8259)。 A组对应PC3;B组对应PC0。 INTE中断允许位,INTE=1和OBF*为高电平时,允许产生INTR信号。无引出。,8255A的工作方式方式1(选通工作方式) 方式1输出时序:,8255A的工作方式方式2(双向选通传送方式) 特点: 双向方式既是输入口,又是输出口。 利用C口的5条线提供传输联络信号。 类似于A口方式1下输入和输出的组合。工作时输入、输出都能锁存。 只有A口可工作在方式2下。 当A组工作在方式2时,B组可工作在方式0或方式1下。 应用: 可用于中断控制输入输出方式。 也可用查询方式与CPU联系。 当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位刚好用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位只能用作方式0下的输入输出线)。,8255A的工作方式方式2(双向选通传送方式) C口的联络信号: STB*选通信号,由外 设输入。=0时,将外设数据 送入8255的输入锁存器。 对应PC4。 IBF输入锁存器满信号, 由8255A输出。=1时通知外 设输入的数据已写入缓冲器, 此时不能送下一个数据。此 信号由STB*的前沿产生。 CPU用IN指令取走数据后 (RD*的后沿),此信号被 清除。 对应PC5。,8255A的工作方式方式2(双向选通传送方式) C口的联络信号: OBF*输出缓冲器满信号, 8255A输出。=0时通知外设取走数据。 对应PC7。 ACK*响应信号,外设输入。 0时表示外设已从数据端口取走数据。此信号使OBF*变高。 对应PC6。 INTR输入时由STB*的后沿 产生,输出时由ACK*上升沿产生,8255输出。=1提出中断请求。 A组对应PC3。,8255A的工作方式方式2(双向选通传送方式) 方式2的时序:,8255A的初始化 8255A的各种工作方式由CPU对8255A写入控制命令字来设定,这个过程称为“初始化”。 8255A有2种控制命令字: 方式选择控制字确定3个端口的工作方式; C口置位/复位控制字确定C口某一位的初始状态。,两个控制字的差别 工作方式控制字放在程序的开始部分;按位置位/复位控制字可放在初始化程序以后的任何地方。,8255A的初始化方式选择控制字,例题(工作方式控制字),设某片8255A的端口地址是0060H0063H,A口为方式0输入,B口为方式1输出,PC7PC4为输出,PC3PC0为输入,端口地址为0060H0063H,初始化该8255A。 解:方式选择控制字=?,返回,8255A的初始化C口置位/复位控制字,位操作控制字 例题,MOV AL,0C4H OUT CTRL_PORT,AL ;设置工作方式 MOV AL,09H OUT CTRL_PORT,AL ;PC4置位,A口输入允许中断 MOV AL,ODH OUT CTRL_PORT,AL ;PC6置位,A口输出允许中断 MOV AL, 05H OUT CTRL_PORT,AL ;PC2置位;B口输出允许中断,【例】 A口方式2,要求发两个中断允许,即PC4和PC6均需置位。B口方式1要求使PC2置位来开放中断。初始化程序如下。,例题(位操作控制字),若要从PC7输出一个正脉冲(设原来PC7=0)。,返回,解:程序段如下 MOV AL, 00001111 ;使PC7为高电平 OUT CTRL_PORT,AL ; 写入控制端口 MOV AL, 00001110 ;使PC7为低电平 OUT CTRL_PORT,AL ; 写入控制端口,思考题:,已知某8255A在系统中占用88H8BH号端口地址,现欲安排其PA,PB,PC口全部为输出,PA,PB口均工作于方式0模式,并将PC6置位,使PC3复位,试编写出相应的初始化程序 。,MOV AL, 80H OUT 8BH,AL MOV AL,ODH OUT 8BH,AL MOV AL,06H OUT 8BH,AL,8255A应用举例 LED开关接口。8086CPU通过8255用开关与8段LED显示器的接口如图示。8255A的PA口加驱动器接LED显示输出;PB口低4位接开关输入;PC口不用。8255A的A0、A1接地址总线的A1、A2,其端口地址为:0FFF8H、0FFFAH、0FFFCH、0FFFEH。要求:开关设置的二进制信息由8255A的PB口输入后,通过PA口输出给8段LED显示器,显示开关状态所对应的十六进制值,试编制其控制程序。,(1)控制字的设置 8255A的负载能力较小,PA输出口加驱动。 PA口设为方式0输出,PB口设为方式0输入。 由于地址总线的A0位未用,则8255A的每个端口有两个地址。通常使用A0=0的地址。 则方式选择控制字为:100001B 因未使用C口,故不需设置置位/复位控制字。,(2)开关状态与LED显示值关系 开关Ki闭合,则PBi=0,否则PBi=1。PB3PB0值与LED显示值关系:,8255A应用举例 (3)PA口输出值与LED显示值间关系,8255A应用举例 (4) PB口输入值转换成PA口输出值方法 将前述8段码按0F顺序连续存放于内存中; 将PB3PB0对应值置于AL中; 执行换码指令XLAT。指令执行:(AL+BX)AL,DELAY:,ORG 2000H ;定位程序的段内地址 MOV AL,82H ;82H=10000010B MOV DX,0FFFEH;设控制口地址 OUT DX,AL ;写方式控制字 MOV DL,0FAH ;设PB口地址 IN AL,DX ;读开关状态 AND AL,0FH ;屏蔽掉无用的高4位 MOV BX,OFFSET SSEGCODE XLAT ;查表取段选码 MOV DL,0F8H ;设PA口地址 OUT DX,AL;开关值段选码输出显示 MOV AX,56CH ;显示延时 DEC AX JNZ

温馨提示

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

最新文档

评论

0/150

提交评论