8255A的工作方式概述
8255a的工作方式控制字
8255a的工作方式控制字
8255A是一种通用输入/输出(I/O)控制器芯片。
它具有三种
工作模式:模式0、模式1和模式2。
控制字是一个8位的二进制数,用于设置8255A芯片的工作模式和功能。
在模式0下,8255A被配置为三个8位I/O端口,即Port A、Port B和Port C(又称控制端口)。
控制字的位D0-D2用于配置
Port C的寻址模式(例如BCD模式、二进制模式等),而D3-D7则
用于配置Port A和Port B是否为输入或输出。
在模式1下,8255A被配置为两个8位I/O端口和一个双向数
据总线。
控制字的位D0-D2用于配置Port C的寻址模式,而D3-D7
用于配置Port A和Port B的方向和数据的输入/输出。
在模式2下,8255A被配置为一个8位I/O端口和一个双向数
据总线。
控制字的位D0-D2用于配置Port C的寻址模式,而D3-D7
则用于配置Port A的方向和数据的输入/输出。
通过设置控制字的不同位,可以配置8255A芯片的工作模式和
端口的输入/输出方向。
这使得8255A芯片在嵌入式系统中具有很大
的灵活性和可定制性。
可编程并行接口芯片8255A
大规模控制系统的需求。
8255A与可编程逻辑器件的结合,可以实现高速、实时的数据
03
采集和控制。
在数据采集与控制系统中的应用
8255A在数据采集与控制系统中,可以作为数据传输的桥梁,实现快速、稳定的数 据传输。
通过8255A,可以实现多路数据的并行采集和处理,提高了数据处理的效率。
8255A在数据采集与控制系统中,可以作为主控制器,协调各个模块的工作,保证 系统的稳定运行。
微处理器可以通过8255A实现对 外部设备的控制,扩展了微处理
器的控制能力。
8255A可以作为微处理器的输入 /输出接口,实现人机交互和数据
采集。
与可编程逻辑器件连接的应用
01
8255A可以与可编程逻辑器件连接,实现复杂的逻辑控制和数 据处理。
02
通过8255A,可编程逻辑器件可以扩展其输入/输出端口,满足
根据实际需求,设定8255A的数据格式,包括数据位、停止位、 奇偶校验位等。
数据读写操作
通过数据传输编程实现对8255A的数据读写操作,包括读数据、 写数据、读写同时操作等。
PART 05
8255A的应用实例
与微处理器连接的应用
8255A与微处理器连接,可以实 现并行数据传输,提高数据传输
效率。
在现代嵌入式系统中,8255A芯片仍有一 定的应用,尤其在一些需要并行I/O接口的 场合,如人机界面、传感器等。
PART 02
8255A芯片的基本结构 与功能
芯片的基本组成
输入/输出端口
数据总线
8255A包含三个输入/输出端口,分别为 端口A、端口B和端口C。每个端口都有8 个位,可以独立配置为输入或输出模式。
控制信号生成
微机原理 可编程接口芯片8255A及应用
第七章
参考程序片断: MOV AL, 10010000B ; 控制字 OUT 0F6H, AL ; 写入控制字 LP: IN AL, 0F0H ; 从A口读入开关状态 OUT 0F2H, AL ; B口控制LED,指示开关状态 CALL DELAY1S JMP LP
思考:
若地址大于FFH,则程序应该怎么改?
dp g f e d c b a
g
d
b
c
DP
g f e d c b a 1
阴 极
0
1
1
0
1
36
1
0
第七章
十六进制数共阴极的七段显示码表
十六进制数字
0 1 2 3 4 5 6
七段显示码
3FH 06H 5BH 4FH 66H 6DH 7DH
十六进制数字
8 9 A b C d E
七段显示码
7FH 6FH 77H 7CH 39H 5EH 79H
内部逻辑 6
端口C (低4位)
B 组B 端口
PC3~PC0
(8位)
PB7~PB0
CPU接口
外设接口
第七章
8255A与系统的连接示意图
7
第七章
3、各部分功能简介
数据端口
A、B、C:可用来和外设传送信息;每
个端口8位,通过编程设定其为输入口或输出口;
工作方式 0 1 8255数据端口功能表 B口 A口 C口
教材第九章内容
第七章
可编程外围接口芯片8255A及其应用
7.1 8255A的工作原理
一、8255A的结构和功能
二、8255A的控制字及初始化编程 三、8255A工作方式和C口状态字
8255A的工作方式及其初始化编程
8255A 的工作方式及其初始化编程8255A 有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式.1.8255A 的工作方式(1)方式0:基本输入/输出方式(basic Input/Output)方式0是8255A 的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O 传送.A, B, C 3个端口都可以工作在方式0.A 口和B 口工作在方式0时,只能设置为以8位数据格式输入/输出;C 口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式.方式0常用于与外设无条件数据传送或查询方式数据传送.(2)方式1:单向选通输入/输出方式(strobe Input/Output)方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据.由于C 口的PC0, PC1和PC2定义为B 口工作在方式1的联络信号线,PC3,PC4和PC5定义为A 口工作方式1的联络信号线,因此只允许A 口和B 口工作在方式1.A 口和B 口工作在方式1,当数据输入时,C 口的引脚信号定义如图7.6所示.PC3, PC4和PC5定义为A 口的联络信号线INTRA, A STB 和IBFA, PC0, PC1和PC2定义为B 口的联络信号线INTRB, IBFB 和B STB ,剩余的PC6和PC7仍可以作为基本I/O 线,工作在方式0.方式1输入联络信号的功能如下:STB (strobe input):选通信号,输入,低电平有效.此信号由外设产生输入,当STB 有效时,选通A 口或B 口的输入数据锁存器,锁存由外设输入的数据,供CPU 读取.IBF(input buffer full):输入缓冲器满信号,输出,高电平有效.当A 口或B 口的输入数据锁存器接收到外设输入的数据时,IBF 变为高电平,作为对外设STB 的响应信号,CPU 读取数据后IBF 被清除.INTR:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据.为了能实现用中断方式传送数据,在8255A 内部设有一个中断允许触发器INTE,当触发器为"1"时允许中断,为"0"时禁止中断.A 口的触发器由PC4置位或复位,B 口的触发器由PC2置位或复位. 方式1数据输入的时序如图7.7所示.当外设的数据准备就绪后,向8255A 发送STB 信号以便锁存输入的数据, STB 的宽度至少为500ns,在STB 有效之后的约300ns,IBF 变为高电平,并一直保持到RD 信号由低电平变为高电平,待CPU 读取数据后约300ns 变为低电平,表示一次数据传送结束.INTR 是在中断允许触发器INTE 为1,且IBF 为1(8255A 接收到数据)的条件下,在STB后沿(由低变高)之后约300ns 变为高电平,用以向CPU 发出中断请求,待RD 变为低电平后约400ns, INTR 被撤销.A 口和B 口工作在方式1,当数据输出时,C 口的引脚信号定义如图7.8所示.PC3, PC6和PC7定义为A 口联络信号线INTRA,A ACK 和A OBF ,PC0,PC1和PC2定义为B 口联络信号线INTRB, B OBF 和B ACK ,剩余的PC4和PC5仍可以作为基本I/O 线,工作在方式0.方式1输出联络信号的功能如下:OBF (output buffer full):输出缓冲器满指示信号输出,低电平有效.OBF 信号由8255A 发送给外设,当CPU 将数据写入数据端口时, OBF 变为低电平,用于通知外设读取数据端口中的数据.ACK (acknowledge input):应答信号,输入,低电平有效. ACK 信号由外设发送给8255A,作为对OBF 信号的响应信号,表示输出的数据已经被外设接收,同时清除OBF 信号.INTR:中断请求信号,输出,高电平有效.用于请求以中断方式传送数据.方式1数据输出的时序如图7.9所示.当CPU 向8255A 写入数据时,WR 信号上升沿后约650ns, OBF 有效,发送给外设,作为外设接收数据的选通信号.当外设接收到送来的数据后,向8255A 回送ACK 信号,作为对OBF 信号的应答.ACK 信号有效之后约350ns, OBF 变为无效,表明一次数据传送结束.INTR 信号在中断允许触发器INTE 为1且信号无效之后约350ns 变为高电平.若用中断方式传送数据时,通常把INTR连到8259A的请求输入端IRi.(3)方式2:双向选通输入/输出方式(bi-directional bus)方式2为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出.由于C口的PC7~PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2,引脚信号定义如图7.10所示.由图7.10可以看出,PA7~PA0为双方向数据端口,既可以输入数据又可以输出数据.C口的PC7~PC3定义为A口的联络信号线,其中PC4和PC5作为数据输入时的联络信号线,PC4定义为输入选通信号STB,PC5定义为输入缓冲器满IBFA;APC6和PC7作为数据输出时的联络信号线,PC7定义为输出缓冲器满OBF,PC6定义A为输出应答信号ACK;PC3定义为中断请求信号INTRA.A需要注意的是:输入和输出公用一个中断请求线PC3,但中断允许触发器有两个,即输入中断允许触发器为INTE2,由PC4写入设置,输出中断允许触发器为INTE1,由PC6写入设置,剩余的PC2~PC0仍可以作为基本I/O线,工作在方式0.2.8255A初始化编程8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的.8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字.方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i=0~7)的电平.两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位.(1)方式控制字的格式 8255A工作方式控制字的格式如图7.11所示.D0:设置PC3~PC0的数据传送方向.D0=1为输入;D0=0为输出.D1:设置B口的数据传送方向.D1=1为输入;D1=0为输出.D2:设置B口的工作方式.D2=1为方式1;D2=0为方式0.D3:设置PC7~PC4的数据传送方向.D3=1为输入;D3=0为输出.D4:设置A口的数据传送方向.D4=1为输入;D4=0为输出.D6D5:设置A口的工作方式.D6D5=00为方式0,D6D5=01为方式1,D6D5=10或11为方式2.D7:方式控制字的标志位,恒为1.例如,将8255A的A口设定为工作方式0输入,B口设定为工作方式1输出,C口没有定义,工作方式控制字为10010100B. (2)C口置位/复位控制字的格式8255A C口置位/复位控制字的格式如图7.12所示.8255A C口置位/复位控制字用于设置C口某一位口线PCi(i=0~7)输出为高电平(置位)或低电平(复位),对各端口的工作方式没有影响.D3~D1:8种状态组合000~111对应表示PC0~PC7.D0:用来设定指定口线PCi为高电平还是低电平.当D0=1时,指定口线PCi输出高电平;当D0=0时,指定口线PCi输出低电平.D6~D4没有定义,状态可以任意,通常设置为0.D7位作为标志位,恒为0.例如,若把PC2口线输出状态设置为高电平,则置位/复位控制字为00000101B.(3)8255A初始化编程8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可.另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字.【例7.1】设8255A的A口工作在方式0,数据输出,B口工作在方式1,数据输入,编写初始化程序(设8255A的端口地址为FF80H~FF83H).初始化程序如下:MOV DX, 0FF83H ; 控制寄存器端口地址为FF83HMOV AL, 10000110B ; A口方式0, 数据输出, B口方式1, 数据输入OUT DX, AL ; 将控制字写入控制端【例7.2】将8255A的C口中PC0设置为高电平输出,PC5设置为低电平输出,编写初始化程序(设8255A的端口地址为FF80H~FF83H).初始化程序如下:MOV DX, 0FF83H ; 控制端口的地址为FF83HMOV AL, 00000001B ; PC0设置为高电平输出OUT DX, AL ; 将控制字写入控制端口MOV AL, 00001010B ; PC5设置为低电平输出OUT DX, AL ; 将控制字写入控制端口。
8255A的原理介绍
D7~D0
8086 系 统 总 线
RD WR A1 A2 A0 A3 A4 M/IO A5 A6 A7
&
A B C G2A G2B
Y0 O Y1 Y2 O O
RD WR A0 A1 CS
PA7
PA0
PC3 PC2
驱 动 器
K3
K2 K1 +5V
PC1
PC0
~
K0
G1 LS138
8255A
+5V
;查表,取出相应的字形码送AL
;指向端口A ;输出字形码显示
LED显示器的结构
a
f g b c d dp
a b c d e
a b c d e
e
f
g ep
f
g ep
LED显示器的外形
共阳极LED显示器的结构
共阴极LED显示器的结构
LED显示器的工作原理
软件译码法
PA0 PA1
a b c d e
8 2 5
8255A各端口地址确定: 由图可知: A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 1 0 各端口地址为:E8H~EEH
8255A方式选择控制字: 按题意设置端口A方式0输出,下C口输入.
1 0 0 0 × 0 × 1 81H
A0 A3 A4 M/IO A5 A6 A7
o o 读/写 控制 逻辑 o
至控制 寄存器 至数据端口
(五) 端口寻址
8255A端口选择表
A1 A0 RD 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 WR 1 1 1 0 0 0 0 CS 0 0 0 0 0 0 0 端口 A 端口 B 端口 C 数据总线 数据总线 数据总线 数据总线 功能 数据总线 数据总线 数据总线 端口 A 端口 B 端口 C 控制字寄存器
8255A的方式2及其应用
1.2 方式2下联络信号线的定义及其时序
1.2 方式2下联络信号线的定义及其时序
1.3 方式2的状态字
方式2状态字的含义是在方式1下输入和输出状态位的组合,不再重复讲述。 状态字中有两位中断允许位,INTE1是输出中断允许,INTE2是输入中断允许。 方式2的状态字如图9.16
1.4 方式2的接口电路的设计
1.题目
2. 主从两个微型计算机进行并行传送,共传送256个字节。主机一侧的
微型计算机原理与接口技术
8255A的方式2及其应用
1.1 方式2的特点
1)方式2也叫双向选通输入/输出或叫双向应答式输入/输出 方式。这种方式只适合于PA口,一次初始化可指定PA口既 作输入口又作输出口。在方式2下,外设可以在8位数据线 上,既往CPU发送数据,又从CPU接收数据。此外,和方 式1情况类似,PC口在PA口工作于方式2时自动提供相应的
DX, 302H AL, DX AH, AL AL, 20H OUTP DX, 300H AL, DX [DI],AL DI RETURN DX, 300H AL, [SI] DX, AL SI
; ; 8255A ; 复位PC4,使INTE2=0
; 复位PC6,使INTE1=0
; ; 8255A ; ; ; 检查状态位IBF=1,是则转输入程序INP ; 不是,则跳输出程序OUTP ; 是,则从PA
8255A采用方式2,采用中断方式传送数据。从机一侧的8255A工作在方式0,
8255工作方式
将OBF置为有效。对于A组,系统规定端口C的第 7位(PC7)用作从端口A输出的OBF信号,对于B组, 规定端口C的第1位(PC1)用作从端口B输出的OBF信
号。
② ACK ——外部应答信号。由外部输入,低电平有 效。 ACK有效,表示外部设备已收到由8255A输出的八 位数据,它实际上是对OBF信号的回答信号。对于A 组,指定端口C的第6位(PC6)用来接收向端口A输入 的ACK信号;对于B组,指定端口C的第2位(PC2)用 来接收向端口B输入的ACK信号。 ③ INTR——中断请求信号。向CPU输出,高电平有 效。
ACKA OBFA
&
O WR PC3 INTRA I/O
PC4, PC5
图7.4 端口A方式 1 输出
ACK:外设应答 OBF:输出缓冲器满 INTE:中断允许 INTR:中断请求
① CPU输出数据 ② CPU发出WR: (1) 数据写到 8255A的端口 (2) WR的低电平清除中断请求 信号INTR (3) WR的上升沿使OBF有效, 表示输出端口满,通知外设取数 据。 ③ 外设接受到数据后,发出 ACK信号: (1) ACK的下降沿使OBF变高, (2) ACK的上升沿使INTE=1, 则INTR变高,发出中断请求,请 求CPU输出新的数据。
3. STB 选通信号:由外设输入,低电平有效、
4. IBF 输入缓冲存储器满信号:向外部输出,高电平 有效。
5. INTR 中断请求信号:向CPU发出,高电平有效。
端口A工作于方式2所需控制信号如下: ① OBFA——输出缓冲存储器满信号。向外部 输出,低电平有效。OBFA有效,表示要求输 出的数据已锁存到端口A的输出锁存器中,正 等待向外部输出。CPU用OUT指令输出数据 时,由WR信号后沿将OBFA置成有效。系统 规定端口C的第7位(PC7)用作由端口A输出的 OBFA信号。
8255工作方式
并行接口 82C55A的工作方式
12/6/2016
Page 1
82C55A的工作方式
• 接口芯片82C55A总的来说是并行接口,可 设置3种工作方式,从而扩展了82C55A的使 用功能。
• 82C55A的3种工作方式,由于其功能不同、 工作时序及状态字不一样。
12/6/2016
Page 2
• C端口可有4种功能 : • ① 做A端口和B端口的专用联络信号线; • ② 做数据端口,未分配做专用联络信号的引脚可做数据线用; • ③ 做状态端口,读取A端口和B端口的状态字; • ④ 做位控,按位输出逻辑1或逻辑0。
12/6/2016
Page 4
• 使用82C55A 1方式和2方式构成的并行接口 在与CPU交换数据时,要求使用专用的联 络(应答)信号和固定的工作时序,并设 置专用的工作状态字,故它们使用起来没 有0方式那么简单、自由。 • 下面介绍它们的联络线设置。
• 输出时,如果采用中断方式,则产生中断请求INTR的条件是 、 、 和 INTE都为高电平,分别表示CPU已写完一个数据( =1)、输出缓冲器已 变空( =1)、回答信号已结束( =1),I/O设备已收到数据,并且允许中 断(INTE=1)。当上述条件都满足时才能产生中断请求。
12/6/2016
P出方式
• 2方式的特点:一次初始化可将A端口置成既输入 又输出,具有双向性;要求有两对专用的联络信 号,有固定的工作时序和专用的工作状态字;适 用于查询和中断方式与CPU交换数据,特别是在 要求与I/O设备进行双向数据传输时很有用。 • 2方式的功能:A端口做双向数据端口(8位并行 );B端口做数据端口(8位并行);C端口有4种 功能,与1方式类似。
12/6/2016
可编程芯片8255A及其应用
8255A芯片在工业控制中的应用
在工业控制中,8255A芯片可以用于采集各种传感器的数据。
传感器数据采集
执行器控制
安全监控
自动化生产
通过编程,8255A芯片可以控制各种执行器,如电机、阀门等。
8255A芯片可以用于监控工业生产过程中的各种安全参数。
通过与PLC等其他工业控制设备的配合,8255A芯片可以实现自动化生产流程的控制和管理。
OUT 83H ;将累加器A的内容输出到83H端口
01
02
03
编程实例
HLT ;结束程序
编程实例
这是一个简单的8255A编程示例,用于初始化芯片并设置一个特定的端口。在这个例子中,我们使用汇编语言进行编程,通过`OUT`指令将累加器A的内容输出到83H端口,然后通过`HLT`指令结束程序。
01
02
03
04
05
根据项目需求和开发环境,选择合适的编程语言。
2.选择编程语言
使用所选的编程语言编写代码,实现8255A芯片的控制逻辑。
3.编写代码
完成基本功能后,进行全面的测试,并根据测试结果优化代码。
5.测试和优化
将代码编译成可在芯片上运行的格式,并通过仿真或实际硬件进行调试。
4.编译和调试
8255A芯片在微机接口中的应用
作为微机的接口,8255A芯片可以实现与其他设备或系统的数据通信。 通过8255A芯片,微机可以扩展其I/O端口,从而连接更多的外部设备。 在微机接口中,8255A芯片的并行处理能力可以提高数据处理速度。 通过编程,8255A芯片可以用于实时控制微机系统的某些功能。 数据通信 扩展I/O端口 并行数据处理 实时控制
可靠性更强
应用领域拓展
8255设置
8255的方式设置(一)8255A的端口A可以在方式0、方式1、方式2这三种方式下工作,而端口B只能在方式0和方式1这两种方式下工作。
此外,我们也说明了端口的工作方式是由方式选择控制字决定的。
下面,介绍三种工作方式的具体含义。
(1)方式0的工作特点:方式0也叫基本输入/输出方式。
在这种方式下,端口A和端口B可以通过方式选择字规定为输入口或者输出口,端口C分为2个4位端口,高4位为一个端口,低4位为一个端口;这两个4位端口也可由方式选择字规定为输入口或输出口。
概括地说,方式O的基本特点如下:①任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的关系。
②各个端口的输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。
(2)方式0的使用场合有两种:一种是同步传送,另一种是查询式传送。
在同步传送时,发送方和接收方的动作由一个时序信号来管理,所以,双方互相知道对方的动作,不需要应答信号,也就是说,CPU不需要查询外设的状态。
这种情况下,对接口的要求很简单,只要能传送数据就行了。
因此,在同步传输下使用8255A时,3个数据端口可以实现三路数据传输。
查询式传输时,需要有应答信号。
但是,在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A和端口B作为数据端口,把端口C的4个数位(高4位或者低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。
就是这样,利用端口C来配合端口A和端口B的输入/输出操作。
(1)方式1的工作特点:方式1也叫选通的输入/输出方式。
和方式O相比,最重要的差别是A端口和B端口用方式1进行输入/输出传输时,要利用端口C提供的选通信号和应答信号,而这些信号与端口C中的数位之间有着固定的对应关系,这种关系不是程序可以改变的,除非改变工作方式。
概括地讲,方式1有如下特点:①端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或者输出口。
8255a简介
第九章并行通信接口与8255A【回顾】微机系统结构及控制信号的名称和作用。
【本讲重点】I/O接口概述,CPU与I/O接口,I/O接口与系统的连接。
8255A芯片的使用。
9.1 CPU与外设之间的数据传输一.CPU与I/O接口接口电路按功能可分为两类:①使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等;②输入/输出接口电路:CPU与外部设备信息的传送(接收、发送)。
最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入/输出接口和总线相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。
1.为什么要用接口电路:需要分析一下外部设备的输入/输出操作和存储器读/写操作的不同之处:存储器都是用来保存信息的,功能单一,传送方式单一(一次必定是传送1个字节或者1个字),品种很有限(只有只读类型和可读/可写类型),存取速度基本上和CPU的工作速度匹配.。
外部设备的功能多种多样的(输入设备,输出设备,输入设备/输出设备),信息多样(数字式的,模拟式的),信息传输的方式(并行的,串行的),外设的工作速度通常比CPU的速度低得多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输入/输出过程起一个缓冲和联络的作用。
注:接口电路完成相应的信号转换、速度匹配、数据缓冲等功能2.接口的功能(8种):⑴寻址能力:对送来的片选信号进行识别。
⑵输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。
⑶数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。
⑷联络功能:就绪信号,忙信号等。
⑸中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。
并具有优先级管理功能。
⑹复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。
⑺可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。
⑻错误检测:一类是传输错误。
另—类是覆盖错误。
注:一些接口还可根据具体情况设置其它的检测信息。
实验二 输入PB输出8255A
实验一并行接口实验PA输入、PB输出(8255A)一、实验目的⑴掌握8255A和微机接口方法。
⑵掌握8255A的工作方式和编程原理。
二、实验内容用8255 PA作开关量输入口,PB作输出口。
三、编程提示8255A芯片简介:8255A可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作:方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向选通工作方式使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量,,送PB口显示。
PB口工作在方式0作为输出口。
四、实验步骤⑴按实验电路图连接线路:①8255A芯片A口的AP0~PA7依次和开关量输入插孔K1~K8相连。
②8255A芯片B口的AB0~PB7依次接L1~L8⑵运行实验程序:运行程序,之后拨动K1~K8、L1~L8会跟着亮灭。
五、程序代码DA TA SEGMENTSTRING DB 'PRESS ANY KEY TO CONTINUE',0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TAH2: MOV DX,21BH ;设置8225A的工作方式MOV AL,90HOUT DX,ALP2: MOV DX,218H ;端口A接受信号IN AL,DXINC DXOUT DX,ALLEA DX,STRING ;显示输出提示字符串MOV AH,9INT 21HMOV AH,1 ;从键盘输入字符INT 21HCMP AL,'Q' ;若是Q,退出循环JNZ P2 ;若不是Q,继续返回执行MOV AH,4CHINT 21H ;返回DOSCODE ENDSEND H2六、实验总结本实验总体来说较容易,编写程序和连线都不是很难。
实验中,唯一遇到的问题就是每次运行完试验后总是陷入死循环,导致电脑死机,要重新启动。
8255传输方式与工作方式
8255A传输方式与工作方式一、8255A芯片介绍8255A是Intel公司生产的可编程并行I/O接口芯片,它具有3个八位的并行I/O口,三种工作方式,可通过编程改变其功能,使用灵活方便,可作为单片机与多种外围设备连接时的中间接口电路。
1、引脚说明8255A共有40只引脚采用双列直插式封装,各引脚功能如下。
D7~DO:三态双向数据线,与单片机数据总线连接,用来传送数据信息。
V:片选信号线,低电平有效,表示本芯片被选中。
C CRD:读出信号线控制8255A数据的读出。
W R:写入信号线控制8255A的数据写入。
V:+5V电源。
C CPA7~PA0:A口输入/输出线。
PB7~PB0:B口输入/输出线。
PC7~PC0:C口输入/输出线。
A1~A0:地址线,用来选择8255A内部四个端口。
2、内部结构(1)端口A、B、CPA口:一个八位数据输出锁存器和缓冲器;一个八位数据输入锁存器。
PB口:一个八位数据输出锁存器和缓冲器;一个八位数据输入缓冲器。
PC口:一个八位数据输出锁存器;一个八位数据输入缓冲器。
通常PA口、PB口作为输出输入端口,PC口可作为输出输入端口,也可在软件控制下,分为两个四位端口,作为端口A、B 选通方式操作时的状态控制信号。
(2)A组和B组控制电路这是两组根据CPU写入的“命令字”控制8255A工作方式的控制电路。
A组控制PA口和PC口上半部分;B组控制PB口和PC口下半部,并可根据“命令字”对端口的每一位实现按位“置位”或“复位”。
(3)数据总线缓冲器数据总线缓冲器是一个三态双向8位缓冲器,作为8255A与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。
(4)读/写控制逻辑电路读/写控制逻辑电路接收CPU发来的控制信号RD、W R、RESET、地址信号A1~A0等,根据要求,将端口数据读出送往CPU或者将CPU 送来的数据写入端口。
二、8255A 工作方式8255A 有三种基本工作方式:(1)方式0:基本输入输出;(2)方式1:选通输入输出;(3)方式2:双向传送(仅A 口有此工作方式)。
8255A的功能与结构
8255A的功能与结构8255A可编程外围设备接⼝(programmable perphheral interface,PPI)是⼀种通⽤的可编程并⾏I/O接⼝器件。
它可以作为Intel系列微处理器或其它系列微处理器的接⼝器件,可以将任何与TTL兼容的I/O设备与微处理器连接。
在与主频不⾼于8MHz的微处理器⼀起⼯作时,不需要插⼊等待周期。
它有24个可编程I/O引脚,分为两组,每组12个,可以以3种不同的操作⽅式⼯作。
它的每个I/O引脚可以提供2.5mA的吸⼊电流,最⼤4mA。
8255A常常⽤作键盘和打印机端⼝。
它的价格低廉,使⽤⽅便,得到了⼴泛的应⽤。
8255A的功能结构由图可得:(1)数据总线缓冲器D7~D0与系统数据总线相连,负责与CPU进⾏数据交换。
包括输⼊输出数据、控制字和状态字。
(2)读/写控制逻辑接收来⾃CPU的地址信息和控制信息。
(3)A组控制和B组控制这两组控制逻辑电路接收来⾃CPU的控制字,控制两组端⼝的⼯作⽅式及读/写操作。
A组控制端⼝A和端⼝C的⾼4位,B组控制端⼝B和端⼝C的低4位。
(4)端⼝A、B、C8255A有3个8位数据输⼊/输出端⼝:端⼝A、端⼝B和端⼝C,分别简称为A⼝、B⼝和C⼝。
它们对外的引线分别是PA7~PA0、PB7~PB0和PC7~PC0。
C⼝可分成两个4位的端⼝:C⼝⾼4位(PC7~PC4)和C⼝低4位(PC3~PC0)。
三个端⼝按组编程端⼝A和端⼝B都有⼀个8位数据输⼊锁存器和⼀个8位数据输出锁存/缓冲器。
端⼝C有⼀个8位数据输⼊缓冲器和⼀个8位数据输出锁存/缓冲器。
端⼝C可以按位操作。
8255A的引脚功能双列直插,40根引脚D7~D0:数据信号线CS:⽚选信号输⼊引脚,低电平有效RD:读信号输⼊引脚,低电平有效WR:写信号输⼊引脚,低电平有效RESET:复位信号输⼊引脚,⾼电平有效。
⽤于将8255A控制字寄存器清“0”,并将A、B、C⼝置成输⼊状态A1、A0:端⼝选择信号输⼊引脚8255A的⼯作⽅式8255A可以⽆条件⽅式、查询⽅式和中断⽅式完成CPU与外设的数据交换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8255A的工作方式概述
8255A有三种工作方式:方式0、方式1和方式2。
1.方式0
方式0为基本的输入/输出方式,传送数据时不需要联络信号。
A口、B口和C口(或C高4位口及C低4位口)均可独立设置成方式0输入口或方式0输出口。
2.方式1
方式l为选通输入/输出方式,即需要进行联络的输入/输出。
A组、B组的8位口(A口或B口)可被设置为方式1输入口或方式1输出口,而这时要用相应C口的3根线作联络线。
3.方式2
方式2为双向传送。
该方式要使用C口的5根线作联络线。
由于C口只有8根线,因此只能有一组使用方式2确定为A组。
当A组被设置成方式2时,A口被设置成双向端口,即既可以输入数据,也可以输出数据,C口的5根线被指定为联络线。
4.方式1、2用到的联络信号
当将8255A设置为方式1或方式2时,要使用C口中的一些线传输联络信号。
这些信号可归结为五种(方式1仅使用其中的三种):
(1)STB#
选通,输入信号,由外设提供,低电平有效。
该信号将外设提供的数据送入端口的输入缓冲器。
(2)IBF
输入缓冲器满,输出信号,高电平有效。
该信号有效表示来自外设的数据已经进入输入缓冲器,但CPU尚未取走,外设暂时不要送新的数据。
(3)OBF#
输出缓冲器满,输出信号,低电平有效。
为低时表示CPU已把数据送到指定端口,该端口外围引线上的数据有效,外设可以利用了。
(4)ACK#
来自外设的回答,输入信号。
为低时表示输出的数据已被外设接收,CPU可以输出下一个数据。
(5)INTR
中断请求,送往CPU。
输入和输出都可以引起中断。
对于输入,外设的数据进入输入缓冲器后8255A产生INTR,请求CPU取走数据;对于输出,当外设利用完输出缓冲器中的数据之后会发出一个回答信号ACK#,8255A产生INTR,请求CPU输出下一个数据。