文档库 最新最全的文档下载
当前位置:文档库 › 8255芯片及其应用

8255芯片及其应用

8255芯片及其应用
8255芯片及其应用

8255芯片及其应用

学院(系):机电信息工程学院

专业:机械设计制造及其自动化学生姓名:………

学号:……

一.简介

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。

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进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:

(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。

(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。

(3)控制总线CB:片选信号CS、复位信号RST、写信号WR、读信号RD。当CPU要对8255进行读、写操作时,必须先向8255发片选信号CS选中8255芯片,然后发读信号RD或写信号WR对8255进行读或写数据的操作。

2.与外设接口部分

根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:

(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。

(2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。

(3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。

3.控制器

8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:

(1)A组控制器:控制A口与上C口的输入与输出。

(2)B组控制器:控制B口与下C口的输入与输出。

二.8255芯片引脚与CPU的连接

1.引脚图

1.一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。

2.具有24个可编程设置的I/O口,即3组8位的I/O口,分别为PA口、PB口和PC口。它们又可分为两组12位的I/O口:A组包括A口及C口(高

4位,PC

4~PC

7

),B组包括B口及C口(低4位,PC

~PC

3

)。A组可设置为基本的

I/O口,闪控(STROBE)的I/O闪控式,双向I/O三种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.

图1 8255的引脚图

2.引脚说明

RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

:芯片选择信号线,当这个输入引脚为低电平时,即=0时,表示芯片被选

中,允许8255与CPU进行通讯;=1时,8255无法与CPU做数据传输。

:读信号线,当这个输入引脚为低电平时,即=0且=0时,允许8255

通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

:写入信号,当这个输入引脚为低电平时,即=0且=0时,允许CPU

将数据或控制字写入8255。

D

0~D

7

:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入

输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA

0~PA

7

:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8

位的数据输入锁存器。

PB

0~PB

7

:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输

出缓冲器。

PC

0~PC

7

:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8

位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

A

1,A

:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。

当A

1

=0, A

=0时,PA口被选择;

当A

1

=0, A

=1时,PB口被选择;

当A

1

=1, A

=0时,PC口被选择;

当A

1

=1. A

=1时,控制寄存器被选择。

3.8255的工作方式

由8255的定义可知,8255有3种工作方式,这3种工作方式如表1所示。方式0为基本I/O输入/输出方式,这是8255最常用,也是最基本的工作方式。方式1为应答I/O方式,当8255工作于应答I/O方式时,上C口作为A口的通信线,下C口作为B口的通信线。方式2为双向应答I/O方式,此方式仅A口使用,B口无双向I/O应答方式。8255的3种工作方式的选择由8255工作方式选择字决定,下面介绍8255的工作方式选择字。如表一所示

表1 8255的工作方式

三.应用实例

8255A组成交通灯的控制,编写程序实现下列功能:

K0、K1、K2全部闭合时,红灯亮;K0、K1、K2全部打开时,绿灯亮;其他情况黄灯亮。

根据电路图可知:8255工作于方式0,A口作输入口,B口作输出口。

方式控制字为:10010000.

端口A的地址为:340H,端口B的地址为341H,控制字寄存器地址为343H。程序如下:

MOV DX, 343H ;控制字端口地址

MOV AL,90H ;方式控制字

OUT DX, AL ;初始化8255

AGAIN: MOV DX, 340H ;送端口A地址

IN AL,DX ;读端口A

AND AL,00000111B ;取A口的低3位

CMP AL, 00000111B ;判断是否全部打开

JE GREEN

CMP AL, 00000000B ;判断是否全部闭合

JE RED

MOV AL, 1 ;黄灯亮

JMP OUTPUT

RED: MOV AL, 4 ;红灯亮

JMP OUTPUT

GREEN: MOV AL, 2 ;绿灯亮

OUTPUT : MOV DX, 341H ;B口端口地址OUT DX, AL

JMP AGAIN

HLT

A/D 转换原理及应用

学院(系):机电信息工程学院

专业:机械设计制造及其自动化

学生姓名:申海龙

学号:2009022515

一.简介

数字信号处理系统具有精度高、抗干扰能力强、便于实现复杂而有力的算法、易于集成化和微型化的优点, 随着VLSI技术的迅猛发展,电子系统尤其是音响和通信的数字化进程大大加快。导致了对高性能A/D,D/A转换器要求的剧增。因此, 如何在已有的标准VLSI工艺上研究和开发高性能的A/D,D/A转换器及其与数字系统和单片集成以提高性能/价格比的课题引起了人们浓厚的兴趣。

二.A/D转化电路。

亦称“模拟数字转换器”,简称“模数转换器”。将模拟量或连续变化的量进行量化(离散化),转换为相应的数字量的电路。

A/D变换包含三个部分:抽样、量化和编码。一般情况下,量化和编码是同时完成的。

抽样是将模拟信号在时间上离散化的过程;

量化是将模拟信号在幅度上离散化的过程;

编码是指将每个量化后的样值用一定的二进制代码来表示。

一。什么是a/d.d/a转换:

随着数字技术,特别是信息技术的飞速发展与普及,在现代控制。通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。由于系统的实际对象往往都是一些模拟量(如温度。压力。位移。图像等),要使计算机或数字仪表能识别。处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析。处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路-模数和数模转换器。

将模拟信号转换成数字信号的电路,称为模数转换器(简称a/d转换器或adc,analog to digital converter);将数字信号转换为模拟信号的电路称为数模转换器(简称d/a转换器或dac,digital to analog converter);a/d转换器和d/a转换器已成为信息系统中不可缺俚慕涌诘缏贰?br>为确保系统处理结果的精确度,a/d转换器和d/a转换器必须具有足够的转换精度;如果要实现快速变化信号的实时控制与检测,a/d与d/a转换器还要求具有较高的转换速度。转换精度与转换速度是衡量a/d与d/a转换器的重要技术指标。随着集成技术的发展,现已研制和生产出许多单片的和混合集成型的a/d和d/a转换器,它们具有愈来愈先进的技术指标。

二。d/a和a/d转换器的相关性能参数:

d/a转换器是把数字量转换成模拟量的线性电路器件,已做成集成芯片。由于实现这种转换的原理和电路结构及工艺技术有所不同,因而出现各种各样的

d/a转换器。目前,国外市场已有上百种产品出售,他们在转换速度。转换精度。分辨率以及使用价值上都各具特色。

d/a转换器的主要参数:

衡量一个d/a转换器的性能的主要参数有:

(1)分辨率

是指d/a转换器能够转换的二进制数的位数,位数多分辨率也就越高。

(2)转换时间

指数字量输入到完成转换,输出达到最终值并稳定为止所需的时间。电流型

d/a转换较快,一般在几ns到几百ns之间。电压型d/a转换较慢,取决于运算放大器的响应时间。

(3)精度

指d/a转换器实际输出电压与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位。

(4)线性度

当数字量变化时,d/a转换器输出的模拟量按比例关系变化的程度。理想的d/a转换器是线性的,但是实际上是有误差的,模拟输出偏离理想输出的最大值称为线性误差。

a/d转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理和采用工艺技术不同,因此生产出种类繁多的a/d转换芯片。a/d转换器按分辨率分为4位。6位。8位。10位。14位。16位和bcd码的31/2位。51/2位等。按照转换速度可分为超高速(转换时间≤330ns),次超高速(330~3.3μs),高速(转换时间3.3~333μs),低速(转换时间>330μs)等。a/d转换器按照转换原理可分为直接a/d转换器和间接a/d转换器。所谓直接a/d转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型a/d转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化a/d

芯片采用逐次逼近型者多;间接a/d转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。其中积分型a/d转换器电路简单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。有些转换器还将多路开关。基准电压源。时钟电路。译码器和转换电路集成在一个芯片内,已超出了单纯a/d转换功能,使用十分方便。

三.模/数转换器原理

A/D转换器的工作原理实现A/D转换的方法很多,常用的有逐次逼近法、双积分法及电压频率转换法等。

逐次逼近法:速度快、分辨率高、成本低,在计算机系统得到广泛应用。逐次逼近法原理电路类同天平称重。在节拍时钟控制下,逐次比较,最后留下的数字砝码,即转换结果。

图1 逐次逼近法A/D转换器

采用逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成。它的基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。

逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo<Vi,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的Vo再与Vi比较,若Vo<Vi,该位1被保留,否则被清除。重复此过程,直至逼近寄存器最低位。转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数字量的输出。逐次逼近的操作过程是在一个控制电路的控制下进行的。

四.A/D转换类型

A/D转换器的类型很多,目前应用广泛的有三种类型:逐次逼近型、双积分型和V/F型。A/D转换器与单片机的接口方式有串口和并口两种。

(1)逐次逼近型A/D转换器

图2所示为逐次逼近型A/D转换器原理图,它由D/A转换器、比较器、输出锁存器、移位寄存器和逻辑控制器组成。其工作原理是:首先,将输出锁存器的最高位置1,然后将D/A转换器的输出屯压信号U

i

和输入电压信号K。进行比较。

若U

i

in

,则输出锁存器的最高位保持1;反之,则锁存器的最高位设置为0,确

定并保持最高位状态。其次,把次高位置1,依上面的方法确定其状态。从高位

到低位逐次V

in 位比较(N为A/D位数),使U

i

逼近输入信号V

in

,直到输出锁存器

的最后一位。这时,D/A转换器的输入数据即为模/数转换后的数据,控制器控制输出寄存器将其输出。逐次逼近型A/D转换器的特点是转换速度比较快,价格适中,精度较高,因此在单片机系统中被广泛应用。

图2逐次逼近型A/D转换器

(2)双积分型A/D转换器

双积分型A/D转换器的原理图如图5.16所示,它由电子开关、积分器、比较器、逻辑控制器和计算器等部件构成。所谓双积分,是指进行一次A/D转换需要进行两次积分。

双积分型A/D转换器的工作原理是:模拟电压信号Vi加到积分器进行固定时间(死)的积分,接着切换电子开关,将与Vi。极性相反的标准电压信号Vr 加到积分器上,积分电路从刚才积分的终值开始反向积分,由于Vr恒定,所以积分输出将以恒定的速度下降,直到积分器输出为零,此时发出“数据有效”状态,将数据输出。反向积分时间Ti与Vi。时间定值积分的终值成比例关系,A/ D转换的结果数据通过测量反向积分的时间乃计算出输入电压值。双积分转换过程通过对输入信号的不断积分能对噪声或变化的输入信号进行平滑,因此双积分型A/D转换器具有精度高,抗干扰性强,价格便宜等特点,只是转换速度较慢(每秒10次左右),是一种中速的A/D转换器。典型的器件有MC14433(三位半)和ICL7135(四位半)等。

(3) V/F型A/D转换器

V/F型AfD转换器把输入模拟信号电压转换为频率信号送入单片机,可以简单地将其理解为一个压控振荡器。使用V/F型转换器进行A/D转换具有良好的精度、线性和积分输入特性,常能实现其他类型转换器无法实现的功能。

在前向通道中,采用V[F型转换器代瞽普通的A/D转换器,可以大大简化前向通道。采用V/F型转换器与计算机连接具有以下优点。

①接口简单。占用计算机资源少,对于一路模拟信号只占用一个输入I/O口。

②频率输入信号灵活。可以输入单片机I/O口线,也可作为中断源输入、计数输入等。

③抗干扰能力强。频率测量本身是个计数过程。V/F转换过程是对输入信号的不断计数,因而能对噪声或变化的输入信号进行平滑。另外,V/F转换与计算机的接口很容易采用光电隔离。

便于远距离传输。V/F型A/D转换器还可以调制在射频信号上进行无线传播,实现遥控,也可以调制成光脉冲,可用光纤传送,不受电磁干扰。

基于以上这些优点,在一些非快速过程的前向通道中,通常使用lUF转换器代替通常的A/D转换器,常用的器件有LM331等,但V/F型A/D转换器也有转换速度慢,数据定标麻烦等特点。

五.ADC0809与CPU的连接及其应用

(1)DDA、ADDB、ADDC三端可直接连接到CPU地址总线A0、A1、A2三端,但此种方法占用的I/O口地址多。每一个模拟输入端对应一个口地址,8个模拟输入端占用8个口地址,对于微机系统外设资源的占用太多,因而一般ADDA、ADDB、ADDC分别接在数据总线的D0、D1、D2端,通过数据线输出一个控制字作为模拟通道选择的控制信号。

(2) ALE信号为启动ADC0809选择开关的控制信号,该控制信号可以和启动转换信号START同时有效。

(3) ADC0809芯片只占用一个I/O口地址,即启动转换用此口地址,输出数据也用此口地址,区别是启动转换还是输出数据用IOR,IOW信号来区分。硬件

电路接线如图11.5所示。

图3 ADC0809和PC机系统总线的接线图。

当A/D转换结束,ADC输出一个转换结束信号数据。CPU可有多种方法读取转换结果:

①查询方式;②中断方式;③延时方式;

④ DMA 方式;⑤时钟的提供;⑥参考电压的接法;⑦无条件传送方式

下面举例说明如何编写A/D转换程序。

例1利用图3,采用无条件传送方式,编写一段轮流从IN0~IN7采集8路模拟信号,并把采集到的数字量存入0100H开始的8个单元内的程序。

图3 ADC0809和PC机系统总线的连接图

MOV DI,0100H ;设置存放数据的首址

MOV BL,08H ;采集8次计数器

MOV AH,00H ;选0通道

AA1∶ MOV AL,AH

MOV DX,ADPORT ;设置ADC0809芯片地址

OUT DX,AL ;使ALE、START有效,选择模拟通道,见图11.5

MOV CX,0050H

WAIT∶ LOOP WAIT ;延时,等待A/D转换

IN AL,DX ;使OUTPUTENABLE有效,输入数据,见图11.5

MOV [DI],AL ;保存数据

INC AH ;换下一个模拟通道

INC DI ;修改数据区指针

DEC BL

JNZ AA1

8255芯片

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。 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口没有定义,

8255A应用举例

4 8255A应用举例 在很多应用系统中,用LED作状态指示器具有电路简单、功耗低、寿命长、响应速度快等特点。LED显示器是由若干个发光二极管组成显示字段的显示器件,应用系统中通常使用7段LED显示器,如图8-15所示。 b)c) a)共阴型b)共阳型c)管脚分布 图8-15 七段数码管 以共阳极为例,各LED公共阳极接电源,如果向控制端a,b,c, …,g,dp送入00000011信号,则该显示器显示“0”字型。 控制显示各数码加在数码管上的二进制数据称为段码,显示各数码共阴和共阳七段LED数码管所对应的段码见表8-3。 表8-3 七段LED数码管的段码

下面用8255A 作为LED 数码管及4位开关与CPU 的接口,要求按照开关的二进制编码状态,显示相应的数码。如图8-16所示。 图8-16 80x86CPU 通过8255A 同开关与7段LED 显示器的接口 设当开关K3、K2、K1、 K0未合上时,各开关控制的位线为高电平1;开关接通时,各开关控制的位线为低电平0。各开关状态、数字及LED 段码的关系如表8-4所示。 表8-4 开关状态、数字及LED 段码的关系

例如:当K2未合上,K3、K1、K0均合上接通时状态为0100,表示数字4,显示代码应为99H。 设8255A端口地址为0FFFAH、0FFFBH、0FFFCH、0FFFDH。 源程序如下: DATA SEGMENT XSHDM DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H DB 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EH CNT DB 10 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS:DA TA START: MOV AX,DA TA MOV DS,AX ;以上为源程序结构通用部分. ;下面为8255A初始化程序块 MOV AL,82H MOV DX,0FFFDH OUT DX,AL LOP: MOV DL,0FBH IN AL,DX ;读B口 AND AL,0FH MOV BX,OFFSET XSHDM XLAT MOV DL,0FAH OUT DX,AL ;写入A口 CALL DELAY JMP LOP MOV AH, 4CH INT 21H DELAY PROC MOV DX,0500H LOP1: MOV CX,0FFH LOP2: NOP NOP LOOP LOP2 DEC DX JNZ LOP1 RET DELAY ENDP

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兼容

8253--8255芯片

8253芯片 基本概述 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。 执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU 可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。 工作原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 一、8253内部结构 8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。 1.数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。 2.读/写控制 读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A1A0来选择。如表9.3.1所示。 3.通道选择 (1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。

可编程并行接口芯片8255A的功能及应用

河北大学工商学院计算机接口课程结课作业 题目:可编程并行接口芯片8255A的功能及应用 姓名学号:XXXXXX 2011XXXXXX 自动化X班 XXXXXX 2011XXXXXX 自动化X班 XXXXXX 2011XXXXXX 自动化X班 XXXXXX 2011XXXXXX 通信工程X班 组别:第XXX组 指导教师:王竹毅 20XX年 XX月XX日

摘要:8255A是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口芯片,也可以与其他系列的微处理器配套使用。由于其通用性强,与微机接口连接方便,且可通过程序指定完成各种输入输出操作,因此在中小系统中有着广泛的应用。本文主要介绍了可编程并行接口芯片8255A的主要特点及其在工业控制中的应用。 关键词:微机系统;并行接口;8255A;工作方式; 并行输入/输出就是把若干个二进制位信息同时进行传送的数据传输方式,它具有传输速度快、效率高的优点。并行数据传输需用的信号线较多,不适合长距离传输,所以并行数据传输适用于数据传输率要求较高,且传输距离相对较短的场合。所谓可编程实际就是具有可选择性,并且是用编程的方法进行选择。选择端口与CPU之间采用哪种方式传送数据等,均可由用户在程序中写入方式字或控制字进行指定。Intel 8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉、使用方便,可以直接与Intel系列的芯片连接使用,其具有广泛的适应性及很高的灵活性,在微机系统中的应用十分广泛。 一、8255A的基本特性 1.1 三个数据端口A,B,C 这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。 ·A口:是一个独立的8位I/O口,内部有对数据输入输出的锁存功能。 ·B口:也是一个独立的8位I/O口,仅有对输出数据的锁存功能。 ·C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口,仅有对输出数据的锁存功能。 1.2 A组和B组的控制电路 这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置位/复位的操作。 A组控制电路用来控制A口及C口的高4位(PC4-PC7); B组控制电路用来控制B口及C口的低4位(PC0-PC3);

8255芯片说明及其应用

8255芯片 8255是可编程I/O口扩展芯片。可作为CPU总线与外围的接口.对8255输入不同的指令可改变I/O口的工作方式。 8255具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB 口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4 位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O 口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定. 8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。A、 B、C寄存器的数据就是引脚PA7~PA0、PB7~PB0、PC7~PC0上输 入或输出的数据。而控制寄存器的数据则表明PA、PB、PC的工作方式。 通过CS、A0、A1、RD和WR对4个寄存器进行操作。CS为低电平时选通8255;A1、A0为地址选通;RD和WR为读、写信号:RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。 向控制寄存器写入不同的数据可以使8255工作在三种不同的方式下。这里只介绍应用最多的方式0。方式0下8255的PA、PB及PC口上半部分(PC7~PC4)和下半部分(PC3~PC0)中任何一个端口都可以设定为输入或输出,PC口还可以进行位操作。 8255引脚功能 RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。

8255特性

8255 Characteristics (1) a parallel input / output of the LSI chip, multi-purpose I / O devices, can be used as the CPU and peripheral bus interfaces. , A group including the A I and C I (H 4, PC4 ~ PC7), B group including B I and C I (low 4, PC0 ~ PC3). A group can be set to the basic I / O port, flash control (STROBE) of I / O flash controlled, two-way I/O3 models; B group can only be set to the basic I / O or flash-control I / O in two modes, which are controlled entirely by the operating mode control register the word decision. 8255 pin function RESET: Reset input line, when the external input to the high, all internal registers (including the control register) are clear, all I / O port are input into the way home. CS: Chip Select signal line, when the input pin is low, that is, when / CS = 0 indicates that the chip is selected, 8255 to allow CPU to communicate with; / CS = 1, the 8255 can not be done with the CPU data . RD: Reading signal line, when the input pin is low, that is, / RD = 0 and / CS = 0 when the 8255 data bus allows the CPU to send data or status information, that is, to read CPU information from the 8255 or data. WR: write signal, when the input pin is low, that is, when / WR = 0 and / CS = 0 when the data allow the CPU to write 8255 words or control. D0 ~ D7: three-state bi-directional data bus 8255 and the CPU data transmission channel, when the CPU implementation of input and output directions, through its data to achieve 8-bit read / write operation, the control word and status information is also transmitted through the data bus . PA0 ~ PA7: port A input and output lines, an 8-bit data output latch / buffer and one 8-bit data input latch. PB0 ~ PB7: Port B input and output lines, an 8-bit I / O latch, an 8-bit input and output buffers. PC0 ~ PC7: port C input and output lines, an 8-bit data output latch / buffer and one 8-bit data input buffer. Port C can be set through the work and is divided into two 4-bit ports, each of the four-port contains a 4-bit latch, respectively, with the port A and port B use as a control signal or status signal output input port. ' A0, A1: address select lines used to select 8255 of the PA population, PB I, PC I and the control register. When A1 = 0, A0 = 0 when, PA I was chosen; When A1 = 0, A0 = 1 when, PB I been chosen; When A1 = 1, A0 = 0 when, PC I was chosen; When A1 = 1.A0 = 1 when the selected control register. 8255特性 (1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口. (2)具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B

8255A芯片简介及其应用

8255A芯片简介及其应用 班级: 姓名: 学号:

一、简介 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 二、内部结构 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进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下: (1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。 (2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。 (3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU 要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。 2)与外设接口部分 根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下: (1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。 (2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。 (3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。 3)控制器 8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。如图(1)所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下: (1)A组控制器:控制A口与上C口的输入与输出。

8255芯片百度百科

8255芯片 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。 8255管脚 编辑本段特性 (1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口. (2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决

定. 编辑本段引脚功能 RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。 D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。 PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。 PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。' A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器. 当A1=0,A0=0时,PA口被选择; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择; 当A1=1.A0=1时,控制寄存器被选择. 编辑本段编程模型

8255的使用

实验八可编程并行接口芯片8255A的使用2 一、实验目的 了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。 二、实验设备 (1)显示器、鼠标、键盘各一件; (2)QTH-2008PC 32位微机教学实验仪一套。 三、实验说明 1、8255A的内部结构: (1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。 (2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。 (3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组工作方式,低3位决定B 组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。 (4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。 2、8255A的工作方式: 方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式。 3、8255A的控制字: 图1 8255A方式控制字 图2 C口按位置位/复位控制字

8255的应用(C语言版本)

【实例24】用8243扩展I/O端口 #include sbit ContrBit0=P1^0; sbit ContrBit1=P1^1; sbit ContrBit2=P1^2; sbit ContrBit3=P1^3; sbit PROG=P1^4; sbit CS=P1^5; char driver8243(char sele_P,char sele_M,char out_data) { char in_data=0; char data_buf; PROG=1; //置PROG为高电平 //----------------------------------------------开始写控制字----------------------------------------------- if((sele_P&0x01)==0) //将控制字最低位送到8243的p2.0 ContrBit0=0; else ContrBit0=1; if((sele_P&0x02)==0) //将控制字第二位送到8243的p2.1 ContrBit1=0; else ContrBit1=1; //以上两位共同指定端口地址 //----------------------------------------写端口工作模式控制字---------------------------------------- if((sele_M&0x01)==0) //将端口工作模式控制字低位送到8243的p2.2 ContrBit2=0; else ContrBit2=1; if((sele_M&0x01)==0) //将端口工作模式控制字高位送到8243的p2.3 ContrBit3=0; else ContrBit3=1; //完成写控制字 PROG=0; //在PROG上产生下降沿 switch(sele_M&0x03) //判断工作模式 { case 0: break; //sele_M=B00为输入,不处理,等待上升沿 case 1: data_buf=out_data; break; //sele_M=B01为输出,直接送数据

8255的编程和使用

8255的编程和使用 姓名:王涛 学号:PB07210360 实验目的 1. 学习并掌握 8255 的工作方式及其应用; 2. 掌握 8255 典型应用电路的接法。 实验内容 基本输入输出实验。编写程序,使 8255 的 A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 实验原理 (1)INTEL 8255是一种通用的可编程并行I/O接口芯片,是专为INTEL公司的微处理器设计的,也可用于其它系列的微型机系统中。利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。8255能与许多外部设备连接,例如:键盘、显示器、打印机等。 (a)工作方式控制字 (b)C口按位置位/复位控制字 则可知,PORT_A工作方式0且输出,PORT_B工作方式0输出,工作方式控制字为

10010000B。 (2)输入/输出接口编址 输入/输出接口编址见下表。若使用IOY1,PORT A~D地址为0640H、0642H、0644H和0646H。 附表2-2 输入/输出接口编址 实验步骤 本实验使 8255 端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。用一组开关信号接入端口 A,端口B 输出线接至一组数据灯上,然后通过对 8255 芯片编程来实现输入输出功能。实验程序流程如图2-1,具体实验步骤如下述:(1)实验接线图如图2-2 所示,按图连接实验线路图; (2)编写实验程序,经编译、连接无误后装入系统; (3)运行程序,改变拨动开关,同时观察 LED 显示,验证程序功能。 图 2-1 8255基本输入输出参考程序流程图 图 2-2 8255 基本输入输出实验接线图 汇编源代码 PORT_A EQU 0640H //A口地址 PORT_B EQU 0642H//B口地址 PORT_C EQU 0646H//C口地址

单片机与8255芯片连接详解

单片机与8255芯片连接详解 就我们平时所用到8255 的功能,本人认为很简单!! 为什么这么说呢? 其实我只是把8255 看成一个139 译码器(2-4),CS 为片选,A0,A1 分别 选中PA,PB,PC,D 口(控制寄存器),唯一不同的是可以通过D 口控制 PA,PB,PC 的工作方式。先来看看8255 的引脚图51hei/chip/161.html 首先CS=0,即P25=0,然后就是通过P21,P22 分别选中几个口。所以PA 的地址可以0000-D9FF 同理PB:DBFF,PC:DDFF,CON:DFFF。 通过配置D 口来控制P 口的功能,不管三七二十一,都配置成输出就可以 (方式一)。 #include absacc.h#define a8255_PA XBYTE[0xD1FF] /*PA 口地址*/#define a8255_PB XBYTE[0xD2FF] /*PB 口地址*/#define a8255_PC XBYTE[0xDDFF] /*PC 口地址*/#define a8255_CON XBYTE[0xDFFF] /*控制字地址*/ a8255_CON=0x81; 以上是例子的程序里面配置的,由于开始没有看到这个头文件,看到这程序 感觉有点懵,后面我看了头文件的东西,哈哈,原来是这么回事啊!当然他头 文件里面有很多东西,其实只有只一句起作用:#define XBYTE ((unsigned char volatile xdata *) 0) 幸亏看ARM 的时候见过这东西,不然真的不知道怎么办了!!!! #define XBYTE ((unsigned char volatile xdata *) 0)定义:XBYTE 为指向外部地址空间 unsigned char 数据类型的指针,指针值为0(我也不知道为什么为char 型)

8255练习题及答案

8255练习题及答案 一、填空题 1、8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。 答案:D3、D2和D1 2、8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 3、8255A端口A工作在方式2时,使用端口C的________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 4、8255A的每个端口的数据寄存器的长度为____位。 答案:8 5、Intel 8255A是一个________________________接口芯片。 答案:可编程的通用并行输入输出 6、了般I/O接口的编址方式可分为________________两种方式。 答案:I/O接口单独编,与存储器统一编址 7、8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置. 答案:D3,D2和D1 8、8255A的端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 9、8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 10、8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。 答案:A0和Al 11、8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。 答案:1 12、8255A的端口A的工作方式是由方式控制字的____位决定。 答案:D6和D5 13、8255A的端口B的工作方式由方式控制字的________位决定。 答案:D2 14、8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。 答案:0 15、8255A内部具有_____个输入输出接口。 答案:3 16、8255A内部具有_______个输入输出端口。 答案:3 17、8255A的三个端口中只有端口____没有输入锁存功能。 答案:C 18、Intel8255A是一个_________________接口芯片。 答案:可编程的通用并行输入输出 19、8255A与CPU连接时,地址线一般与CPU的地址总线的__________连接。

8255芯片工作方式2用途

6.5 8255A方式2的特点 8255方式2也叫双向传输方式。该方式只适用于端口A。在方式2下,外设在8位数据总线上,既能往CPU发送数据,又能从CPU接收数据。当A端口作于方式2时,端口C中有固定的5根线配合A口工作,用来提供相应的控制信号和状态信号。(PC3、PC4、PC5、PC6、PC7配合A口)。 一、8255方式2的特点 方式2只适用于端口A。当端口A作于方式2时,端口C用5个数位自动配合端口A提供控制信号和状态信号。控制信号、状态信号和时序基本上是A口工作在方式1下的控制信号、状态信号和时序的组合。 二、方式2的信号规定和时序 我们可以方式2的信号图 与A口工作在方式1输入

和方式1输出下的信号进行比较,发现它们基本上是A口工作在方式1下的控制信号、状态信号的组合。

INTR ——中断请求信号,高电平有效 A 不管是输入还是输出,当一个过程完成而要进入下一个过程时,8255A通过这一引脚向CPU发出中断请求信号 STB *——选通信号,低电平有效 A 由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器。 ——输入缓冲器满信号,高电平有效 IBF A *的回答信号。也可以8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器,作为STB A 作为供CPU查询的信号 OBF ——输出缓冲器满信号,低电平有效 A 8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走。 ——响应信号,低电平有效 ACK A 这信号和方式一略有区别。该信号有效是,使8255A的端口A的输出缓冲器开启,送出数据,否则,输出缓冲器处于高阻状态。 ——中断允许信号,即控制中断允许或中断屏蔽的信号 INTE 1 该信号无外部引出端,它是由软件通过对C端口的置1/置0指令实现对中断的控制。PC6为0允许8255A 向CPU发中断请求信号,通知CPU往端口A输出一个数据。 ——中断允许信号,即控制中断允许或中断屏蔽的信号 INTE 2 该信号无外部引出端,它是由软件通过对C端口的置1/置0指令实现对中断的控制。PC4为0允许8255A 向CPU发中断请求信号,通知CPU从端口A输入一个数据。 方式2的时序基本上也是在方式1下输入时序和输出时序的组合。输入/输出的先后顺序是任意的,根据实际传送数据的需要选定。方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A 不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据。具体可以看时序图

可编程并行接口芯片8255A

可编程并行接口芯片8255A 并行输入/输出就是把若干个二进制位信息同时进行传送的数据传输方式。它具有传输速度快、效率高的优点。并行数据传输需用的信号线较多(与串行传输相比),不适合长距离传输。所以,并行数据传输适用于数据传输率要求较高,而传输距离相对较短的场合。 8255A是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口芯片,也可以与其他系列的微处理器配套使用。由于其通用性强,与微机接口方便,且可通过程序指定完成各种输入输出操作,因此,8255获得了广泛的应用。 8255A的引脚与结构 1.8255A的引脚 8255A是可编程的三端口并行输入输出接口芯片,具有40个引脚,双列直插式封装,由+5V供电,其引脚与功能示意图如图所示。 A、B、C三个端口各有8条端口I/O线:PA7PA0,PB7PB0,PC7PC0,共32个引脚,用于8255A与外设之间的数据(或控制、状态信号)的传送。 D0~D7:8位三态数据线,接至系统数据总线。CPU通过它实现与8255之间数据的读出与写入,以及控制字和状态字的写入与读出等。 A0~A1:地址信号。A0和A1经片内译码产生四个有效地址分别对应A、B、C 三个独立的数据端口以及一个公共的控制端口。在实际使用中,A1、A0端接到系统地址总线的A1、A0。 CS#:片选信号,由系统地址译码器产生,低电平有效。 读写控制信号RD#和WR#:低电平有效,用于决定CPU和8255A之间信息传送的方向:当RD#=0时,从8255A读至CPU;当WR#=0时,由CPU写入8255A。CPU对8255各端口进行读写操作时的信号关系如表所示。 RESRT:复位信号,高电平有效。8255A复位后,A、B、C三个端口都置为输入方式。 2.8255A的内部结构 如图所示,8255A的内部由以下四部分组成: (1)端口A、端口B和端口C 端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。当端口A和端口B

芯片8255A

芯片8255A 8255A内部结构图,它由如下几部分组成:(1)数据总线缓冲器 (2)读写控制逻辑 (3)A组和B组控制,A口及B口的高四位构成A组,B口及C口的第四 位构成B组。 (4)数据端口A、B、C 8255A的引脚: 8255A是一个40引脚双列直插式封装芯片,引脚如图所示: 关于A1、A0说明: A1、A0:端口选择线,8255A需占用4个连续的端口地址,分别用于寻址A、B、C 三个数据口及一个控制寄存期端口。 A1A0=00选择A口,A1A0=01选择B口,

A1A0=10选择C口,A1A0=11选择控制口。在8088系统中,A1A0直接接到系统地址总线的A1A0即可。 在8086系统中存在奇偶地址的问题,一般将8255A的数据线系统的低8位数据总线相连,8255A的A1A0与系统地址总线的A2A1连接,而用系统地址总线的A0=0作为该8255A的片选条件之一。这样,仍可满足8255A占4个连续地址的要求,但它实际上是占据了CPU的4个连续的偶地址。 8255单片机资料及简介 8255内部包括三个并行数据输入/输出端口,两个工作方式控制电路,一个读/写控制逻辑电路和8位总线缓冲器。各部 分功能概括如下:

(1)端口A、B、C A口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。 B口:是一个8位数据输入/输出锁存器/缓冲器和一个8位数据输入锁存器。 C口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器(输入不锁存)。 通常A口、B口作为数据输入/输出端口。C口作为控制/状态信息端口,它在“方式控制字”的控制下可分为两个4位端口,每个端口有一个4位锁存器,分别与A口、B口配合使用,作为控制信号输出或状态信息输入端口。 (2)工作方式控制电路 工作方式控制电路有两个,一个是A组控制电路,另一个是B组控制电路。这两组控制电路具有一个控制命令寄存器,用来接受中央处理器发来的控制字,以决定两组端口的工作方式,也可根据控制字的要求对C口按位清“0”或者按位置“1”。 A组控制电路用来控制A口和C口的上半部分(PC7-PC4)。B组控制电路用来控制B口和C口的下半部分(PC3-PC0)。 (3)总线数据缓冲器 总线数据缓冲器是一个三态双向8位缓冲器,作为8255与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。 (4)读/写控制逻辑电路 读/写控制逻辑电路接受CPU发来的控制信号RD、WR、RESET、地址信号A1-A0等,然后根据控制信号的要求,将端口数据读出,发往CPU,或者将CPU送来的数据写入端口。 工作方式控制字 C口按位操作控制字:

8255a简介

第九章并行通信接口与8255A 【回顾】微机系统结构及控制信号的名称和作用。 【本讲重点】I/O接口概述,CPU与I/O接口,I/O接口与系统的连接。8255A芯片的使用。 9.1 CPU与外设之间的数据传输 一.CPU与I/O接口 接口电路按功能可分为两类: ①使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等; ②输入/输出接口电路:CPU与外部设备信息的传送(接收、发送)。 最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入/输出接口和总线相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。 1.为什么要用接口电路: 需要分析一下外部设备的输入/输出操作和存储器读/写操作的不同之处: 存储器都是用来保存信息的,功能单一,传送方式单一(一次必定是传送1个字节或者1个字),品种很有限(只有只读类型和可读/可写类型),存取速度基本上和CPU的工作速度匹配.。外部设备的功能多种多样的(输入设备,输出设备,输入设备/输出设备),信息多样(数字式的,模拟式的),信息传输的方式(并行的,串行的),外设的工作速度通常比CPU的速度低得多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输入/输出过程起一个缓冲和联络的作用。 注:接口电路完成相应的信号转换、速度匹配、数据缓冲等功能 2.接口的功能(8种): ⑴寻址能力:对送来的片选信号进行识别。 ⑵输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。 ⑶数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。 ⑷联络功能:就绪信号,忙信号等。 ⑸中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。并具有优先级管理功能。 ⑹复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。 ⑺可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。

相关文档