8255A的工作方式及其初始化编程

合集下载

8255A、8251A的原理及应用

8255A、8251A的原理及应用

8255A的内部结构,由三部分电路组成:与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。

D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。

(chip select):片选信号线,低电平有效时,芯片被选中。

A1, A0(port address):地址线,用来选择内部端口。

(read):读出信号线,低电平有效时,允许数据读出。

(write):写入信号线,低电平有效时,允许数据写入。

RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。

PA7~PA0(port A):A口输入/输出信号线。

PB7~PB0(port B):B口输入/输出信号线。

PC7~PC0(port C):C口输入/输出信号线。

VCC:+5V电源。

GND:电源地线。

8255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路8255A初始化编程8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。

8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。

方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PC i(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。

8255可编程并行接口知识点总结

8255可编程并行接口知识点总结

8255可编程并⾏接⼝知识点总结可编程并⾏接⼝8255知识点总结8255A 是INTEL系列的并⾏接⼝芯⽚,由于它是⼀种可编程的外部接⼝部件,通常作为微机系统总线与外部设备的接⼝控制部件,可通过软件来设置芯⽚的⼯作⽅式,⽤8255A 连接外部设备时,通常不需要附加外部电路,给使⽤带来很⼤的⽅便。

1、内部结构2、引脚说明8255作为主机与外设的连接芯⽚,必须提供与主机相连的3个总线接⼝,即数据线、地址线、控制线接⼝。

同时必须具有与外设连接的接⼝A、B、C⼝。

由于8255可编程,所以必须具有逻辑控制部分,因⽽8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。

(1)与CPU连接部分根据定义,8255能并⾏传送8位数据,所以其数据线为8根D0~D7。

由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C⼝及控制寄存器,故地址线为两根A0、A1。

此外CPU要对8255进⾏读、写与⽚选操作,所以控制线为⽚选、复位、读、写信号。

各信号的引脚编号如下:总线分类:(2)与外设接⼝部分8255有3个通道A、B、C与外设连接,每个通道⼜有8根线与外设连接,所以8255可以⽤24根线与外设连接,若进⾏开关量控制,则8255可同时控制24路开关。

①数据端⼝A、B、C端⼝A(PA0-PA7):对应了1个8位的数据输⼊锁存器和1个数据输出锁存/缓冲器。

所以A 作为输⼊或输出时,数据均受到锁存。

端⼝B(PB0-PB7):对应了1个8位的数据输⼊缓冲器和1个数据输出锁存器/缓冲器。

所以B 输⼊锁存,输出不受到锁存。

端⼝C(PC0-PB7):对应1个8位数据缓冲器和1个数据输出锁存/缓冲器,所以C输⼊不锁村,输出锁存。

当8255⼯作于应答I/O⽅式时,C⼝⽤于应答信号的通信。

A、B组的逻辑控制功能A组:组成:端⼝A(PA0-PA7)和端⼝C的⾼4位(PC4-PC7)这⼏个端⼝由A组统⼀进⾏逻辑控制。

可编程并行接口芯片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及应用

微机原理  可编程接口芯片8255A及应用
33
第七章
参考程序片断: 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

CPU和外设之间的数据传送方式有哪几种?实际选择某种传输 方式时,主要依据是什么? CPU与外设之间的数据传输有以下三种方式:程序方式、中断 方式、DMA方式。 其中程序方式又可分为无条件传送方式和查询方式两种方式。 在CPU外设传送数据不太频繁的情况下一般采用无条件传送 方式。 在CPU用于传输数据的时间较长且外设数目不多时采用查询 方式。 在实时系统以及多个外设的系统中,为了提高CPU的效率和 使系统具有实时性能,采用中断传送方式。 如I/O设备的数据传输效率较高,那么CPU和这样的外设进 行数据传输是,即使尽量压缩程序查询方式和中断方式中的 非数据传输时间,也仍然不能满足要求。这是因为在这两种 方式下,还存在另外一个影响速度的原因,即它们都是按字 节或字来进行传输的。为了解决这个问题,实现按数据块传 输,就需要改变传输方式,这就是直接存储器传输方式,即 DMA方式。
例题:若C口的PC7位要求置1,PC3位要求置0,且控制口地 址为00EEH,请写出该片8255初始化程序。 MOV AL, 00001111B MOV DX, 00EEH OUT DX, AL MOV AL, 00000110B OUT DX, AL ;对C口的PC7置位
;对C口的PC3复位
7-2 8255应用举例
第七章 可编程并行接口芯片8255A
• 7-1 8255简介
• 7-2 8255应用举例
7-1 8255简介
一、8255结构及引脚功能 二、8255工作方式 三、8255初始化
一、8255结构及引脚功能 1.结构引脚:由四部分组成。
(1)数据总线缓冲器(D0-D7):实现8255同CPU之间数 据交换,CPU通过执行IN,OUT指令实现发送接收数据, CPU向8255发出的控制字,状态字都由它传送。 (2)读写控制逻辑:接收CPU的A0,A1,RD,WR,CS, 将这些信号组合后得到对A组B组部件的控制命令。其中 A0,A1为片内寻址,决定了8255有四个端口地址,A2A19为片外寻址线,通过地址译码器连到CS端。 (3)数据端口A,B,C:为三个独立的输入/输出口(与 外设连接)。 (4)A组B组控制电路:这两组控制电路根据CPU发出的方 式选择字来控制8255的工作方式,一方面接收芯片内部 总线上的控制字,一方面接收来自读/写控制逻辑电路 的读/写命令,据此决定两组端口的工作方式和读/写操 作。

8255a并行接口芯片的基本结构及工作原理 -回复

8255a并行接口芯片的基本结构及工作原理 -回复

8255a并行接口芯片的基本结构及工作原理-回复[8255a并行接口芯片的基本结构及工作原理]是指针对特定应用设计的一种集成电路芯片,用于实现计算机系统与外部设备之间的并行通信。

本文将逐步介绍8255a并行接口芯片的基本结构和工作原理。

一、引言随着电子技术的发展,计算机系统逐渐与外部设备进行连接,实现数据的输入和输出。

为了满足不同应用场景的需求,芯片设计者提出了各种接口芯片,其中并行接口芯片是其中之一。

并行接口芯片的作用是实现计算机系统和外部设备之间的高速数据传输,其基本结构和工作原理对于提高系统的数据传输效率具有重要作用。

二、基本结构8255a并行接口芯片是一种功能强大的集成电路芯片,基本结构包括以下组成部分:1. 端口组(Port Group):8255a芯片内部包含三个8位的端口组,分别为A、B、C端口组。

每个端口组都可由外部设备进行数据的输入和输出。

同时,每个端口组都包含了相关的控制寄存器,用来设置和控制端口的工作状态。

2. 控制寄存器(Control Register):8255a芯片中的每个端口组都有一个对应的控制寄存器,用于设置和控制端口的工作模式。

其中,控制寄存器的位数和功能根据不同的芯片型号而变化。

3. 数据寄存器(Data Register):8255a芯片中的每个端口组都有一个对应的数据寄存器,用于存放从外部设备中读取的数据或要写入到外部设备中的数据。

数据寄存器的位数根据芯片型号和端口组而定。

4. 模式控制寄存器(Mode Control Register):8255a芯片内部还包含一个模式控制寄存器,用于设置和控制端口组的工作模式。

该寄存器中的位数和功能根据不同的芯片型号而变化。

三、工作原理8255a并行接口芯片的工作原理主要包括以下几个方面:1. 初始化:在开始使用8255a芯片之前,需要对芯片进行初始化设置。

通过设置控制寄存器和模式控制寄存器,可以设置端口组的输入和输出模式,以及中断使能等参数。

8255a初始化编程

8255a初始化编程
8255A是一种并行I/O接口芯片,它可以配置为三个独立的I/O端口:端口A、端口B和端口C。

以下是一个8255A 的初始化编程的简单示例:
首先,我们需要设置控制字来配置8255A的工作模式。

控制字是通过将8位数据写入控制寄存器来设置的。

控制字的每一位都有特定的含义,用于配置端口A、端口B和端口C的工作模式。

例如,如果我们想要设置端口A为输出模式,端口B为输入模式,端口C为输入模式,我们可以设置控制字为1000 0000。

这个控制字的意思是:
控制字的第0位设置为1表示使能片选信号(ENABLE),启动芯片。

控制字的第1位设置为0表示端口A为输出模式。

控制字的第2位设置为0表示端口B为输入模式。

控制字的第3位设置为0表示端口C为输入模式。

控制字的第4位到第7位未使用,因此可以忽略。

然后,我们可以将这个控制字写入8255A的控制寄存器:assembly复制代码:
OUT 8255_control_register, control_word
其中,8255_control_register是控制寄存器的地址,control_word是我们刚才计算出的控制字。

这样我们就完成了8255A的初始化编程。

之后,我们就可以使用端口A、端口B和端口C进行I/O操作了。

注意:以上代码是假设我们在使用某种汇编语言进行编程。

不同的编程语言可能有不同的语法和函数来操作硬件。

8255初始化编程步骤

8255初始化编程步骤一、引言8255是一种通用的并行I/O接口芯片,常用于嵌入式系统中。

本文将介绍8255的初始化编程步骤,帮助读者快速上手使用该芯片。

二、8255概述8255是一款具有三个I/O端口的芯片,即PA、P B和P C端口。

每个端口都可以被配置为输入或输出端口,用于与外部设备进行数据交互。

三、8255初始化编程步骤以下是8255初始化编程的详细步骤:步骤1:设置模式字模式字用于配置8255的工作模式,包括端口A、B、C的工作模式以及手动或自动方式。

模式字的格式如下:位|功能D7|A和C寄存器的工作模式选择D6|A和C寄存器的工作模式选择D5|A寄存器的操作模式选择D4|B和C寄存器的工作模式选择D3|B和C寄存器的工作模式选择D2|B寄存器的操作模式选择D1|模式选择标志:1为手动,0为自动D0|1为允许端口C访问,0为禁止端口C访问参考以下示例代码设置模式字:m o de=0b00100010;o u tp(0x80,mo de);//将模式字写入8255的控制寄存器步骤2:配置端口A和端口C针对端口A和端口C,需要进行以下设置:配置端口A1.如果端口A是输出端口,设置控制寄存器的位PA E为1。

2.如果端口A是输入端口,设置控制寄存器的位PA E为0。

参考以下示例代码进行端口A的配置:i f(o ut pu tP or tA){o u tp(0x82,0x01);//设置PA E为1,将端口A配置为输出}e ls e{o u tp(0x82,0x00);//设置PA E为0,将端口A配置为输入}配置端口C1.如果端口C是输出端口,设置控制寄存器的位PC F为1。

2.如果端口C是输入端口,设置控制寄存器的位PC F为0。

参考以下示例代码进行端口C的配置:i f(o ut pu tP or tC){o u tp(0x82,0x04);//设置PC F为1,将端口C配置为输出}e ls e{o u tp(0x82,0x00);//设置PC F为0,将端口C配置为输入}步骤3:配置端口B针对端口B,需要进行以下设置:配置端口B工作模式设置控制寄存器的位P BF E为1,将端口B配置为全双工模式。

可编程芯片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芯片初始化编程方法
8255芯片是一种并行I/O接口芯片,由Intel公司生产。

它有三个8位I/O 端口,分别为端口A、端口B和端口C,以及一个控制字寄存器。

通过向控制字寄存器写入不同的控制字,可以配置8255芯片的工作模式,包括输入、输出、中断等。

初始化8255芯片的编程方法如下:
1. 确定工作模式:根据实际需要,确定8255芯片的工作模式。

8255芯片
有四种工作模式,分别为方式0、方式1、方式2和方式3。

2. 配置控制字:根据工作模式,计算控制字的值,并向8255芯片的控制字寄存器写入控制字。

控制字的计算方法可以参考8255芯片的数据手册。

3. 配置端口:根据实际需要,向端口A、端口B和端口C写入相应的数据。

需要注意的是,向端口写入数据时需要将相应的控制位设置为1,否则数据无法写入。

4. 中断配置:如果需要使用8255芯片的中断功能,需要根据实际情况配置中断向量和中断触发方式等参数。

需要注意的是,具体的编程方法可能会因为不同的开发环境和编程语言而有所不同。

因此,在实际编程时,需要参考具体的开发环境和编程语言的相关文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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;
A
PC6和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 ; 控制寄存器端口地址为FF83H
MOV AL, 10000110B ; A口方式0, 数据输出, B口方式1, 数据输入
OUT DX, AL ; 将控制字写入控制端
【例7.2】将8255A的C口中PC0设置为高电平输出,PC5设置为低电平输出,编写初始化程序(设8255A的端口地址为FF80H~FF83H).
初始化程序如下:
MOV DX, 0FF83H ; 控制端口的地址为FF83H
MOV AL, 00000001B ; PC0设置为高电平输出
OUT DX, AL ; 将控制字写入控制端口
MOV AL, 00001010B ; PC5设置为低电平输出
OUT DX, AL ; 将控制字写入控制端口。

相关文档
最新文档