8255A
- 格式:pdf
- 大小:410.88 KB
- 文档页数:9
8255A芯片8255A芯片是一种集成了并行输入/输出接口功能的芯片,由Intel公司推出。
它具有三个可编程I/O端口,每个端口都可以配置为输入或输出。
它提供了高度灵活性和可编程性,使其成为许多数字系统中常用的接口芯片。
8255A芯片的主要特点如下:1. 并行接口:8255A芯片具有三个并行I/O端口,即A、B和C端口。
每个端口都有8位,可以单独配置为输入或输出。
2. 可编程:8255A芯片可以通过编程来配置其各个端口的功能。
通过写入控制字寄存器,可以设置端口的工作模式,如输入模式、输出模式、双向模式等。
3. 单独I/O地址:8255A芯片具有单独的I/O地址,通过在I/O地址总线上设置相应的地址来访问芯片的寄存器。
4. 简化接口设计:8255A芯片的引脚数量相对较少,使得系统设计更加简化和便捷。
它可以直接与微处理器或其他逻辑芯片相连接,提供了与外部设备的接口。
5. 高可靠性:8255A芯片采用了逻辑门阵列和静态RAM组成的结构,具有较高的可靠性和稳定性。
8255A芯片的主要应用领域包括:1. 工业自动化系统:8255A芯片可以用于工业控制和自动化系统中,作为输入和输出设备的接口。
例如,它可以与传感器和执行器连接,实现对设备的监控和控制。
2. 仪器设备:8255A芯片可以用于仪器设备中,提供与外部设备的数据交换和控制接口。
例如,它可以用于示波器、频谱分析仪等设备中。
3. 计算机外部设备:8255A芯片可以用于计算机外部设备的接口,如打印机、磁盘驱动器等。
它可以实现对这些设备的数据传输和控制。
4. 数据采集系统:8255A芯片可以用于数据采集系统中,用于接收传感器的模拟信号并将其转换为数字信号。
总之,8255A芯片是一种功能强大的并行输入/输出接口芯片,具有灵活的配置和简化的接口设计。
它在工业自动化、仪器设备、计算机外部设备等领域具有广泛的应用。
8255A芯片Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
8255A 的通用性强,使用灵活,通过它CPU可直接与外设相连接。
8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种;方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。
其中A、B、C口的高四位或低四位可分别设置成输入或输出。
方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A 口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0.方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。
8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。
A口可以设置为方式0、方式1、方式2,B口与C口只能设置为方式0或方式1.8253A芯片可编程定时/计数器是 intel 82583-PTT 就是软件和硬件技术的结合功能:一片上有3个独立的16位计数通道每个计数通道都可按二进制计数或十进制计数每个计数器的计数速率可高达2mhz每个通道有6种工作方式,可由程序设置和改变所有的输入输出都与ttl兼容8259A目录8259A工作原理8259A主要功能8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。
8255a的编程方式-回复“8255a的编程方式”一、引言8255a是一种广泛应用于计算机工程领域的可编程接口设备。
它具有多种功能和强大的扩展性,能够满足不同的应用需求。
本文将详细介绍8255a 的编程方式,包括寄存器的配置和控制,以及输入输出的操作方法。
二、8255a的基本结构8255a是由三个相互独立的8位寄存器组成,包括了控制寄存器(Control Register),端口A的数据寄存器(Port A Data Register),端口B的数据寄存器(Port B Data Register)以及端口C的数据寄存器(Port C Data Register)。
这些寄存器由特定的端口地址进行访问和操作,通过对这些寄存器的配置和控制,实现对8255a的编程。
三、寄存器的配置1. 控制寄存器(Control Register)控制寄存器用于配置8255a的工作模式和端口的工作方式。
它的寄存器地址是0。
对于控制寄存器的配置,首先需要选择工作模式。
8255a一共有三种工作模式,包括模式0、模式1和模式2。
模式0是最简单的工作模式,只有两个8位的端口,分别是端口A和端口B。
模式1是原始模式,拥有三个8位的端口,包括端口A、端口B和端口C。
模式2是最灵活的工作模式,可以根据具体需求决定端口A和端口B的宽度,并且允许端口C的不同位进行不同的工作。
在选择了工作模式之后,还需要配置端口的工作方式。
8255a的每个端口可以被配置为输入模式(Input Mode)或输出模式(Output Mode)。
输入模式允许端口接收外部信号,而输出模式允许端口向外部发送信号。
2. 端口A的数据寄存器(Port A Data Register)端口A的数据寄存器用于读取和写入端口A的数据。
它的寄存器地址是1。
对于端口A的数据寄存器的配置,可以通过对寄存器进行读写操作来实现。
3. 端口B的数据寄存器(Port B Data Register)端口B的数据寄存器与端口A的数据寄存器类似,用于读取和写入端口B的数据。
附录A: 常用并行接口芯片8255A一般来说,外设接口可以分成两类:并行接口:一组数据在多根线上同时传送;串行接口:一组数据按位顺序在一根线上依次传送。
本附录主要介绍常用并行接口芯片8255A的工作原理、编程方法及其应用。
A.1 并行接口的基本原理及结构作为一个并行接口,应具备下列功能:具有一个或多个数据I/O寄存器和缓冲器(称为I/O端口);每个端口应具有与CPU和外设进行联络控制的功能;CPU、端口及外设之间能够以中断方式进行通信;接口可有多种工作方式,并且能够由用户编程控制。
并行接口与CPU、外设之间的连接逻辑如图A.1所示,其输入、输出过程可按下列步骤描述。
n图A.1 并行接口与CPU、外设之间的连接逻辑并行接口的输入过程:1. 外设将原始数据放在数据总线上,并向并行接口发出“数据准备好”信号;2. 在并行接口中,将数据锁存于寄存器中,并向外设发出“数据输入响应”信号,表示外设数据已输入到接口,但还未送到CPU,因此外设不能发来新的数据;同时向CPU发出“数据准备就绪”信号或者发出中断请求信号,表示端口寄存器中已经准备好数据,CPU 可以读取数据; 3. 外设收到“数据输入响应”信号,撤销数据及“数据准备好”信号; 4. CPU 从接口中读取数据,并给并行接口发出“回执”,并行接口据此撤销“数据准备就绪”信号,并向外设发出“接收准备好”信号,外设在“接收准备好”信号控制下,发送新的数据。
并行接口的输出过程: 1. 并行接口向CPU 发出“准备就绪” 信号或者发出中断请求信号,表示端口寄存器中已经作好接收数据的准备,CPU 可以发来数据; 2. CPU 将数据写入端口寄存器,并发送“回执”信号;接口收到“回执”信号后,撤销“准备就绪” 信号; 3. 并行接口向外设发出“数据准备好”信号; 4. 外设取走数据,并向接口发出“数据输入响应”信号,表示外设已取走数据; 5. 并行接口撤销“数据准备好”信号,同时再次向CPU 发出“准备就绪” 信号或者发出中断请求信号。
A.2 常用并行接口芯片8255A 基础 Intel 公司生产的可编程并行接口芯片8255A 已广泛应用于实际工程中,例如8255A 与A/D、D/A 配合构成数据采集系统,通过8255A 连接的两个或多个系统构成相互之间的通信,系统与外设之间通过8255A 交换信息,等等,所有这些系统都将8255A 用作为并行接口。
8255A 的原理结构如图A.2所示。
它采用40脚的DIP 封装,其引脚定义如表A.1所示。
表A.1 8255A 引脚定义c u s y .c n图A.2 8255A 编程模型 8255A 为一可编程的通用接口芯片。
它有三个数据端口A、B、C,每个端口为8位,并均可设成输入和输出方式,但各个端口仍有差异: 端口A():8位数据输出锁存/缓冲器,8位数据输入锁存器; 70PA ~PA 端口B():8位数据I/O 锁存/缓冲器,8位数据输入缓冲器; 70PB ~PB 端口C():8位输出锁存/缓冲器,8位输入缓冲器(输入时没有锁存);在模式控制下这个端口又可以分成两个4位的端口,它们可单独用作为输出控制和状态输入。
70PC ~PC 端口A、B、C 又可组成两组端口(12位):A 组和B 组,参见图A.2。
在每组中,端口A 和端口B 用作为数据端口,端口C 用作为控制和状态联络线。
在8255A 中,除了这三个端口外,还有一个控制寄存器,用于控制8255A 的工作方式。
因此8255A 共有4个端口寄存器,分别用指定: 10A ,A 0A 1=,0A 0=,表示访问端口A; 0A 1=,1A 0=,表示访问端口B; 1A 1=,0A 0=,表示访问端口C; 1A 1=,1A 0=,表示访问控制寄存器; A.3 8255A 工作方式选择 8255A 有三种基本工作方式: 方式0:基本的输入/输出 w w w .m c u s y .c n方式1:有联络信号的输入/输出; 方式2:双向传送。
A 组可采用方式0~方式2,而B 组只能采用方式0和方式1,这由8255A 的方式控制字控制。
当向、的端口寄存器(即控制寄存器)发送1A 1=1A 0=1D 7=的控制字时,其作用为方式控制字,各个位的含义如图A.3所示。
B组的工作方式0:方式0 1:方式1 图A.3 方式控制字 应该注意,当向、1A 1=1A0=的端口寄存器(即控制寄存器)发送的控制字时,其作用为置位控制字,各个位的含义如图A.4所示。
0D 7=0:清零1:置1的某一位 图A.4 置位控制字 A.4 8255A 工作方式 A.4.1 方式0 —— 基本的输入/输出 将端口信号线分成4组,分别由方式控制字的、、、控制其传送方向,当某位为1时,相应的端口数据线设置成输入方式;当某位为0时,相应的端口数据线设置成输出方式。
4D 3D 1D 0D 例如,当方式控制字设置成1000 1010B 时,端口A 与端口C 的低4位数据线设置成输出方式,端口B 与端口C 的高4位数据线设置成输入方式。
特别注意,当将C 口的低4位设置成同一传送方向时,则端口C 可用作为独立的端口,因此,8255A 提供了3个独立的8为端口。
A.4.2 方式1 —— 有联络信号的输入/输出 三个端口的信号分成A、B 两组,用作为A 组的联络信号,用作为B 组的联络信号。
但、固定用作为A 组和B 组向CPU 发送的中断请求信号。
47PC ~PC 03PC ~PC 3PC 0PC w w w为对中断请求信号进行管理,8255A 中专门设置了中断屏蔽触发器INTEA 和INTEB,它们是通过对端口C 某一位的置位控制字进行控制,如表A.2所示。
表A.2 中断管理 分组 中断屏蔽触发器 输入/输出方式 端口C 中的控制位 A 组 INTEA 输入 4PC A 组 INTEA 输出 6PC B 组 INTEB 输入/输出 2PC 通过置位控制字,当对INTE 对应的端口C 的位置位时,INTE=1,允许产生中断请求信号;当对INTE 对应的端口C 的位清零时,INTE=0,不允许(屏蔽)产生中断请求信号。
1.方式1/输入 当将A 组和B 组设置成方式1输入时,其方式控制字与端口数据线如图A.5所示,注意用于控制的传送方向。
3D 76PC ~PC 方式1下的输入方式,8255A 与CPU 通过INTR(中断请求信号)联络,它与外设有2个联络信号:STB (选通输入)与外设提供的选通脉冲相连,将外设送来的数据锁存到端口寄存器,这相当于“数据准备好”信号。
IBF(输入缓冲器满)向外设发送数据输入响应(高电平有效),表示端口寄存器已收到数据,但尚未被CPU 取走;当IBF 信号无效时,表示“接收准备好”。
8255A 工作在方式1的输入方式下,其方式控制字与端口数据线与外设之间的数据传送与联络信号的时序如图A.6所示。
w w w .m c u s y .c n2.方式1/输出 当将A 组和B 组设置成方式1输入时,其方式控制字与端口数据线如图A.7所示,注意用于控制的传送方向。
3D 54PC ~PC 方式1下的输出方式,8255A 与CPU 通过INTR(中断请求信号)联络,它与外设有2个联络信号:OBF (输出缓冲器满)有效表示CPU 已将数据写入端口寄存器,这相当于“数据准备好”信号。
ACK (回执)有效表示外设已将数据取走,CPU 可发来新的数据。
8255A 工作在方式1的输出方式下,其与外设之间的数据传送与联络信号的时序如图A.8所示。
w w w .m c u s y .c n3. 方式1的组合 在方式1下,8255A 的A 组和B 组可以独立对定义,也就是说A 组输入/输出方式的设定与B 组的输入/输出方式无关,反之也然。
例如,设定的方式控制字为1011 1100B 时,表示A 组为方式1输入,B 组为方式1输出,而且设定成输入。
又如,当方式控制字为1010 0110B 时,表示A 组为方式1输出,B 组为方式1输入,而且设定成输出。
76PC ~PC 54PC ~PC A.4.3 方式2 —— 双向传送 这种方式只适用于A 组,用作为输出的联络信号,用作为输入的联络信号,仍用作为中断请求信号。
76PC ~PC 54PC ~PC 3PC 当将A 组设置成方式1时,其方式控制字与端口数据线如图A.9所示。
这时B 组仍可设置成方式0或方式1。
当A 组设置成方式2时,端口A 的数据总线为双向,一方面CPU 通过8255A 将数据转发给外设,另一方面,外设也通过8255A 将数据提交给CPU。
中断请求信号的产生由两个中断屏蔽触发器控制(INTE1,INTE2),它们置位与清零操作可分别通过对和的置位与清零来完成。
当CPU 响应该中断请求时,应设法确定是发送请求还是接收请求。
6PC 4PC w w w .m c u s y .c nA 组工作在方式2是,其与外设之间的数据传送与联络信号的时序如图A.10所示。
A.5 读取端口C 状态 在方式0下,端口C 用作为独立的数据端口,但在方式1和方式2下,端口C 用作为联络信号,因此当读取端口C 的内容时,可以获取某些联络信号线的状态,据此可了解8255A 的工作状态。
端口C 各位的含义如图A.11所示。
方式1:输出A组方式1:输入 图A.11 读取C 端口状态 A.6 习 题 1. (选择题)某计算机系统有一并行接口芯片8255A,其初始化时将8255A 设置成方式1的输出,这时8255A 与外设的联络信号为: A) IBF、STB B) RDY、STB C) OBF 、ACK D) INTR、ACK2.假设用8255A 开发的并行接口的开始端口地址为300H,编写程序段,分别完成: (1)设置A 组和B 组都是方式0,其中端口A 和C 为输入,端口B 为输出; (2)设置A 组为方式2,B 组为方式1的输出; (3)设置A 组为方式1的输入,B 组为方式1的输入,为输出。
76PC ,PC 3.在8088最大方式系统中,由一片8255A 构成输入/输出接口,端口地址为240H~243H,外设准备好的8位数据已送入8255A 的端口A,要求将这一数据的低4位取反(高4位不变)后,从端口B 送出。
要求:(1)画出端口译码电路;(2)说明各端口的工作方式;(3)编写8255A 的初始化及输入输出程序段。
4. 假定8255并行接口地址为FFE0H~FFE3H,试将其连接到8088最大方式的系统总线上。
(1)设定8255的三个端口均为输出,输出用来控制24个彩灯(设0为亮),分别编写程序段完成单灯循环和双灯循环。