并行接口8255芯片
并行接口指数据的各位同时进行传送的数据通信接口。数据传输方式无条件传输简单直接无需握手查询方式CPU主动查询外设状态中断方式外设主动请求CPU服务DMA方式直接存储器访问无需CPU干预8255A 是 Intel 公司为 8080/8085/8088 微型机系统设计的通用可编程I/O接口芯片可编程用程序设置工作方式无需附加外部电路 通用性强使用灵活 单电源 5V 供电8255A 提供 3个8位端口共24条I/O线端口输入输出PA锁存缓冲/锁存PB缓冲缓冲/锁存PC缓冲缓冲/锁存注端口A输入带锁存这是与B、C口的区别。 锁存 有记忆保持住最后一次给的值 不锁存 没有记忆输出随输入实时变化输入消失了输出也就消失了。数据线输入操作读00010端口A→数据总线01010端口B→数据总线10010端口C→数据总线输出操作写00100数据总线→端口A01100数据总线→端口B10100数据总线→端口C11100数据总线→控制字寄存器断开功能××××1数据总线→三态11010非法状态××110数据总线→三态控制字8255A 的工作方式由 CPU通过I/O指令向控制字寄存器写入控制字 来设置。方式选择控制字D711A组B组D7 1方式选择控制字标志位D6D5A组工作方式00方式001方式11X方式2D4PA口方向1输入0输出D3PC高4位方向1输入0输出D2B组工作方式0方式01方式1D1PB口方向1输入0输出D0PC低4位方向1输入0输出如A组方式0B组方式1PA输入PB输出PC输入对应控制字 1 00 1 1 1 0 1 99H (10011001B)C端口按位置位/复位控制字D700无效位指定C端引脚电平用于单独控制PC口某一位的输出电平D7 0置位/复位控制字标志D6~D4无效位D3~D1选择PC口的位号000PC0...111PC7D0D3~D1选的PC口置值1置位(高电平)0复位(低电平)一次只能指定一个引脚。工作方式方式0基本输入输出简单无条件传输方式1选通输入输出单向可选择带联络信号方式2双向选通输入输出双向传输仅A口可用0基本输入输出任一个端口8位端口A、B和两个4位端口C可独立设置为输入或输出输出是锁存的锁存输出数据最大并行输出24位输入是不锁存的仅缓冲外设输入数据PC口上半部分与下半部分可定义不同方向应用场景无条件读写CPU直接与8255交换数据 查询方式利用PC某些位作为PA、PB口的控制和状态信息例1初始化与数据传送设定A组、B组方式0PA口和PC口输入PB口输出8255地址 50H-53H控制字1 00 1 1 0 0 1 99H初始化程序MOV AL, 99H OUT 53H, AL ; 写入控制字寄存器 将PA数据输出到PB IN AL, 50H ; 读PA口 OUT 51H, AL ; 写到PB口 将PC数据存入1000H MOV BX, 1000H IN AL, 52H ; 读PC口 MOV [BX], AL1选通输入输出端口A或B作为数据的的输入/输出端口C的某些位作为专用联络信号线 需要设置专用的联络信号线/应答信号线 数据传送可采用查询方式或中断方式 数据的输入输出都有锁存功能 每个端口包括8位数据口 3条挂钩线提供查询/中断逻辑若A、B口都工作于方式1PC口大部分引脚分配为固定联络信号若只有一个端口工作于方式1剩余13位24-11可工作在方式0方式1输入A组联络信号STB (选通输入)PC4外设发出的数据选通信号低电平有效IBF (输入缓冲器满)PC58255发出的状态信号高电平有效INTR (中断请求)PC3向CPU发出的中断请求高电平有效方式1输出A组联络信号OBF (输出缓冲器满)PC78255发出的信号低电平有效ACK (响应)PC6外设发出的应答信号低电平有效INTR (中断请求)PC3向CPU发出的中断请求高电平有效方式1输入B组联络信号信号引脚功能STBPC2选通输入IBFPC1输入缓冲器满INTRPC0中断请求方式1输出B组联络信号信号引脚功能OBFPC1输出缓冲器满ACKPC2响应INTRPC0中断请求2双向选通输入输出Bidirectional仅A可一个 8位双向总线端口A 一个 5位控制端口C用于用作A的控制和状态信息输入和输出都是锁存的可用程序查询或中断方式与CPU联系联络信号信号引脚方向功能STBPC4输入外设选通输入IBFPC5输出输入缓冲器满OBFPC7输出输出缓冲器满ACKPC6输入外设响应INTRPC3输出中断请求中断允许位 INTE 的操作端口方式INTE控制位置位/复位控制字PA方式1或2PC4(输入), PC6(输出)0XXX1001B (置位PC4) 0XXX1101B (置位PC6)PB方式1PC2输入/输出0XXX0101B (置位PC2)INTE 是内部中断允许触发器通过C口按位置位/复位命令设置。