可编程芯片8255A及其应用.ppt

上传人:小飞机 文档编号:6555634 上传时间:2023-11-12 格式:PPT 页数:68 大小:988.50KB
返回 下载 相关 举报
可编程芯片8255A及其应用.ppt_第1页
第1页 / 共68页
可编程芯片8255A及其应用.ppt_第2页
第2页 / 共68页
可编程芯片8255A及其应用.ppt_第3页
第3页 / 共68页
可编程芯片8255A及其应用.ppt_第4页
第4页 / 共68页
可编程芯片8255A及其应用.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《可编程芯片8255A及其应用.ppt》由会员分享,可在线阅读,更多相关《可编程芯片8255A及其应用.ppt(68页珍藏版)》请在三一办公上搜索。

1、第9章 可编程外围接口芯片8255A及其应用,9.1 并行接口芯片概述9.2 8255A的工作原理9.3 8255A的基本应用,9.1 并行接口芯片概述,计算机与外部的信息交换称为通信,基本的通信方式有两种,一种是并行通信,另一种是串行通信。,并行通信时,数据各位同时传送;例如CPU通过8255A与外设交换数据时,就采用并行通信方式。这种方式传送数据的速度快,但使用的通信线多;如果要并行传送8位数据,需要用8根数据线,另外还要加上一些控制信号线;随着传输距离的增加,通信线成本的增加将成为突出的问题,而且传输的可靠性随着距离的增加而下降;并行通信适用于近距离传送数据的场合。,并行通信的特点,在远

2、距离通信时,一般都采用串行通信方式,它具有需要的通信线少和传送距离远等优点;串行通信时,要传送的数据或信息必须按一定的格式编码,然后在单根线上,按一位接一位的先后顺序进行传送,发送完一个字符后,再发送第二个;接收数据时,每次从单根线上一位接一位的接收信息,再把它们拼凑成一个字符,送给CPU作进一步处理;当微机与远程终端或远距离的中央处理机交换数据时,都采用串行通信方式。采用串行通信的另一个出发点是,有些外设,如调制解调器(MODEM)、鼠标器等,本身需要用串行方式通信。,串行通信的特点,并行接口技术,CPU芯片本身总是以并行方式接收和发送数据,因此并行接口是微机系统中最常用的接口之一。实现并行

3、输入/输出的接口就是并行接口。,并行接口连接CPU与并行外设,实现两者间的并行通信,在信息传送过程中,起到输出锁存或输入缓冲的作用。,并行接口的典型硬件结构包括:1、一个或一个以上具有锁存或缓冲的数据端口;2、与CPU进行数据交换所必须的控制和状态信号;3、与外设进行数据交换所必须的控制和状态信号;4、端口译码电路;5、控制电路;,简单的并行接口技术,外设将数据=接口 状态线“数据输入准备好”=1;接口把接收到数据输入缓冲寄存器;数据输入回答=1,作为对外设响应信号;外设撤消“数据”和“数据输入准备好”信号;CPU从接口读取数据接口收到数据,设置“输入准备好”状态位;供给CPU查询 或问CPU

4、发中断请求;CPU从接口读取数据,接口自动清除状态寄存器输入准备好状态位(准备好);数据总线处于高阻状态。开始下一个输入过程,输入过程,输出:每当外设从接口取走一个数据以后,CPU往接口中输出数据接口中状态寄存器发中断请求;(“输出准备好”=1,表示CPU可以往接口中输出数据)CPU向接口输出数据,数据到接口缓冲寄存器;接口自动清除“输出准备”好。将数据送往外设:接口向外设发送一个“驱动信号”,启动外设接收数据。外设收到数据向接口发一个“数据输出回答”信号;接口收到的信号将状态寄存器中“输出准好”=1;CPU输出下一个数据。,输出过程,并行接口芯片将数据的各位同时在多根并行传输线上进行传输,适

5、于短距离、高速通信,串行接口芯片将数据的各位按时间顺序依次在一根传输线上传输,适于长距离、中低速通信,0 1 1 0 1 0 1 0,8255A是Intel公司生产的一种可编程并行输入/输出接口芯片;它的通用性强,可以方便地和微机连接,用来扩展输入/输出口;8255A有3个8位并行端口,根据不同的初始化编程,可以分别定义为输入或输出方式,以完成CPU与外设的数据传送。,9.2 8255A的工作原理,图 8255A引脚,8255A采用40脚双列直插式封装。,9.2.1 8255A的结构和引脚功能,D0D7:双向三态数据总线。,RESET:复位信号,输入。当RESET端得到高电平后,8255A复位

6、。复位状态是控制寄存器被清零,所有端口(A、B、C口)被置为输入方式。,:片选信号,输入。当 为低电平时,该芯片被选中。,:读信号,输入。当 为低电平时,允许CPU从8255A读取数据或状态信息。,:写信号,输入。当 为低电平时,允许CPU将控制字或数据写入8255A。A1、A0:端口选择信号,输入。8255A中有端口A、B、C,还有一个控制寄存器,共4个端口,根据从A1、A0输入的地址信号来寻址,如下表 所示。A1、A0与信号一起,用来确定8255A的操作状态,如表所示。,PA0PA7:A口数据线,双向。PB0PB7:B口数据线,双向。PC0PC7:C口数据线,双向。,当8255A工作于方式

7、0时,PC0PC7分成两组并行I/O 数据线,每组4位。当8255A工作于方式1或方式2时,PC0PC7为A口、B口提供联络和中断信号,这时每根线的功能有新的定义。,与外设连接的引脚PA7PA0、PB7PB0和PC7PC0与CPU连接的引脚数据引脚:D7D0 复位输入:RESET片选信号:CS端口选择的地址信号:A1和A0读信号:RD写信号:WR,8255A由并行I/O端口、控制电路、数据总线缓冲器和读/写控制逻辑等几个部分组成。,8255A的内部结构,A、B、C口都是8位的,可以选择作为输入或输出,但在结构和功能上有所不同;A口含有一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器;B口含

8、有一个8位数据输出锁存/缓冲器和一个8位的数据输入缓冲器(不锁存);C口含有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(不锁存);当数据传送不需要联络信号时,这三个端口都可以用作输入或输出口。当A口、B口工作在需要联络信号输入、输出方式时,C口可以分别为A口和B口提供状态和控制信息。,(1)并行I/O端口A、B、C。,(2)A组和B组控制电路。8255A的三个端口在使用时分为A、B组;A组包括A口8位和C口的高4位,B组包括B口8位和C口的低4位;两组的控制电路中有控制寄存器,根据写入的控制字决定两组的工作方式,也可以对C口的每一位置“1”或清“0”。,(3)数据总线缓冲器。数据总线

9、缓冲器是三态双向8位缓冲器,是8255A与CPU数据总线的接口。数据的输入/输出、控制字和状态信息的传送,都是通过这个缓冲器进行的。由于8255A的数据总线是三态的,所以D0D7可以直接与CPU的数据总线相连。,(4)读/写控制逻辑。8255A的读/写控制逻辑的作用是从CPU的地址和控制总线上接收有关信号,转变成各种控制命令送到数据缓冲器以及A组、B组控制电路,从而管理三个端口、控制寄存器和数据总线之间的传送操作。,8255A 的内部结构,外设,1外设接口:包括A、B、C三个数据端口(通道)。其中A口带输出锁存/缓冲和输入锁存,B口带输出锁存/缓冲和输入缓冲,C口带输出缓冲和输入缓冲。,2内部

10、逻辑:包括A组控制电路(控制A口和C口上半部)和B组控制电路(控制B口和C口下半部),由CPU程控。,3CPU接口:包括三态双向数据总线缓冲器和读/写控制逻辑。,对CPU来说,8255A内部包括4个端口,即3个数据端口A口、B口、C口,和1个控制端口。,每个端口8位,通过编程设定其为输入口或输出口 可用来和外设传送信息,1.数据端口A、B、C,有 3 种工作方式(方式 0、方式 1、方式 2)对外 8 根引脚 PA7 PA0,端口A,有 2 种工作方式:方式 0、方式 1对外 8 根引脚 PB7 PB0,端口B,当端口 A 在方式 1 或方式 2、端口 B 在方式 1 时,端口 C 的某些位用

11、于传送联络信号,如查询传送的应答信号、中断传送的中断申请信号等;C口未被用作联络信号的其它位可工作在方式0。,端口C,8位端口,无对外引脚控制端口的内容决定A、B、C口的工作状态(输入或输出)和工作方式(方式 0、1、2),2.控制端口D,3.数据总线缓冲器(引脚D0D7),由1个8位双向三态缓冲器构成 8255A内各端口通过数据缓冲器与系统总线相连。CPU与端口A、B、C间传送的数据,以及CPU写入控制端口D中的控制字均通过数据缓冲器传送。,4.读写控制电路(引脚CS、RD、WR),控制数据总线缓冲器的状态。数据总线缓冲器有3种状态:输入、输出、高阻态,5.片内译码电路(引脚A1、A0),选

12、择被操作的端口,8255A 操作地址,写控制字地址 A1=1、A0=1 A端口读写地址 A1=0、A0=0 B端口读写地址 A1=0、A0=1 C端口读写地址 A1=1、A0=0 注:写控制字操作仅有写操作,其余可读写 PC/XT机中地址为60H 63H,8255A 的工作方式控制字,例,A端口方式 1 输入、B 端口方式 1 输出、PC6,PC7 作输入,给出方式控制字。,BCH,A7H,A端口方式 1 输出、B 端口方式 1 输入、PC4,PC5 作输出,给出方式控制字。,例,8255A与系统的连线如下,片选译码地址为0F00F3H1)确定各端口地址?2)编程设置8255A:A口方式 0

13、输入,PC7PC4输出 B口方式 0 输出,PC3PC0输入,最后得出结论:A口地址为 F0 H B口地址为 F1 H C口地址为 F2 H D口地址为 F3 H,由8255A编程结构知:,解:1)端口地址,所以,方式控制字为 1001 0001B,即91H,要求设置:A口方式0输入,PC7PC4输出 B口方式0输出,PC3PC0输入,2)确定方式控制字,MOV AL,91H;方式控制字OUT 0F3H,AL,初始化程序,C端口置/复位控制字,通过控制口置 PC2 为 0,置 PC4 为 1解:MOV DX,0FF06H;置DX为控制口地址 MOV AL,0000 0100B;置PC2为0 O

14、UT DX,AL MOV AL,0000 1001B;置PC4为1 OUT DX,AL,例,例:设8255A的A端口工作于方式1输入,B端口工作于方式0输出,置PC4=H,(8255A的操作地址为60H 66H),MOV AL,0B0H;1011000X OUT 66H,AL;写方式控制字 MOV AL,09H;0XXX01001 OUT 66H,AL;写置/复位控制字,C口置/复位控制字,工作方式控制字,9.2.2 8255A的工作方式,A端口有三种工作方式 方式0、方式1、方式2 B端口有二种工作方式 方式0、方式1 C端口无工作方式选择工作于方式0,或作为A、B端口工作于方式1、2时的联

15、络信号注:方式0(基本输入/输出)方式1(选通输入/输出)方式2(双向数据传送),方式 0 基本输入输出,功能:A、B、C端口可单独工作于输入或输出,共有十六种组态电特性:作输出用,各端口有锁存功能 作输入用,各端口无锁存功能 应用:程序控制下的无条件传送方式 A、B、C端口均传送数据信息 程序控制下的有条件传送方式 A、B端口传送数据,C端口传送状态,方式 1 选通输入输出,功能 A、B端口作 8 位数据输入或 输出 C端口的特定位为A、B端口服务 电特性 作输出用时,A、B端口有锁存功能 作输入用时,A端口有锁存功能、B端口有缓冲功能 应用 A、B端口传数据 查询方式:C端口特定位传送状态

16、 中断方式:C端口特定位发中断请求,A口方式1输入时相应的联络信号,B口方式1输入时相应的联络信号,方式1下输入端口的联络信号,方式1下输入端口的联络信号,由外设发出,送给8255A作用是将外设送来的数据锁存到8255A的输入端口。IBF:输入缓冲器满信号(高电平有效)8255A 发出,表示外设送来的数据已进入输入端口。当外设送来的数据送入输入端口后,8255A自动发出IBF。INTR:中断申请信号(高电平或上升沿有效)8255A 发出,用来向CPU发出中断申请。,方式1下输入端口的联络信号,INTE:中断允许控制信号作用是控制是否允许8255A的中断申请信号INTR发出。此信号无引出,通过控

17、制口对C口相应位的置位/复位,设置允许或不允许。A口,对PC4置位,使INTEA=1,允许中断 对PC4复位,使INTEA=0,不允许中断 B口,对PC2置位,使INTEB=1,允许中断 对PC2复位,使INTEB=0,不允许中断在方式1下,作为联络信号的外部引脚PC4、PC2,不受C口按位置位/复位控制字控制,而只在8255A内部对INTE信号起作用,图 8255A工作方式1输入的时序,A口方式1输入时相应的联络信号,B口方式1输入时相应的联络信号,方式1下输出端口的联络信号,由外设发出,送给8255A。作用是通知 8255A,输出端口的数据已被外设取走,可以传送下一个数据。INTR:中断申

18、请信号(高电平或上升沿有效)8255A 发出,用来向CPU发出中断申请。,方式1下输出端口的联络信号,当数据送至8255A输出缓冲器后,8255A自动发出。表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。,方式1下输出端口的联络信号,INTE:中断允许控制信号作用是控制是否允许中断申请信号INTR发出此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。A口,对PC6置位,使INTEA=1,允许中断 对PC6复位,使INTEA=0,不允许中断B口,对PC2置位,使INTEB=1,允许中断 对PC2复位,使INTEB=0,不允许中断在方式1下,作为联络信号的外

19、部引脚PC6、PC2,不受C口按位置位/复位控制字控制,而只在8255A内部对INTE信号起作用。,图 8255A工作于方式1输出的时序,图 8255A工作于方式1的状态字,在方式1的情况下,执行一条读C口的指令,就可以得到一个状态字,用来检查外设或8255A的工作状态,从而控制程序的进程。,方式 2 双向输入输出,功能 仅A端口具有双向数据传送功能 C端口特定位的组合应用 电特性 A端口具有双向锁存和缓冲特性 应用 A端口双向传送数据 查询方式:C端口特定位传送状态 中断方式:C端口特定位发中断请求,方式2输入/输出端口的联络信号,工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下

20、A口输入、输出联络信号的组合,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端口输入、输出借用相同的C端口的位B端口只有方式 1 选通输入/输出 A端口还有方式 2 双向数据传送,C端口未借用位的使用,A端口方式 0、B端口方式 0 C端口所有位未被借用,PC0 PC7 可用A端口方式 0、B端口方式 1 PC0 PC2被借用,PC3 PC7可用A端口方式 1输入、B端口方式 0 PC3、P

21、C4、PC5被借用,PC0 PC2、PC6、PC7 可用A端口方式 1输出、B端口方式 0 PC3、PC6、PC7 被借用,PC0 PC2、PC4、PC5 可用A端口方式 1输入、B端口方式 1 PC6、PC7 可用A端口方式 1输出、B端口方式 1 PC4、PC5 可用A端口方式2、B端口方式1;都不可用,在方式2中,C口为A口提供的联络信号如下表所示。,构成双向方式下输出的联络信号。的功能与方式1时的相同。的功能与方式1有所不同。在方式2的情况下,外设收到8255A发出的=0信号后,要用=0去打通A口的输出缓冲器,使数据放到A口的外部数据线上,否则输出缓冲器的输出端处于高阻状态。所以在双向

22、方式下如果没有外设的 有效信号,就不能输出数据。,方式2:就是方式1的输入与输出方式的组合,各应答信号的功能也相同。而C口余下的PC0PC2正好可以充当B 口方式1的应答线,若B口不用或工作于方式0,则这三条线也可工作于方式0。,方式2为双向选通I/O方式,只有A口才有此方式。这时,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。,图 8255A工作于方式2的状态字,方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行。,方式2和其它方式的组合,方式2和方式0输入的组合:控制字:11XXX

23、01T方式2和方式0输出的组合:控制字:11XXX00T方式2和方式1输入的组合:控制字:11XXX11X方式2和方式1输出的组合:控制字:11XXX10X其中X表示与其取值无关,而T表示视情况可取1或0。,9.3 8255A 的基本应用,18255A的控制字和编程,(1)控制字格式,(2)C口的置位/复位功能,(3)初始化编程,例 试画出8255A与8086CPU连接图,并说明8255A的A0、A1地址线与8086CPU的A1、A2地址线连接的原因。,答:8255A与8086CPU的连线图如下图所示:,8086系统有16根数据线,而8255只有8根数据线,为了软件读写方便,一般将8255的8

24、条数据线与8086的低8位数据线相连。8086在进行数据传送时总是将总线低8位对应偶地址端口,因此8086CPU要求8255的4个端口地址必须为偶地址,即8086在寻址8255时A0脚必须为低。实际使用时,我们总是将8255的A0、A1脚分别接8086的A1、A2脚,而将8086的A0脚空出不接,并使8086访问8255时总是使用偶地址。,2接口应用举例,例 用8255A作为CPU与打印机接口,8255的A口工作于方式0,输出;C口工作于方式0。8255A与打印机及CPU的连线如下图所示。试编写一程序,用查询方式将100个数据送打印机打印(8255A的端口地址及100个数据的存放地址自行设定)

25、。,分析:8255的A、B、C及控制端口的地址分别为98H、9AH、9CH和9EH,而需打印的数据放在数据段中以DATA1开头的区域,则一种可能的程序段如下实现:,MOVAL,10000001B;设置8255A的工作方式控制字OUT9EH,ALMOVCX,100;设置需打印数据的总个数以控制循环次数LEASI,DATA1AGAIN:IN AL,9CH;读状态端口 TESTAL,01H;查询PC0(BUSY)是否为高电平 JNZAGAIN;如是,继续查询,直到BUSY变低 NEXT:MOVAL,SI;从数据段取数据并通过A口发到打印机OUT98H,ALMOVAL,00001100B;设置C口置位

26、/复位控制字,使PC6为低电平 OUT9EH,AL;通知打印机锁存数据并打印INCSI;为取下个数据作准备DECCXJNZ AGAIN;判断是否传完100个数据,例:某应用系统以8255A作为接口,采集一组开关S7S0 的状态,然后通过一组发光二极管LED7LED0显示开关状态,(Si闭合,则对应LEDi亮,Si断开,则对应的LEDi灭)电路连接如下图,已知8255A、B两组均工作在方式0。,写出8255四个端口的地址。写出8255工作方式控制字。写出实现给定功能的汇编语言程序。,LED7,LED0,S7,S0,PB7,PB0,PA7,PA0,8255A,D7D0,D7D0,WR#,RD#,I

27、OW#,IOR#,Y0#,G1,G2A#,G2B#,C,B,A,74LS138,CS#,A9,AEN,&,A8,A7,A6,A5,A4,A3,A2,A1,A0,A1,A0,答:,A口、B口、C口和控制口的地址分别是320H、321H、322H和323H。A口工作在方式0输出,B口工作在方式0输入,C口空闲,所以其控制字是10000010b82H程序如下:,MOVAL,82H;置方式字MOVDX,323H;置控制端口地址OUTDX,ALL1:MOVDX,321H;置B口地址INAL,DX;读开关状态(1断,0通)NOTAL;状态取反MOVDX,320H;置A口地址OUTDX,AL;输出(1亮,0灭)JMPL1,作业,9-39-49-59-7,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号