微机原理与接口技术第四版-第九章-可编程外围接口芯片8255及应用课件_第1页
微机原理与接口技术第四版-第九章-可编程外围接口芯片8255及应用课件_第2页
微机原理与接口技术第四版-第九章-可编程外围接口芯片8255及应用课件_第3页
微机原理与接口技术第四版-第九章-可编程外围接口芯片8255及应用课件_第4页
微机原理与接口技术第四版-第九章-可编程外围接口芯片8255及应用课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第九章

可编程外围接口芯片8255及应用一、串、并行通信的基本概念通信的基本方式分为并行和串行通信两种。

并行 数据传送 同步 串行异步(用于单片机中)并行数据传送串行数据传送原理各数据位同时传送数据位按位顺序进行优点传送速度快、效率高最少只需一根传输线可完成,成本低缺点数据位数→传输线根数,成本高速度慢应用传送距离<30m,用于计算机内部几米~几千公里,用于计算机与外设之间§9.18255A工作原理8255A是可编程的并行输入输出接口芯片,它具有三个8位并行端口(A口、B口和C口),40个引脚,双列直插式封装,由+5V供电。其功能强,使用灵活。适合一些并行输入/输出设备的使用。14023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB314023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3一、8255A的引脚介绍8255A芯片的40条引脚,分为三类:1、面向外设的信号线

①PA7~PA0:

端口A数据信号。

PB7~PB0:

端口B数据信号。

③PC7~PC0:

端口C数据信号。8位数据输入锁存器和8位数据输出锁存器/缓冲器。14023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB314023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB32、面向CPU的信号线①

RESET:复位信号,高电平有效。信号有效时,所有内部寄存器被清除。并使数据端口设置为输入端口。②

D7~D0:双向数据线,在8080、8085系统中,8255A的D7~D0与系统的8位数据总线相连在8086系统中,采用16位数据总线,8255A的D7~D0通常是接在16位数据总线的低8位上。14023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB314023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3③

CS:片选信号,低电平有效。该信号来自译码器的输出,只有当CS有效时,读信号RD和写信号WR才对8255A有效。④

RD:读信号,低电平有效。它控制从8255A读出数据或状态信息WR:写信号,低电平有效。它控制把数据或控制命令字写入8255A。14023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB314023933843753663573483398255A3210311130122913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3

⑤A1、A0:端口选择信号。8255A内部共有4个端口(即寄存器):3个数据端口(端口A、端口B、端口C)和1个控制端口,当片选信号CS有效时,规定A1、A0为00、01、10、11时,分别选中端口A、端口B、端口C和控制端口。CS、RD、WR、A1、A0信号的组合决定了对三个数据端口和一个控制端口的读写操作,CSRDWRA1A0操作00100PA→DB00101PB→DB00110PC→DB00111无操作01000DB→PA01001DB→PB01010DB→PC01011写控制寄存器二、8255A内部结构A组控制RESETA组端口A(8位)A组端口C(高4位)B组端口C(低4位)B组端口B(8位)I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0B组控制数据总线缓冲器读写控制逻辑__RD__WRA1A0__CS8位内部数据总线D7~D0双向数据总线与CPU的接口内部逻辑与外设的接口8255A的组成部件:⑴数据总线缓冲器双向三态8位数据缓冲器,它是8255A与CPU数据总线的接口。输入数据、输出数据以及CPU发给8255A的控制字和从8255A读出的状态信息都是通过该缓冲器传送的。A组控制RESETA组端口A(8位)A组端口C(高4位)B组端口C(低4位)B组端口B(8位)I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0B组控制数据总线缓冲器读写控制逻辑__RD__WRA1A0__CS8位内部数据总线D7~D0⑵读写控制逻辑读写控制逻辑负责管理8255A的数据传输过程。它接收CS及来自地址总线的信号A1、A0和控制总线的信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们完成对数据信息,状态信息和控制信息的传输。A组控制RESETA组端口A(8位)A组端口C(高4位)B组端口C(低4位)B组端口B(8位)I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0B组控制数据总线缓冲器读写控制逻辑__RD__WRA1A0__CS8位内部数据总线D7~D0⑶A组控制和B组控制A组控制——控制端口A及端口C的高4位。B组控制——控制端口B及端口C的低4位。两个功能:1、接收来自芯片内部数据总线上的控制字2、接收来自读写控制逻辑电路的读/写命令,以此决定两组端口的工作方式和读/写操作A组控制RESETA组端口A(8位)A组端口C(高4位)B组端口C(低4位)B组端口B(8位)I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0B组控制数据总线缓冲器读写控制逻辑__RD__WRA1A0__CS8位内部数据总线D7~D0⑷数据端口A、B、C三个8位端口都可由程序设定为输入端口或输出端口。端口A和端口B常作为独立的输入或输出端口。端口C可以作为输入端口或输出端口,也可以用来配合端口A和端口B的工作。在方式字的控制下,端口C可以分成两个4位的端口,分别用来为端口A和端口B提供控制和状态信息。A组控制RESETA组端口A(8位)A组端口C(高4位)B组端口C(低4位)B组端口B(8位)I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0B组控制数据总线缓冲器读写控制逻辑__RD__WRA1A0__CS8位内部数据总线D7~D0三、8255A的工作方式8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。

方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路

方式1:选通输入输出方式适用于查询和中断方式的接口电路

方式2:双向选通传送方式适用于与双向传送数据的外设1.方式0:基本输入输出方式在方式0下,A、B、C三个端口均用作输入/输出用,这种输入/输出只是简单的输入/输出,无联络信号。特点:⑴无须联络线,就可以直接进行8255A与外设之间的数据输入或输出操作。⑵A口、B口、C口的高4位和低4位均可设置为方式0。但每个端口不能同时是输入口又是输出口⑶输出端口具锁存能力,但输入端口只有缓冲而无锁存能力

⑷利用8255A的方式0进行数据传输时,由于没有规定专门的应答信号,所以这种方式常用于与简单外设之间的数据传送,如向LED显示器的输出,从二进制开关装置的输入等。2、方式1:选通输入/输出方式只有A端口和B端口可工作于方式1。此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供握手联络信号。⑴特点:

①C端口中6位作为握手联络线使用,其余两位可作数据线使用②数据的输入和输出均具有锁存能力③通常用于中断方式传送和程序查询方式传送数据选通信号表示外设已经准备好数据输入缓冲器满信号,表示A口已经接收数据,但尚未被CPU取走,通知外设不能送新数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器由PC4决定

⑵方式1的输入

当A口设定为方式1输入时,A口使用C口的PC3、PC4、PC5作为联络信号线,B口用C口的PC0、PC1、PC2作为联络信号。A端口:D7~D0B端口:数据选通信号表示外设已经准备好数据输入缓冲器满信号,表示B口已经接收数据,但尚未被CPU取走,通知外设不能送新数据中断请求信号请求CPU接收数据PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB中断允许触发器由PC2决定D7~D0方式1输入时序(以A端口为例)输入端口PASTB和IBF是外设和8255A间的一对握手联络信号,为的是可靠地输入数据dataINTR(PC3)

D0~D7RDSTB(PC4)IBF(PC5)dataD0~D7PC3INTR⑶方式1的输出

当A口与B口设为方式1输出时,A口使用C口的PC3、PC6、PC7作为联络信号线,B口则用了PC0、PC1、PC2。外设响应信号表示外设已经接收到数据输出缓冲器满信号,表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器由PC6决定A端口:PC7PC6PC3PA7~PA0INTEAINTRAD7~D0OBFAACKAB端口:外设响应信号表示外设已经接收到数据输出缓冲器满信号,表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器由PC2决定PC2PC1PC0PB7~PB0INTEBINTRBD7~D0OBFBACKB方式1输出时序(以A端口为例)输出端口PAOBF和ACK是外设和8255A间的一对应答联络信号,为的是可靠地输出数据dataINTR(PC3)D0~D7OBF(PC7)ACK(PC6)dataWRD0~D7PC3INTR3、方式2:选通双向输入/输出方式方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据特点:⑴只有端口A可以工作于方式2,需要利用端口C的5根信号线作为握手联络线⑵方式2的数据输入过程与方式1的输入方式一样⑶方式2的数据输出过程与方式1的输出方式不同:数据输出时8255A不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据A端口:用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2D7~D0四、8255A的控制字

当D7位选择高低电平时,控制字具有两种功能

⑴工作方式选择控制字(D7=1)

可以使8255A的三个端口工作于不同的工作方式。方式控制字的特征位D7A口工作方式00—方式001—方式11×—方式21D6D5D4D3D2D1D0A口输入/输出1—输入0—输出PC7~PC4输入/输出1—输入0—输出B口工作方式0

—方式01—方式1B口输入/输出1—输入0—输出PC3~PC0输入/输出1—输入0—输出写入工作方式控制字:例如要求:A端口:方式1输入C端口高四位:输出,C口低四位:输入B端口:方式0输出方式控制字:10110001B或0B1H初始化的程序段:设8255A的端口地址为4F0H~4F3H

MOVDX,4F3H

MOVAL,0B1H

OUTDX,AL

⑵C口按位置位/复位控制字8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。8255A的C口按位置位/复位控制字的最高位D7(特征位)应为0。编码选择位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7无用一般取0D70×××D6D5D4D3D2D1D0C口按位置位/复位控制字的特征位选择位置位/复位1—置位0—复位对端口C的数据输出的方法若要通过C端口的某一位输出高、低电平或脉冲信号,只需将相应的控制字送入控制字寄存器即可。示例:设8255A的端口地址为4F0H~4F3H,在PC3产生一个脉冲信号方法一:MOVAL,80H方法二: MOVDX,4F3HOUTDX,ALMOVAL,07H OUTDX,ALMOVAL,06HOUTDX,ALMOVAL,80HMOVDX,4F3HOUTDX,ALMOVDX,4F2HMOVAL,08HOUTDX,ALMOVAL,00HOUTDX,AL五、8255A的编程例1:系统要求8255A的A、B组均工作于方式0,且端口A输入,端口B、端口C作输出。设端口地址为:2F0H~2F3HPAPBPC8255ARDWRRESETA0A1IORIOW数据总线RESETA0A1地址译码器CSA0……A910010000设置工作方式字即:90H特征位A口工作方式A口输入C口高4位输出B口输出C口低4位输出B口工作方式MOVAL,90HMOVDX,2F3HOUTDX,ALMOVDX,2F0H

INAL,DX…..MOVDX,2F1HMOVAL,DATA1OUTDX,ALMOVDX,2F2HMOVAL,DATA2OUTDX,AL设置8255A工作方式主要程序段如下:A端口输入数据,并对其进行处理B端口输出数据C端口输出数据例2:系统要求8255A端口地址为200H~203H,A组、B组均工作于方式0,A口输出,B口输入。读入开关K的状态,若K打开,则使发光二极管点亮;若K闭合,则使发光二极管熄灭。PA0~7PB0~78255A+5VKCODESEGMENT

ASSUMECS:CODE

START: MOVDX,203H

MOVAL,82H

OUTDX,AL

BG: MOVDX,201H

INAL,DX

NOTAL

MOVDX,200H

OUTDX,AL

JMPBG

CODEENDS

ENDSTART+5V例3:系统要求8255A端口地址为200H~203H,编写程序,设定8255的PA口为输出,要求能每隔一段时间使接在A口的发光二极管点亮一盏,即:流水灯。PA0~78255ACODESEGMENT ASSUMECS:CODESTART:MOVDX,203H MOVAL,80H OUTDX,AL MOVBL,0FEHA1: MOVAL,BL MOVDX,200H OUTDX,A

温馨提示

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

评论

0/150

提交评论