1 / 33

一、 8255 A 的结构和功能

第九章 可编程并行接口芯片 8255A 及其应用. 一、 8255 A 的结构和功能. 二、 8255A 的控制字. 三、 8255A 的工作方式. 四、 8255A 的应用举例. 习题: 9-6 , 9-7 , 9-10. 并行接口芯片应具有的功能:. ( 1 ) 具有两个以上的输入 / 输出数据端口(锁存 / 缓冲); ( 2 ) 每个数据端口有与 CPU 用应答方式交换信息所必须的控制和状态信号;也有与外设交换信息所必须的控制和状态信号; ( 3 ) 通常每个数据端口还具有能用中断方式与 CPU 交换信息所必须的电路;

galen
Télécharger la présentation

一、 8255 A 的结构和功能

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第九章 可编程并行接口芯片8255A及其应用 一、8255A的结构和功能 二、8255A的控制字 三、8255A的工作方式 四、8255A的应用举例 习题:9-6,9-7,9-10

  2. 并行接口芯片应具有的功能: (1) 具有两个以上的输入/输出数据端口(锁存/缓冲); (2) 每个数据端口有与CPU用应答方式交换信息所必须的控制和状态信号;也有与外设交换信息所必须的控制和状态信号; (3) 通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路; (4) 具有进行片选和读写控制的电路; (5) 可编程(由程序来选择数据端口,数据传送方向,交换信息的方式等)。

  3. 内部总线 PA7~PA0 A组控制 A口 DB 数据总线 PC7~PC4 上C口 缓冲器 PC3~PC0 RD 下C口 o WR o 读/写 A0 控制逻辑 PB7~PB0 A1 B口 B组控制 RESET o CS 第一节 8255A的工作原理 一、8255A的结构和功能 外设接口 内部逻辑 CPU接口

  4. PA7~PA0 A口 内部总线 PC7~PC4 上C口 PC3~PC0 下C口 PB7~PB0 B口 (一) 数据端口 8255A内部包含3个8位I/O端口A口、B口和C口,通过外部24根I/O线与外设交换数据或进行通信联络。其中C口可分为两个4位口使用。 端口A和端口B可用作8位 数据I/O口,端口C既可作为8位I/O口,又可作为两个4位I/O口,还常用来配合A口和B口工作,作为控制信号输出、或作为状态信号输入。

  5. A组控制 内部总线 B组控制 (二) 控制逻辑 这是两组根据CPU的编程命令控制8255A工作的电路,它们内部有控制寄存器,用来接收CPU送来的命令字,以决定A组、B组的工作方式,或对C口的每一个位执行置位/复位操作。 端口A和端口C的上半部分(PC7~PC4)由A组控制逻辑管理,端口B和端口C的下半部分(PC3~PC0)由B组控制逻辑管理。

  6. 内部总线 DB 数据总线 缓冲器 RD o o 读/写 WR A0 至控制寄存器 控制逻辑 A1 (四) 读/写控制逻辑 RESET o 至数据端口 CS 控制总线的开放与关闭;控制信息传送的路径和方向。 (三)数据总线缓冲器 是双向三态的8位缓冲器, 用作8255A和系统数据总线的接口。 1)接收CPU送来的数据或控制字; 2)外设传送给CPU的数据或状态信息 A1 A0=00,选中端口A A1 A0=01,选中端口B A1 A0=10,选中端口C A1 A0=11,选中控制字寄存器端口

  7. 8255A端口选择表 (五) 端口寻址

  8. 端口选择信号: 当8255A用在8位数据总线的微处理器(8088)系统中时,端口选择信号输入端A1 A0与地址总线的A1 A0相连即可,例如端口地址为60H,61H,62H和63H。 在16位数据总线的微处理器系统(8086)中,通常将端口选择信号输入端A1 A0与地址总线的A2 A1相连。 8255A芯片的数据线D0~D7既可以接到系统数据总线的低8位,也可以接到系统数据总线的高8位。为了方便,通常接到系统数据总线的低8位,这样CPU要求芯片内部的各个端口都使用偶地址。例如端口地址为F0H,F2H,F4H和F6H。

  9. AB CB DB D7~D0 8255 PA PB PC 4 4 8 8 I/O I/O I/O I/O PA7 ~PA0 PB7 ~PB0 PC3 ~PC0 PC7 ~PC4 PB PA PC 8 I/O 8 I/O PB7 ~PB0 PA7 ~PA0 控制或 I/O 控制或 I/O RD WR A0 A1 CS PB PA PC 8 I/O 8 I/O PB7 ~PB0 PA7 ~PA0 I/O 控制 (六) 方式选择 方式0:基本输入输出 方式1:选通输入输出 方式2:双向总线

  10. 方式选择控制字格式 1=输入0=输出 1=输入0=输出 1=输入0=输出 1=输入0=输出 特征位 D7=1 下C口 I/O A口方式: 00=方式0 01=方式1 1x=方式2 B口I/O B口方式 0=方式0 1=方式1 上C口I/O A口I/O 二、8255A的控制字 1、方式选择控制字 8255A有3种基本的工作方式,在对8255A进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。

  11. 1 0 0 1 0 1 0 1 例:在一个8086/8088系统中,有一片8255A芯片,其各个端口的地址分别为0F8H~0FBH,现要求各个端口的工作方式为: 端口A 方式0 输入 端口B 方式1 输出 端口C(上半部) PC7 ~PC4 输出 端口C(下半部) PC3 输入 要求:进行初始化编程 分析:根据8255A工作模式可确定方式控制字 95H 初始化编程: MOV AL,95H OUT 0FBH,AL

  12. 2、置位/复位控制字 端口C常用作控制或应答信号,通过对8255A的控制口写入置位/复位控制字,可使C口的任一个引脚的输出单独置1或置0。 1 置位 0 复位 置位/复位控制字格式 000 选中PC0 001 选中PC1  111 选中PC7 位选择 无关位 特征位 D7 = 0 例:要使端口C的bit3置位的控制字为:00000111B; MOV AL,00000111B OUT 0FBH,AL 而使端口C的bit3复位的控制字为:00000110B ; MOV AL,00000110B OUT 0FBH,AL

  13. 例如,要求8255A的A口和B口均工作于方式0, A口和下C口作输入口, B口和上C口作输出口,设8255A各端口地址为60H~63H, 可用下列指令来设置这种工作方式: MOV AL,91H ;方式控制字10010001B AL OUT 63H,AL ;方式控制字送控制寄存器 三、8255A的工作方式 1、方式 0-基本输入输出方式 适用于不需要应答信号的简单I/O场合。 A口和B口可作为8位端口,C口的高4位和低4位可作为两个4位的端口,且每个端口均可作为输入口或输出口用。 数据输出有锁存,输入不能锁存。

  14. 2、方式 1-选通输入/ 输出方式 1) 选通输入方式 端口A或B用作数据口,均可以工作于输入或输出方式。这两个8位数据口的输入、输出数据都能锁存,但必须在联络信号的控制下完成I/O操作,端口C的部分引脚用来产生或接收这些联络信号。 此时PC3~5 和PC0~2分别用作A口和B口的状态和控制线, PC6和PC7用作I/O线 方式1 (B口) 8 PB7~PB0 INTEB STBB PC2 8 PA7~PA0 PC1 IBFB INTEA & PC4 STBA PC0 INTRB PC5 IBFA & RD o PC3 INTRA RD o PC6PC7 I/O线 方式1 (A口)

  15. 各控制联络信号的意义 STB-数据选通输入信号,低电平有效,由外设输入; 方式1 (A口) 8 PA7~PA0 INTEA PC4 STBA PC5 IBFA & PC3 INTRA INTR-中断请求信号,高电平有效。是8255A向CPU发出的请求中断信号,要求CPU服务。当 IBF =1、STB =1且 INTE =1时,INTR =1。 RD o PC6PC7 I/O线 IBF-输入缓冲器满信号,高电平有效,由8255A输出的状态信号,表示输入缓冲器已满,向外设指明不能再送入数据。 INTE-中断允许信号。是控制8255A能否向CPU发中断请求信号,它没有外部引脚,INTEA、INTEB是由用户对PC4、PC2按位置位实现的。

  16. 2)选通输出方式 方式1输出 (A口) 方式1输出 (B口) 8 PA7~PA0 PB7~PB0 8 INTEA INTEB PC6 ACKA ACKB PC2 PC7 OBFA PC1 OBFB & & PC3 INTRA PC0 INTRB WR o WR o PC4PC5 I/O线 这时PC3、PC6和PC7作A口的应答信号,PC0、PC1和PC2作B口的应答信号。余下的PC4和PC5可作输入或输出线。

  17. 各应答信号的意义: OBF-输出缓冲器满信号,输出,低电平有效。表示CPU已输出数据到指定端口。 ACK-外设的回答信号,低电平有效,由外设送给8255A。表示CPU送到指定端口的数据已被外设接受。 方式1输出 (A口) 8 PA7~PA0 INTEA PC6 ACKA PC7 OBFA & PC3 INTRA WR o PC4PC5 INTR-中断请求信号,高电平有效。当 ACK =1、OBF =1且 INTE =1时,INTR =1。 I/O线 INTE-中断允许信号。 INTEA、INTEB是由用户对PC6、PC2按位置位实现的。

  18. 3、方式2-双向总线方式 (仅适用于A口) 这时PA7~PA0作为双向数据总线,PC3 ~PC7用作A口的联络控制信号。PC2~PC0可用作B口的应答信号线,或作I/O线。 各信号意义: INTRA PC3 INTRA-中断请求信号,‘ 1’有效. PA7 1 OBFA-输出缓冲器满,‘ 0’有效. 8 ~ PA0 & ACKA-外设响应信号,‘ 0’有效. OBFA PC7 IBFA-输入缓冲器满信号,‘ 1’有效. ACKA PC6 INTE1 STBA-选通输入信号,‘ 0’有效. & WR O STBA INTE2 PC4 IBFA PC5 RD O PC2~PC0 3

  19. D7 D6 D5 D4 D3 D2 D1 D0 输入 I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB D7 D6 D5 D4 D3 D2 D1 D0 输出 INTEA OBFA OBFA I/O I/O INTRA INTEB OBFB INTRB D7 D6 D5 D4 D3 D2 D1 D0 INTE1 IBFA INTE2 INTRA * * * 4、 C口状态字 8255A工作在方式0时,C口各位作输入输出用。当工作在方式1和方式2时,C口产生与外设的联络信号。此时。读取C口的内容可检查或测试外设的状态。C口的状态字如下: (1)方式1 (2)方式2

  20. 第二节 8255A的应用举例 接口电路 驱动器 PA7 D7~D0 D7~D0 RD WR A0 A1 CS 8086 ~ 系统总线 PA0 RD WR A1 A2 +5V K3 PC3 A0 A3 A4 Y0 Y1 Y2 O O O A B C G2A G2B G1 K2 PC2 K1 PC1 K0 M/IO PC0 & A5 A6 A7 8255A LS138 +5V 一、基本输入输出应用 8255A作为开关K0~K3及七段LED显示器接口。要求开关设置的二进制信息,由PC0~PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由A口输出显示。

  21. 由图可知: A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 1  0 按题意设置端口A方式0输出,下C口输入. 1 0 0 0 × 0 × 1 CS LED显示器的字形代码表存放在TABLE单元开始的内存中. A0 A3 A4 Y0 Y1 Y2 A B C G2A G2B G1 TABLE DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EH M/IO & A5 A6 A7 LS138 8255A各端口地址确定: 各端口地址为:E8H~EEH 8255A方式选择控制字: 81H

  22. 实现操作的具体程序如下: MOV DX,0EEH ;设置8255A工作方式 MOV AL,81H OUT DX,AL MOV DX,0ECH ;指向端口C,读开关状态 IN AL,DX AND AL,0FH LEA BX,TABLE ;显示代码表首地址送BX XLAT ;查表,取出相应的字形码送AL MOV DX, 0E8H ;指向端口A OUT DX, AL ;输出字形码显示 HLT

  23. a b c d e f g dp a f b g a b c d e f g dp c e d dp LED显示器的外形 共阳极LED显示器的结构 共阴极LED显示器的结构 LED显示器的结构

  24. a b c d e f g dp PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 8 2 5 5 DB7--DB0 LED显示器的工作原理 软件译码法 方案1 共阳极LED显示器与同相驱动器接口

  25. a a f b g f b a g c e a a a a f a b c a e a g dp d f b f b f b f g b g dp f g b d g f b c f b g e g g c c e e c c e e dp d c c e e c e dp dp d d dp dp d d dp dp d d dp d D7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a 0(C0H) 1 1 0 0 0 0 0 0 1(F9H) 1 1 1 1 1 0 0 1 2(A4H) 1 0 1 0 0 1 0 0 3(B0H) 1 0 1 1 0 0 0 0 4(99H) 1 0 0 1 1 0 0 1 5(92H) 1 0 0 1 0 0 1 0 6(82H) 1 0 0 0 0 0 1 0 7(F8H) 1 1 1 1 1 0 0 0 8(80H) 1 0 0 0 0 0 0 0 9(90H) 1 0 0 1 0 0 0 0

  26. a b c d e f g dp PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 8 2 5 5 DB7--DB0 方案2 共阳极LED显示器与反相驱动器接口

  27. a a f b g f b a g c e a a a a f a b c a e a g dp d f b f b f b f g b g dp f g b d g f b c f b g e g g c c e e c c e e dp d c c e e c e dp dp d d dp dp d d dp dp d d dp d D7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a 0(3FH) 0 0 1 1 1 1 1 1 1(05H) 0 0 0 0 0 1 1 0 2(5BH) 0 1 0 1 1 0 1 1 3(4FH) 0 1 0 0 1 1 1 1 4(66H) 0 1 1 0 0 1 1 0 5(6DH) 0 1 1 0 1 1 0 1 6(7DH) 0 1 1 1 1 1 0 1 7(07H) 0 0 0 0 0 1 1 1 8(7FH) 0 1 1 1 1 1 1 1 9(6FH) 0 1 1 0 1 1 1 1

  28. 5V 5V +5V 13 12 11 10 9 15 14 1. 5V 7447 a b c d e f g 3 4 5 +5V 16 8 RBI RBO LT Vcc GND I=20mA R A B C D 7 1 2 6 0. 2V 二、七段LED显示器接口电路 利用专用接口芯片7447驱动LED显示器 7447为BCD—七段译码器 与单个LED的连接 R=(5–1.5 – 0.2)V/ 20mA=168 取R=150 

  29. 7447BCD—七段译码器与多个LED的连接 DB0——DB7 DB0——DB7 PA0PA1PA2PA3 PA4 PA5PA6 PA7 PB0PB1PB2PB3 PB4 PB5PB6 PB7 A B C D A B C D A B C D A B C D 7447 7447 7447 7447 a b c d e f g a b c d e f g a b c d e f g a b c d e f g 5V 静态显示器的设计

  30. 7 4 4 7 a b c d e f g A B C D PB0 PB1 PB2 PB3 • • • • • • • • • • • • • • • • • • • • • • • • 动态显示器的设计 PA0 PA1 PA2 PA3 PA4 PA5 PA6 8 2 5 5 PNP

  31. 初始化 取显示数据 送段通道口 位码送位通道口 延时 修改指针,位码 N 是否最后一位 Y 结束 LEA SI,BUFF MOV CX,FEH MOV DL,01H MOV AL,[SI] OUT POTB,AL MOV AL,DL OUT POTA,AL INC SI ROL DL 显示控制程序

  32. a PB0 • • • • • • • • • • • • g PB7 • • • • • • • • • • • • • • • • • • • • • 74LS07 PA0 PA1 PA2 PA3 PA4 PA5 PA6 8 2 5 5 NPN

  33. 初始化 取显示数据 查表得段码送段通道 位码送位通道 延时 修改指针,位码 N 是否最后一位 Y 结束 LEA SI,BUFF MOV CL,40H LEA BX,TABLE DISI:MOV AL,[SI] XLAT MOV DX, POTB OUT DX,AL MOV AL,CL MOV DX, POTA OUT DX,AL INC SI SHR CL JNZ DISI

More Related