第9章可编程外围接口芯片8255A及应用_第1页
第9章可编程外围接口芯片8255A及应用_第2页
第9章可编程外围接口芯片8255A及应用_第3页
第9章可编程外围接口芯片8255A及应用_第4页
第9章可编程外围接口芯片8255A及应用_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

微型计算机原理及其应用

——第9章:可编程外围接口芯片8255A及应用1可编程外围接口芯片8255A及应用串行通信和并行通信可编程并行接口芯片8255A2可编程外围接口芯片8255A及应用——串行通信和并行通信在计算机领域中有两种数据通信方式:串行传送和并行传送。并行传送:数据在多条并行1位宽的传输线上同时由源传送到目的。以1字节的数据为例,在并行传送中,1字节的数据通过8条并行传输线同时由源传送到目的。串行传送:数据在单条1位宽的传输线上,一位一位地按顺序分时传送。以1字节为例,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序一位一位地传送。源目的0

11

0

1

0

1

0源目的3可编程外围接口芯片8255A及应用——串行通信和并行通信4可编程外围接口芯片8255A及应用——串行通信和并行通信串行通信和并行通信比较距离:并行——近距离传送(通常小于30米)

串行——远距离传送(几米~数千公里)速度:二者的传送速率与距离成反比,但在短距离内并行快得多。设备费用:随着大规模和超大规模集成电路的发展、逻辑器件价格趋低,而通信线路费用趋高,因此对远距离通信而言,串行通信的费用显然会低得多。另一方面串行通信还可利用现有的电话网络来实现远程通信,降低了通信费用。5可编程外围接口芯片8255A及应用串行通信和并行通信可编程并行接口芯片8255A6可编程外围接口芯片8255A及应用——8255A概述Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。7可编程外围接口芯片8255A及应用——8255A8255A的内部结构

A组控制数据总线缓冲器读/写控制逻辑B组控制A组A口(8位)A组C口高位(4位)B组C口低位(4位)B组B口(8位)D0~D7RDRDA1A0RESETRDPA0~PA7PC4~PC7PC0~PC3PB0~PB78可编程外围接口芯片8255A及应用——8255A8255A的内部结构数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。在方式字的控制下,PC口可以分成两个4位的端口,其中PC7~PC4同端口A配合使用,PC3~PC0同端口B配合使用。

A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统总线发来的有关信号,并向A、B两组控制部件发送命令。9可编程外围接口芯片8255A及应用——8255A8255A的引脚功能DIP封装,共40个引脚。1.连接系统总线的主要引脚D0~D7:数据线,双向,连CPU数据总线;RESET:复位输入,接系统总线的RESET;CS*:片选控制输入,接译码器;RD*:读命令输入,接CPU的RD*或IOR*;WR*:写命令输入,接CPU的WR*或IOW*;A0,A1:片内端口地址输入,可选4个片内

端口。接AB的任2位。10可编程外围接口芯片8255A及应用——8255A8255A的引脚功能A1、A0端口选择情况,见右表

由CS*、A1、A0、RD*、WR*引脚的不

同组合,实现各种不同的功能。见下表:A1A0端口00011011ABC控制口CSA1A0RDWR功

能0

000

1对端口A读0

0101对端口B读01001对端口C读01非法,不能对控制口读输入0对端口A写0对端口B写0对端口C写0对控制口写输出1

×

×

×

×

×

×

×

1

1数据缓冲器为三态断开011111100000101001111可编程外围接口芯片8255A及应用——8255A8255A的引脚功能2.连接外设端的引脚PA0~PA7:A口外设数据线,接外设;PB0~PB7:B口外设数据线,接外设;PC0~PC7:C口外设数据线或联络线,接外设。12可编程外围接口芯片8255A及应用——8255A8255A与系统的连接示意图

D0~D7WRRDA1A0CSDBIOWIORA1A0译码器8255A口B口C口D0~D7外设1A15~A2系统总线外设2外设3138255A的初始化——方式选择控制字D7D6D5D4D3D2D1D0C口低位选择,1入0出B口I/O选择,1入0出B口方式选择,0=方式01=方式1B组C口高位选择,1入0出A口I/O选择,1入0出A口方式选择00=方式001=方式11X=方式2D7=1,方式控制字标志A组可编程外围接口芯片8255A及应用——8255A148255A的初始化——C口置位/复位控制字D7D6D5D4D3D2D1D0置位/复位选择1=置位,0=复位D7=0为置位/复位控制字标志D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7无效可编程外围接口芯片8255A及应用——8255A15可编程外围接口芯片8255A及应用——8255A8255A的工作方式方式0——基本输入/输出方式(A、B、C口)方式1——选通工作方式(A、B口)方式2——双向选通传送方式(仅A口)某端口工作于哪一种方式,可通过软件编程来指定。即向8255写入方式控制字来决定其工作方式。16可编程外围接口芯片8255A及应用——8255A8255A的工作方式——方式0(基本输入/输出方式)特点:

8255A相当于三个独立的8位数据口。

各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。

C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。

设置为输出口时有锁存能力,设置为输入口时无锁存能力。适用于:

无条件输入输出方式。

查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。17可编程外围接口芯片8255A及应用——8255A8255A的工作方式——方式0(基本输入/输出方式)INAL,PORT①外设将数据送到8255输入缓冲器中;②CPU给出有效的8255地址;③CPU发读命令,将8255A输入缓冲器中数据读入CPU的AL寄存器中。输入缓冲器译码器数据DBAB外设8n18可编程外围接口芯片8255A及应用——8255A8255A的工作方式——方式0(基本输入/输出方式)方式0输入时序:

有效19可编程外围接口芯片8255A及应用——8255A8255A的工作方式——方式0(基本输入/输出方式)OUTPORT,AL①CPU给出有效的8255地址;②CPU发写命令,将CPU的AL寄存器中数据写入8255A输出锁存器中。输出锁存器译码器数据DBAB外设8n20可编程外围接口芯片8255A及应用——8255A8255A的工作方式——方式0(基本输入/输出方式)方式0输出时序:

有效21可编程外围接口芯片8255A及应用——8255A8255A的工作方式——方式1(选通工作方式)利用一组选通控制信号控制A端口和B端口的数据输入输出。特点:

A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的选通控制信号。C口的剩余位仍可作数据位使用。A口、B口在作为输入和输出时的选通信号不同。方式1的应用:主要用于中断控制方式下的输入输出。说明:C口除部分位用作选通信号外,其余位(2位)可工作在方式0下,作为输入或输出线,用程序指定其数据传送方向。228255A的工作方式——方式1(选通工作方式)A、B口都设为方式1输入C口的联络信号:STB#——选通信号,由外设输入。=0时,

将外设数据送入8255的输入锁存器。A组

对应PC4;B组对应PC2。IBF——输入锁存器满信号,由8255A输出。

=1时通知外设输入的数据已写入缓冲器,此

时不能送下一个数据。此信号由STB#的前沿

产生。CPU用IN指令取走数据后(RD#的后

沿),此信号被清除。A组对应PC5;B组对

应PC1。PA7~PA0PC4PC5PC3INTEAIBFAINTRAD7~D0输入设备(到CPU)PB7~PB0PC2PC1PC0INTEBD7~D0IBFBINTRB输入设备(到CPU)可编程外围接口芯片8255A及应用——8255A238255A的工作方式——方式1(选通工作方式)A、B口都设为方式1输入C口的联络信号:INTE——中断允许,由PC4控制是否允许发出INTR请求。

INTE=1和IBF为高电平时,允许发出INTR请

求。无引出。INTR——中断请求,由8255A输出。中断允许

时,由STB#的后沿产生,向CPU请求中断,让

CPU读走输入锁存器中的数据。INTR信号由

RD#的前沿清除。A组对应PC3;B组对应PC0。PA7~PA0PC4PC5PC3INTEAIBFAINTRAD7~D0输入设备(到CPU)PB7~PB0PC2PC1PC0INTEBD7~D0IBFBINTRB输入设备(到CPU)可编程外围接口芯片8255A及应用——8255A248255A的工作方式——方式1(选通工作方式)方式1输入时序:

可编程外围接口芯片8255A及应用——8255ASTBIBFINTR来自外设的输入数据RD方式1的输入时序①②③④⑤25第9章:并行通信和并行接口8255A——8255A8255A的工作方式——方式1(选通工作方式)A、B口都设为方式1输出C口的联络信号:OBF#——输出缓冲器满信号,8255A输出。

=0时通知外设取走数据。A组对应PC7;B

组对应PC1ACK#——响应信号,外设输入。=0时表示

外设已从数据端口取走数据。此信号使OBF#

变高。A组对应PC6;B组对应PC2。PA7~PA0PC7PC6PC3INTEAINTRAD7~D0输出设备(到CPU)PB7~PB0PC1PC2PC0INTEBD7~D0INTRB输出设备(到CPU)26第9章:并行通信和并行接口8255A——8255A8255A的工作方式——方式1(选通工作方式)A、B口都设为方式1输出C口的联络信号:INTR——ACK#上升沿产生,8255输出。=1

时请求CPU输出下一个数据(通常接到8259)。

A组对应PC3;B组对应PC0。INTE——中断允许位,INTE=1和OBF#为高

电平时,允许产生INTR信号。无引出。PA7~PA0PC7PC6PC3INTEAINTRAD7~D0输出设备(到CPU)PB7~PB0PC1PC2PC0INTEBD7~D0INTRB输出设备(到CPU)27第9章:并行通信和并行接口8255A——8255A8255A的工作方式——方式1(选通工作方式)方式1输出时序:

WROBFINTRACK输出方式1的输出时序①②③④⑤⑥28第9章:并行通信和并行接口8255A——8255A8255A的工作方式——方式2(双向选通传送方式)特点:双向方式——既是输入口,又是输出口。利用C口的5条线提供传输联络信号。类似于A口方式1下输入和输出的组合。工作时输入、输出都能锁存。只有A口可工作在方式2下。当A组工作在方式2时,B组可工作在方式0或方式1下。应用:可用于中断控制输入输出方式。也可用查询方式与CPU联系。当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位刚好用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位只能用作方式0下的输入输出线)。29第9章:并行通信和并行接口8255A——8255APC3INTRAPA78PC7PC6OBFAACKAPC4PC5PC2~PC03STBAIBFAINTE2&~PA0&INTE11OOWRRD各信号意义:INTRA-中断请求信号,‘1’有效.OBFA-输出缓冲器满,‘0’有效.ACKA-外设响应信号,‘0’有效.IBFA-输入缓冲器满信号,‘1’有效.STBA-选通输入信号,‘0’有效.方式2(双向选通传送方式)30第9章:并行通信和并行接口8255A——8255A8255A的工作方式——方式2(双向选通传送方式)方式2的时序:PB7~PB0PA7~PA0-STBIBF-RD外设送来数据D7~D0送往外设数据数据写入端口-WR-OBFINTR-ACK当INTE=1时

31

8255A工作在方式0时,C口各位作输入输出用。当工作在方式1和方式2时,C口产生与外设的联络信号。此时。读入C口各位的内容可检查或测试外设的状态。C口的状态字如下:(1)方式1I/OI/OIBFA输入INTEAINTRAINTEBIBFBINTRBD7D6D5D4D3D2D1D0I/OI/O输出INTEAINTRAINTEBOBFBINTRBD7D6D5D4D3D2D1D0OBFA(2)方式2*INTE1INTRAINTE2IBFAD7D6D5D4D3D2D1D0OBFA**第9章:并行通信和并行接口8255A——8255A

C口状态字32第二节8255A的应用举例133第二节8255A的应用举例134第二节8255A的应用举例235

打印机接口。为某应用系统配置一个并行打印机接口,并且通过接口CPU采用查询方式打印。已知欲打印数据存放在数据段中有效地址位2000H的单元中。8255的口地址位80H、81H、82H、83H。分析:由于打印接口直接面向的对象是打印机接口标准,而不是打印机本身,因此打印机接口要按照接口标准的要求进行设计,主要是8位并行数据线DATA0~DATA7,2条握手联络线STB#、ACK#和1条忙线BUSY。有关打印机接口工作时序见下图。DATA0~DATA7STBBUSYACK第二节8255A的应用举例336

从图可见,当CPU通过接口要求打印机打印数据时,先要查看BUSY信号,BUSY=0时,才能向打印机输出数据,在把数据送上DATA线后,先发STB#=0信号通知打印机,打印机接到STB#=0后,发出BUSY=1,接收效据,当数据接收好并存入内部打印缓冲器后,送出ACK#=0信号,表示打印机已准备好接收新数据,并复位BUSY=0。DATA0~DATA7STBBUSYACK第二节8255A的应用举例337

图中用8255A的PA口作为输出打印数据

口,工作于方式0,PC口高4位工作于输

出方式,PC6产生STB#信号;PC口低4位

工作于输入方式,PC2接收打印机的BUSY

信号。程序流程如右示。

CPU

PA0~7PC6PC2地

地BUSYSTBDATA0~71112~98255A打印机插座结束8255A初始化BUSY=0?送数送STB#开始YN第二节8255A的应用举例338 MOVAL,81H ;工作方式字10000××1B

OUT83H,AL MOVAL,0DH;置/复位字0×××1101BPC0位置高,使STB#=1

OUT83H,ALTESBY: INAL,82H;查BUSY=0?(PC2=0) TESTAL,04H;00000100B JNZTESBY;忙,则等待;不忙,则向A口送数 MOVAL,[2000H];从内存取数 OUT80H,AL;送数据到A口 MOVAL,0CH;00001100B置STB#信号为低(PC6=0) OUT83H,AL NOP ;负脉冲宽度(延时) NOP INCAL;置STB#为高(PC6=1) OUT83H,AL第二节8255A的应用举例339第二节8255A的应用举例48255A作为开关K0~K3及七段LED显示器接口。要求开关设置的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由PA口输出显示。8255APA7PA0~驱动器+5V+5VK0K1K2K3PC3PC2PC1PC0D7~D0RDWRA1A2ABCG2AG2BG1Y0Y1Y2OOOD7~D0RDWRA0A1CSA0A3A4A78086系统总线LS138接口电路M/IO&A5A640各端口地址为:E8H~EEH8255A各端口地址确定:由图可知: A7A6A5A4A3A2A1A011101

08255A方式选择控制字:LED显示器的字形代码表存放在TABLE单元开始的内存中.TABLEDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB80H,98H,88H,83H,0C6H,0A1H,86H,8EHCSABCG2AG2BG1Y0Y1Y2A0A3A4A7LS138M/IO&A5A6按题意设置端口A方式0输出,下C口输入.10000××181H41实现操作的具体程序如下:MOV DX,0E8H ;指向端口A OUT DX,AL ;输出字形码显示 HLTMOV DX,0EEH;设置8255A工作方式 MOV AL,81H OUT DX,ALMOV DX,0ECH;指向端口C,读开关状态 IN AL,DX AND AL,0FH LEA BX,TABLE;显示代码表首地址送BX XLAT ;查表,取出相应的字形码送AL42LED显示器的结构abdcefgdpLED显示器的外形abcdefgep共阳极LED显示器的结构abcdefgep共阴极LED显示器的结构43LED显示器的工作原理软件译码法PA0PA1PA2PA3PA4PA5PA6PA78255DB7--DB0abcdefgep方案1共阳极LED显示器与同相驱动器接口44abdcefgdpabdcefgdpD7D6D5D4D3D2D1D0

dpgfedcba

0(C0H)11000000abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdp9(90H)100100001(F9H)111110012(A4H)101001003(B0H)101100004(99H)100110015(92H)100100106(82H)100000107(F8H)1111

温馨提示

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

评论

0/150

提交评论