上海工程技术大学微机原理及接口技术yp 第7章 可编程接口芯片_第1页
上海工程技术大学微机原理及接口技术yp 第7章 可编程接口芯片_第2页
上海工程技术大学微机原理及接口技术yp 第7章 可编程接口芯片_第3页
上海工程技术大学微机原理及接口技术yp 第7章 可编程接口芯片_第4页
上海工程技术大学微机原理及接口技术yp 第7章 可编程接口芯片_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第7章可编程接口芯片

2006/01信息学院计算机系统研究所2006/01信息学院计算机系统研究所并行接口概述可编程并行接口芯片8255A一、8255A的内部结构二、8255A的管脚分配三、8255A的工作方式及编程四、8255A工作方式的功能及应用举例主要内容2006/01信息学院计算机系统研究所

并行接口连接CPU与并行外设,实现两者间的并行通信,即实现并行输入/输出的接口就是并行接口。在信息传送过程中,起到输出锁存或输入缓冲的作用。并行通信:就是把一个字符的各数位用几条线同时进行传输,即同时传输多个数据位,比如一个字节。并行接口与并行通信2006/01信息学院计算机系统研究所数据的各位同时由源到达目的地→

快多根数据线→

短距离(远程费用高)

并行通信将数据的各位同时在多根并行传输线上进行传输。01010110

D0D1D2D3D4D5D6D7目的D0D1D2D3D4D5D6D7源并行通信适于短距离、高速通信2006/01信息学院计算机系统研究所

串行通信

将数据和控制信息的各位按时间顺序依次在一根传输线上传输。

01101010

RD目的TD源3、串行接口与串行通信2006/01信息学院计算机系统研究所

可编程芯片:可被用户通过程序来改变其功能的电路芯片,称~。芯片编程:用程序改变芯片工作的过程称芯片编程或芯片初始化。2006/01信息学院计算机系统研究所不可编程并行接口和可编程并行接口

不可编程并行接口的工作方式和功能:

是由硬件接线决定,不能用软件来控制。

可编程并行接口的工作方式和功能:

可用软件编程的方法改变,使接口具有更大的灵活性和通用性。2006/01信息学院计算机系统研究所输入接口输出接口888I/O线寄存器FF多路转换开关数据总线8可编程接口方案“0”“1”2006/01信息学院计算机系统研究所通常,一个并行接口可设计为输出接口,如连接一台打印机。也可设计为输入接口,如连接键盘。还可设计成双向通讯接口,既作为输入接口又作为输出接口,如连接像磁盘驱动器这样的需双向通路的设备。写程序:FF=0,输出口FF=1,输入口2006/01信息学院计算机系统研究所

命令字:对寄存器FF写入的内容称命令字或方式控制字。寄存器称命令寄存器,相应的端口称命令口或控制端口。对芯片初始化的过程就是对芯片的控制端口写入各种控制字的操作过程。2006/01信息学院计算机系统研究所一般情况下不交叉使用,因为:只有本系列的芯片才能更好地保证时序上的配合,和各种功能的发挥,使CPU可靠与外设交换信息。

在并行接口芯片中,不同的产品系列研制出与之相匹配的接口芯片。例在80X86系列中使用8255A芯片在Z80系列中使用Z80-PIO芯片在6800系列中使用MC6820PIA芯片2006/01信息学院计算机系统研究所可编程并行接口芯片8255A一、8255A的内部结构二、8255A的管脚分配三、8255A的工作方式及编程四、8255A工作方式的功能及应用举例2006/01信息学院计算机系统研究所一、8255A的管脚分配它是Intel系列的8位并行接口芯片,由于它是可编程性,可以通过软件来设置/改变芯片的工作方式,其通用性强,使用灵活,是一种典型的可编程并行接口芯片。8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB340个管脚,双列直插式2006/01信息学院计算机系统研究所一、8255A的内部结构CPU接口内部逻辑CPU接口外设接口

A口

C口上

C口下

B口8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB32006/01信息学院计算机系统研究所一、8255A的内部结构CPU接口内部逻辑CPU接口外设接口2006/01信息学院计算机系统研究所通常使用方法:端口A、B作为独立的输入或者输出端口,端口C可以作为独立的输入或者输出端口,也可以配合端口A、端口B,为端口A、B提供控制信号和状态信号。1、并行输入/输出端口

3个8位数据端口,A口、B口、C口,可通过编程设定其为入口或出口。三个端口有着各自的特点。2006/01信息学院计算机系统研究所(1)A口有三种工作方式:方式0、方式1、方式2对外8根管脚为PA7~PA0

(2)B口有两种工作方式:方式0、方式1对外8根引脚为PB7~PB0

(3)C口对外8根管脚为PC0~PC7在使用中,端口A和端口B常常作为独立的输入或输出端口,端口C则配合端口A和端口B工作。具体讲,端口C常常通过控制命令被分为2个4位端口,分别用来为端口A和端口B提供控制信号和状态信号。2006/01信息学院计算机系统研究所2.A组、B组控制

为了控制方便,将8255A的3个口分成A、B两组。其中A组包括A口的8条线PA0~PA7和C口的高4位PC4~PC7。B组包括B口的8条线PB0~PB7和C口的低4位PC0~PC3。A组和B组分别由软件编程来加以控制。(1)A组控制电路控制端口A和端口C的高4位的工作方式和读写操作。(2)B组控制电路控制端口B和端口C的低4位的工作方式和读写操作。2006/01信息学院计算机系统研究所

这是一个双向三态的8位数据缓冲器。

8255A正是通过它与系统总线相连,实现8255A

与CPU之间的数据传输接口数据的输入/输出、控制字和状态信息的传送,都是通过这个缓冲器进行的。

3.数据总线缓冲器(管脚D0~D7)2006/01信息学院计算机系统研究所8255A的读/写控制逻辑的作用是从CPU的地址和控制总线上接收有关信号,转变成各种控制命令送到数据缓冲器以及A组、B组控制电路,从而管理三个端口、控制寄存器和数据总线之间的传送操作。4.读/写控制电路

控制数据总线缓冲器的状态(3种状态:输入、输出、高阻态)。2006/01信息学院计算机系统研究所由CS、A1、A0、RD、WR管脚的不同组合,实现各种不同的功能。

2006/01信息学院计算机系统研究所:写信号,输入。当为低电平时,允许CPU将控制字或数据写入8255A。A1、A0:端口选择信号,输入。8255A中有端口A、B、C,还有一个控制寄存器,共4个端口,根据从A1、A0输入的地址信号来寻址。A1、A0的组合与端口的关系2006/01信息学院计算机系统研究所一、8255A的管脚分配它是Intel系列的8位并行接口芯片,由于它是可编程性,可以通过软件来设置/改变芯片的工作方式,其通用性强,使用灵活,是一种典型的可编程并行接口芯片。8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB340个管脚,双列直插式2006/01信息学院计算机系统研究所

PA0~PA7:A口数据线,双向。PB0~PB7:B口数据线,双向。PC0~PC7:C口数据线,双向。当8255A工作于方式0时,PC0~PC7分成两组并行I/O数据线,每组4位。当8255A工作于方式1或方式2时,PC0~PC7为A口、B口提供联络和中断信号,这时每根线的功能有新的定义。1.与外设连接的管脚共24(3X8)位2006/01信息学院计算机系统研究所

CS:片选信号,为低电平时,该芯片被选中,即低电平有效。:读信号,当为低电平时,允许CPU从8255A读取数据或状态信息。

RESET:输入信号,高电平有效,8086CPU也高电平有效,所以可直接连CPU的复位线。当RESET端得到高电平后,8255A复位。复位状态是控制寄存器被清零,所有端口(A、B、C口)被置为输入方式。

2.与CPU连接的管脚2006/01信息学院计算机系统研究所:写信号,输入。当为低电平时,允许CPU将控制字或数据写入8255A。A1、A0:端口选择信号,输入。8255A中有端口A、B、C,还有一个控制寄存器,共4个端口,根据从A1、A0输入的地址信号来寻址。A1、A0的组合与端口的关系2006/01信息学院计算机系统研究所三、8255A的工作方式及编程三种工作方式1.方式0-基本输入/输出方式2.方式1-选通输入/输出方式3.方式2-双向传送方式2006/01信息学院计算机系统研究所

(1)工作方式0

它主要工作在无条件输入/输出方式

A口、B口和C口都可工作于这种方式,由CPU用简单的I/O指令来进行读/写。无条件传送方式的接口电路时是十分简单的,不需要状态端口,3个端口都可作为数据端口。

3个端口都可以由程序规定为输入或输出方式,但不能既作为输入又作为输出。2006/01信息学院计算机系统研究所

当以工作方式0输入时,外设先将数据送到8255A的某个端口,CPU执行一条输入指令,有效,将该端口的数据送入CPU。当以工作方式0输出时,CPU执行一条输出指令,有效,CPU将数据送到8255A的某个端口,然后由外设取走。2006/01信息学院计算机系统研究所(2)工作方式1

它主要工作在异步或条件传输方式

A口、B口可工作于该方式,A口、B口作为数据的输入或输出口条件传输需要联络线,先检查状态,在传输数据

C口的某些位分别为A口、B口提供3根联络线(状态和控制信号线)

2006/01信息学院计算机系统研究所(3)工作方式2

方式2是一种双向传输方式,既能输入,又能输出只适用于A口这时C口为A口提供5个联络信号(控制信号)

B口只能工作于方式0或方式12006/01信息学院计算机系统研究所8255A的编程编程:就是用户使用8255A前,用软件来定义端口的工作方式,选择所需要的功能。与之相关的控制字2006/01信息学院计算机系统研究所8255A的两种控制字,由写入内容的D7位区分:D7=1,方式控制字设定A口、B口、C口的工作状态和工作方式。工作状态:输入或输出工作方式:方式0、方式1、方式2D7=0,C口按位置1/置0控制字使C口中的某一位为1(置位)或0(复位)。2006/01信息学院计算机系统研究所1)方式控制字1

D7D6D5D4D3

D2

D1D0C口输入/输出选择A组控制为该控制字的标志B组控制0:C口高4位为输出1:C口高4位为输入A口输入/输出选择0:A口为输出1:A口为输入A口工作方式00:方式001:方式11X:方式2B口工作方式0:方式01:方式1B口输入/输出选择0:B口为输出1:B口为输入C口输入/输出选择0:C口低4位为输出1:C口低4位为输入2006/01信息学院计算机系统研究所说明:方式控制字未规定C口的控制字,只规定了C口数据传输方式C口要么作为联络线,要么只工作于方式082552006/01信息学院计算机系统研究所10001001D7D6D5D4D3D2D1D0特征位A口方式0A口输出PC7~PC4输入B口方式0B口输出PC3~PC0输入所以,方式控制字为10001001B,即89H

要求设置:A口方式0输出,PC7~PC4输入B口方式0输出,PC3~PC0输入例:某外设工作在无条件传输方式,通过8255A与CPU交换数据,要求A口、B口为输出,C口为输入,则方式控制字为2006/01信息学院计算机系统研究所设置方式控制字的程序段为:MOVDX,0F3H;控制口地址MOVAL,91H

;方式控制字OUTDX,AL或

MOVAL,91H

;方式控制字OUT0F3H,AL所以,方式控制字为10010001B,即91H,要求设置:A口方式0输入,C口高4位输出B口方式0输出,C口低4位输入控制口地址为0F3H再例:2006/01信息学院计算机系统研究所

作用是:使C口中的某一位为1(置位)或0(复位);端口C的数位常常作为控制位使用,所以在设计8255A芯片时,应使得端口C中的各数位可以单独设置。C口置1/清0控制字2006/01信息学院计算机系统研究所0复位1置位0D7D6D5D4D3D2D1D0设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择设置位C口按位置位/复位控制字各位含义:XXXPC0~PC7的编码2006/01信息学院计算机系统研究所该控制字虽然是对端口C操作,但必须写入控制口举例:说明例子:某外设接口电路中,8255A的C口为输出,控制8个继电器。设定C口的I/O线为“1”,则表示继电器闭合,为“0”,表示断开。现与PC2对应的继电器闭合,其他继电器状态不变,如何如实现?

分析:PC2=1,置“1”2006/01信息学院计算机系统研究所所以,C口置1控制字为00000101要求设置:PC2=1MOVAL,00000101OUT控制口,AL0D7D6D5D4D3D2D1D0设置内容无意义选择设置位000PC0~PC7的编码010PC20复位1置位10102006/01信息学院计算机系统研究所通过控制口置PC2为0,置PC4为1,控制口地址为0F3HMOVDX,0F3H

;置DX为控制口地址MOVAL,00000100B;置PC2为0OUTDX,ALMOVAL,00001001B;置PC4为1OUTDX,AL

再例2006/01信息学院计算机系统研究所当8255的A口、B口工作在方式1或A口工作在方式2时,通过读C口的状态,可以检测A口和B口的状态。当8255的A口和B口均工作在方式1的输入时,由C口读出的8位数据各位的意义如图a所示。当8255的A口和B口均工作在方式1的输出时,由C口读出的状态字各位的意义如图b所示。A口在方式2工作时的状态字如图c所示3.读入状态字2006/01信息学院计算机系统研究所(a)A、B口均为方式1输入时的状态字I/OI/OIBFAINTEAINTRAINTRBIBFBINTRBD7D6D5D4D3D2D1D0A组B组2006/01信息学院计算机系统研究所(b)A、B口均为方式1输出时的状态字OBFAINTEAI/OI/OINTRAINTRBOBFBINTRBD7D6D5D4D3D2D1D0A组B组OBFAINTE1IBFAINTE2INTRAD7D6D5D4D3D2D1D0A组B组或I/O(c)A口在方式2工作时的状态字2006/01信息学院计算机系统研究所四、8255A工作方式的功能及应用举例2006/01信息学院计算机系统研究所

在8255A内部硬件结构中,

A口和B口之间没有硬件关系,即可分别作为独立的输入或输出端口;

C口和A口,C口和B口之间有硬件联系,且通过向控制口设置控制字可以改变这种联系。2006/01信息学院计算机系统研究所

根据A口和C口、B口和C口之间硬件关系的不同,可以有三种不同的工作方式,分别称为方式0、方式1、方式2。方式0:与C口之间没有硬件联系。

方式1:C口的某3根引脚作为端口与外设的联络信号。方式2:C口的某5根引脚作为端口与外设的联络信号。2006/01信息学院计算机系统研究所1.8255A工作在方式0下—基本输入输出方式方式0的工作特点方式0下,8255A的数据端口可分为4个独立的端口:A口、B口、C口高4位、C口低4位;每个独立的端口均可输入或输出,互不关联;4个独立的端口可有16种组合方式CPU与端口交换数据直接由CPU执行IN或OUT指令来完成。2006/01信息学院计算机系统研究所8255ARDCSA2A1PA0PA1PA3PB0PB1PB7Vcc+5V+5V….….GNDPA2abgDP译码器M/IOA15A6A5ABCA4A3Y4Y7G1G2AG2BA0WRRESETRDWR….例7-1:A1A22006/01信息学院计算机系统研究所端口地址:A口地址:8020H;B口地址:8022H;C口地址:8024H,控制口地址:8026H。分析:CPU的A2和A1,分别对应8255A的A0和A1,所以A2A100011011CPU8255ACPU的A0为0,选重8255A芯片,且保证4个口为偶地址2006/01信息学院计算机系统研究所A_PORTEQU8020HB_PORTEQU8022HC_PORTEQU8024HCTRL_PORTEQU8026HDATASEGMENTTAB1DB3FH,06H,5BH,4FH,...,31HDATAEDNSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AX

;定义8255的4个端口的符号地址;定义数据段源程序为:;定义段码表;定义代码段2006/01信息学院计算机系统研究所 MOV AL,90HMOV DX,CTRL_PORT OUT DX,ALADD1: MOV DX,A_PORT

INAL,DXANDAL,0FHMOVBX,OFFSETTAB1

XLATMOVDX,B_PORT OUT DX,AL MOV CX,0600HADD2:LOOPADD2JMP ADD1CODEENDSENDSTART

;屏蔽高四位;取代码段首地址;输出显示;设置8255方式字;取键盘信息;查表得段码;循环延时2006/01信息学院计算机系统研究所2.8255A工作在方式1下—选通的输入输出方式方式1的工作特点:在这种工作方式下,输入输出操作由选通信号控制;如果A口和B口都工作在方式1,则C口中有6位被规定为配合方式1工作的“联络线”,剩下2位仍可作为输入或输出;A口和B可作为输入口或输出口。A口、B口在输入或输出不同的工作状态时,C口联络信号的管脚和意义也不同。2006/01信息学院计算机系统研究所方式1下输入端口的联络信号1011A口方式1输入控制字111B口方式1输入控制字I/0I/0A口方式1输入时相应的联络信号B口方式1输入时相应的联络信号方式1A口输入方式1B口输入(1)选通输入方式2006/01信息学院计算机系统研究所对方式1输入的端口,C口提供与外部联络的信号有:①

STB选通信号(低电平有效)由外设发出,送给8255A,作用是将外设送来的数据锁存到8255A的输入端口。②

IBF输入缓冲器满信号(高电平有效)

8255A发出,表示外设送来的数据已进入输入端口。当外设送来的数据送入输入端口后,

8255A自动发出IBF。③

INTR中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。STB、IBF、INTE均为1时,8255A自动发出INTR。2006/01信息学院计算机系统研究所对方式1输入的端口,8255A内部的控制信号有:

INTE中断允许控制信号作用是控制是否允许8255A的中断申请信号INTR发出。

此信号无引出,

通过控制口对C口相应位的置位/复位设置允许或不允许。

A口,对PC4置位,使INTEA=1,允许中断

对PC4复位,使INTEA=0,不允许中断B口,对PC2置位,使INTEB=1,允许中断

对PC2复位,使INTEB=0,不允许中断2006/01信息学院计算机系统研究所①当外设数据准备好,将数据送至端口线PA7~PA0②

外设发出选通信号STBA有效:(1)将数据锁存在输入端口内。(2)使IBFA变高,有效,表示输入端口满,可用于阻止外设输入新数据(3)如果INTEA=1,STBA的上升沿使INTRA变高,发出中断请求。③中断处理程序中CPU读取数据,发出RD信号:(1)RD的下降沿清除INTRA(2)RD的上升沿清除IBFA(3)端口内的数据进入CPUPA7~PA0STBAIBFAINTRARD外设送来数据②当INTE=1时

③①2006/01信息学院计算机系统研究所A口方式1输出时相应的联络信号B口方式1输出时相应的联络信号方式1下输出端口的联络信号(2)选通输出方式2006/01信息学院计算机系统研究所对方式1输出的端口,C口提供与外部联络的信号有:①

OBF输出缓冲器满信号(低电平有效)当数据送至8255A输出缓冲器后,8255A自动发出。表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。②

ACK外设响应信号(低电平有效)由外设发出,送给8255A。作用是通知8255A输出端口的数据已被外设取走,可以传送下一个数据。③

INTR中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。当OBF、ACK、INTE均为1时,8255A自动发出INTR。2006/01信息学院计算机系统研究所对方式1输出的端口,8255A内部的控制信号有:

INTE中断允许控制信号作用是控制是否允许中断申请信号INTR发出。

此信号无引出,

通过控制口对C口相应位的置位/复位设置允许或不允许。

A口,对PC6置位,使INTEA=1,允许中断

对PC6复位,使INTEA=0,不允许中断B口,对PC2置位,使INTEB=1,允许中断

对PC2复位,使INTEB=0,不允许中断2006/01信息学院计算机系统研究所端口工作在方式2时,C口的某5根引脚作为端口的联络信号8255A只有A口可以工作在方式2下。3.8255A工作在方式2下—双向传送方式2006/01信息学院计算机系统研究所

与方式0、方式1的单向传送不同,工作在方式2下的端口,具有双向传送功能。A口工作在方式2下,C口未做联络信号的3条引脚,可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。由方式控制字决定其输入/输出。11XX1/01/01/0D7D6D5D4D3D2D1D0特征位A口工作方式

A口I/OPC7~PC4I/OB口工作方式B口I/OPC3~PC0I/O1/02006/01信息学院计算机系统研究所方式2—双向传输方式工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A口输入、输出联络信号的组合。2006/01信息学院计算机系统研究所8255应用举例并行接口应用广泛,如CPU与打印机接口,A/D、D/A接口等2006/01信息学院计算机系统研究所例1:某一8086系统中接有一台打印机,8255A作为输出接口,工作于方式0,编写一程序将缓冲区BUFF的400H个字节的ASCII码送打印机打印。选通信号为负脉冲,口地址为:00D0H~00D6H80868255APrinterD7~D0D7~D0PA7~PA0PC0PC4STBBUSY打印机D7~D0驱动A口为打印机的数据线,PC0为输出,PC4为输入2006/01信息学院计算机系统研究所10001010D7D6D5D4D3D2D1D0特征位A口方式0A口输出PC7~PC4输入B口方式0B口输入PC3~PC0输出所以,方式控制字为10001010

要求设置:A口方式0输出,PC7~PC4输入B口没用,设为方式0输入,PC3~PC0输出方式控制字为2006/01信息学院计算机系统研究所所以,C口置1控制字为00000001要求设置:PC0=1MOVAL,00000

温馨提示

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

评论

0/150

提交评论