第9章可编程并行接口芯片 Intel8255A 918255A的工作原理 911功能 1.Inte8255是一个通用的可编程的并行接口芯片,内部有2个8 位I/0口(A、B),两个4位I/0口(PC7~4PC3~0) 2.通过编程可设置3种工作方式,可适用于CPU与I/0设备之间的多 种数据传送方式的要求。 3.C口可作为数据口,可作为信号线(CPU与I/0设备之间的应答 信号),可作为状态口,可按位置位/复位。 4.价格低廉,使用方便,可以直接与 Intel系列的芯片连接使用, 在中小系统中有着广泛的应用
第9章 可编程并行接口芯片Intel 8255A 9.1 8255A的工作原理 9.1.1 功能 1. Intel 8255A是一个通用的可编程的并行接口芯片,内部有2个8 位I/O口(A、B),两个4位I/O口(PC7~4、PC3~0). 2. 通过编程可设置3种工作方式,可适用于CPU与I/O设备之间的多 种数据传送方式的要求。 3. C口可作为数据口,可作为信号线( CPU与I/O设备之间的应答 信号),可作为状态口,可按位置位/复位。 4. 价格低廉,使用方便,可以直接与Intel系列的芯片连接使用, 在中小系统中有着广泛的应用
9128255A的内部结构和管脚 1.引脚(40DIP) (1)D~D2:8位,双向,三态数据线,用来与系统数据总线相连; (2)端口A、B、C:PA0~PA(A组数据信号,用来连接外设); PB0~PB7(B组数据信号,用来连接外设);PCPC7(C组数据 信号,用来连接外设或者作为控制信号) (3)CS、 RESET、WR、RD、A1、A0(内部4个端口)。 (4)V CC丶 GND
9.1.2 8255A 的内部结构和管脚 1. 引脚(40DIP) (1)D0 ~D7:8位,双向,三态数据线,用来与系统数据总线相连; (2)端口A、B、C:PA0~PA7(A组数据信号,用来连接外设); PB0~PB7( B组数据信号,用来连接外设);PC0~PC7(C组数据 信号,用来连接外设或者作为控制信号)。 (3)CS、RESET、WR、RD、A1、A0(内部4个端口)。 (4)VCC、GND
2.内部结构 cFU接口 内部逻辑 外部接口 A组 A组 >I/OPA7MPAo 控制 A8) A组 上半部 >I/OPC,PC DB.数据 8位内部数据总线 总线 缓冲 器 A霁部oPc3.Pc 4 RD nR 读/写 A B组 B组 端口BK>PB7FB A 控制 8 ReSet
2. 内部结构
1.三个数据端口A,B,C 这三个端口均可看作是ⅣO口,但它们的结构和功能也稍有不同 A口:是一个独立的8位ⅣO口,它的内部有对数据输入/输出的锁存 功能。可编程实现8位输入、输出或双向传送。 B口:也是一个独立的8位O口,仅对输出数据的锁存功能。可编 程实现8位输入、输出,但不能实现双向传送。 C口:可以看作是一个独立的8位O口;也可以看作是两个独立的4 位IO口(用于输入、输出),也是仅对输出数据进行锁存。可按 位置位/复位。也可作为A口(C口的高5位)、B口(C口的低3位) 选通或双向传送的状态、控制信号
1.三个数据端口A,B,C 这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。 A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存 功能。可编程实现8位输入、输出或双向传送。 B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。可编 程实现8位输入、输出,但不能实现双向传送。 C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4 位I/O口(用于输入、输出),也是仅对输出数据进行锁存。可按 位置位/复位。也可作为A口(C口的高5位)、B口( C口的低3位) 选通或双向传送的状态、控制信号
2.A组和B组的控制电路 这是两组根据CPU命令控制8255A工作方式的电路,这些控制 电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制 8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/ 复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制 电路用来控制B口及C口的低4位。 3.数据总线缓冲器 8位的双向的三态缓冲器。作为8255A与系统总线连接的界面, 输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作 状态等信息,都是通过它来传输的。 4.读/写控制逻辑 读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片 选信号及系统读信号、写信号、复位信号 RESET,还有来自系统 地址总线的口地址选择信号A0和A1
2. A组和B组的控制电路 这是两组根据CPU命令控制8255A工作方式的电路,这些控制 电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制 8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/ 复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制 电路用来控制B口及C口的低4位。 3. 数据总线缓冲器 8位的双向的三态缓冲器。作为8255A与系统总线连接的界面, 输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作 状态等信息,都是通过它来传输的。 4.读/写控制逻辑 读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片 选信号及系统读信号、写信号、复位信号RESET,还有来自系统 地址总线的口地址选择信号A0和A1
8255A的操作功能表 CS RD WR A0操作数据传送方式 00100读A口A口数据→数据总线 00 读B口B口数据→数据总线 0读C口C口数据→数据总线 01000写A口数据总线数据→A口 写B口数据总线数据→B口 01010写C口数据总线数据→C口 01011写控制口数据总线数据→控制口 1××× 无效 数据总线进入高阻
8255A的操作功能表 CS RD WR A1 A0 操 作 数 据 传 送 方 式 0 0 1 0 0 读 A 口 A口数据 → 数据总线 0 0 1 0 1 读 B 口 B口数据→ 数据总线 0 0 1 1 0 读 C 口 C口数据 → 数据总线 0 1 0 0 0 写 A 口 数据总线数据→ A口 0 1 0 0 1 写 B 口 数据总线数据 → B口 0 1 0 1 0 写 C 口 数据总线数据→ C口 0 1 0 1 1 写控制口 数据总线数据 → 控制口 1 × × × × 无效 数据总线进入高阻
9138255A的编程命令 8255A的编程包括两个内容:工作方式控制字设置,C口的按位 置位/复位功能。这两个命令均写入控制端口(A1A0=11),用特征位 D7区分,D7=1,为工作方式控制字,D7=0,为C口的按位置位/复 位 1.工作方式控制命令字 控制字要写入8255A的控制口,写入控制字之后,8255A才能 按指定的工作方式工作。设置时,某一位为1,则表示输入;某 位为0,则表示输出
9.1.3 8255A的编程命令 8255A的编程包括两个内容:工作方式控制字设置,C口的按位 置位/复位功能。这两个命令均写入控制端口(A1A0=11),用特征位 D7区分, D7=1,为工作方式控制字, D7=0,为C口的按位置位/复 位。 1. 工作方式控制命令字 控制字要写入8255A的控制口,写入控制字之后,8255A才能 按指定的工作方式工作。设置时,某一位为1,则表示输入;某一 位为0,则表示输出
卜A组 卜B组 D7 D6 D5 D4 D3 D2 DIDO PC3- PCO D7=1 1:输入 特征位 A组工作方式 0:输出 00:方式0 B口1:输入 01:方式1 0:输出 1×:方式2 B组工作方式0:方式0 1:方式1 PC7~PC41:输入 输出 A口1:输入 0:输出
D7 D6 D5 D4 D3 D2 D1 D0 PC3 ~ PC0 1:输入 0:输出 B口 1:输入 0:输出 B组工作方式 0:方式0 1:方式1 PC7 ~ PC4 1:输入 0:输出 A口 1:输入 0:输出 A组工作方式 00:方式0 01:方式1 1×:方式2 D7 = 1 特征位 A组 B组
A组:3种工作方式(0、1、2) B组:2种工作方式(0、1) C口:分成两部分,PC7~PC4属于A组,PC3~PC0属于B组。 8255有3个8位并行口(2个8位口,2个4位口) 例1某系统要求使用8255A的A口方式0输入,B口方式0输出,C口 高4位方式0输出,C口低4位方式0输入。设8255的口地址为60H 63H。 则控制字为:10010001即91H 初始化程序为: MOV AL,9IH oUT 63H, AL
A组:3种工作方式(0、1、2) B组:2种工作方式(0、1) C口:分成两部分,PC7 ~ PC4属于A组,PC3 ~ PC0属于B组。 8255有3个8位并行口(2个8位口,2个4位口) 例1 某系统要求使用8255A的A口方式0输入,B口方式0输出,C口 高4位方式0输出,C口低4位方式0输入。设8255的口地址为60H---- 63H。 则控制字为: 10010001 即 91H 初始化程序为: MOV AL,91H OUT 63H,AL
2.C口的置位/复位功能 只有C口才有,它是通过向控制口写入按指定位置位/复位的控 制字来实现的。C口的这个功能可用于设置方式的中断允许,可以 设置外设的启停等。可以产生矩形波或方波。 功能:指定PC口的某一位(某一个引脚)输出高电平或低电平。 D7 D6 D5 D4 D3D2 D1DO 1:置位 0:复位 任选(可1可0) C口选择000:PC0 001: PCI 010:PC2 D7=0 011:PC3 (特征位) 100:PC4 101:PC5 110:PC6 111:PC7
2. C口的置位/复位功能 只有C口才有,它是通过向控制口写入按指定位置位/复位的控 制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以 设置外设的启/停等。可以产生矩形波或方波。 功能:指定PC口的某一位(某一个引脚)输出高电平或低电平。 D7 D6 D5 D4 D3 D2 D1 D0 1:置位 0:复位 C口选择 000:PC0 001:PC1 010:PC2 011:PC3 100:PC4 101:PC5 110:PC6 111:PC7 任选(可1可0) D7 = 0 (特征位)