并行IO扩展芯片8255
MCS51并行口扩展8255

MOV DPTR,#80FF H MOV A,#88H MOVX @DPTR,A
B口方式0输出,C口高4位方式0输出,C口 低4位方式0输入。 练习:设8255的口地址为4000H---4003H, 口A、口B、口C均为输入方式,方式0,
MOV DPTR,#80FF H MOV A,#88H MOVX @DPTR,A
缓冲器
A组 控制
PC0~PC7:C组数据信 号,用来连接外设或者 作为控制信号。
RD
WR 读写
CS 控制
A0 A1
逻辑
RESET
B组 控制
PB0~PB7:B组数据信 号,用来连接外设。
口A
PA0~PA7
口C 高4
PC4~PC7
口C PC0~PC3 低4
口B
PB0~PB7
M82C55S-与518并9C行51口的的连扩展接 图
方式1主要用于中断应答式数据传送,也可用于连续查询式数据传送。输入和输 出时8255与外围设备的连接方式不同,数据传送过程也不同。
D0~D7 RD WR CS A1 A0 RESET
8255
PA0~PA7
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PB0~PB7
+5V BUSY STB D0~D7 微型打印机
MCS-51并行口的扩展
MCS-51并行口的扩展
MCS51单片机内部有4个并行口,当内部并行口不够用 时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2 类:不可编程的并行口芯片(74LS3734和74LS245)和可编 程的并行口芯片(8255)。
1 不可编程并行口芯片的扩展 2 可编程并行口芯片的扩展
最为常用。 ② 方式1――选通输入/输出――中断方式;A ,B,两个端口均可。 ③ 方式2――双向输入/输出――中断方式。只有A端口才有。 注意:工作方式的选择可通过向控制端口写入方式控制字来实现。
8255编程方法

8255编程方法
8255是一款并行I/O接口芯片,用于扩展微处理器的并行I/O端口。
以下
是8255的编程方法:
1. 初始化8255
在编程8255之前,需要对其进行初始化,为其分配输入输出端口、工作方式和控制字。
这些设置可以在写入控制寄存器时完成。
控制字定义了8255
的工作模式和输入输出端口。
2. 设置控制字
控制字用于设置8255的工作模式和输入输出端口。
控制字由三个部分组成:工作方式选择位、端口A和端口B选择位、C口高4位选择位。
控制字的
每一位都有特定的含义,需要根据需要进行设置。
3. 读写数据
通过8255的输入输出端口进行数据读写时,需要遵循特定的时序要求。
输入时序要求是:先写入输入选择字节,然后读入数据;输出时序要求是:先写入输出数据,然后写入输出选择字节。
在读写数据时,需要保证时序正确,否则可能导致数据传输错误。
4. 结束操作
在完成数据传输后,需要将8255的控制寄存器清零,以结束操作。
以上是8255的编程方法,需要根据具体的硬件设备和应用需求进行编程操作。
微机原理8255的应用

微机原理8255的应用1. 简介本文档将介绍微机原理中的8255芯片的应用及其相关知识。
8255是一款常用的并行输入输出(PIO)芯片,广泛应用于微机原理的实验和应用中。
本文将从以下几个方面进行介绍:1.8255芯片的功能及特点2.8255芯片的引脚功能3.8255芯片的工作原理4.8255芯片的应用案例2. 8255芯片的功能及特点8255芯片是一种通用的并行输入输出接口芯片,可以提供多种不同的I/O操作模式。
其主要功能如下:•提供三个8位的I/O端口A、B和C,可以通过编程定义其为输入或输出端口。
•支持模式0、模式1和模式2三种工作模式,可以通过编程控制选择不同的模式。
•可以通过编程设置端口的工作模式和数据传输方式。
•可以通过编程控制和操作I/O端口的数据。
8255芯片的主要特点如下:•低功耗设计,适合在嵌入式系统中使用。
•高可靠性和稳定性,能够在不同环境下正常工作。
•兼容性强,可以与多种微处理器和控制器连接使用。
3. 8255芯片的引脚功能8255芯片共有40个引脚,每个引脚的功能如下:•一号引脚(VCC):芯片的供电电源。
•二号引脚(GND):芯片的接地引脚。
•三号引脚(A0)至四号引脚(A1):用于编程选择工作模式。
•五号引脚(CS):芯片的片选引脚,通过将其接地来选择芯片。
•六号引脚(RD):读取端口数据的引脚。
•七号引脚(WR):写入端口数据的引脚。
•八号引脚(RESET):芯片的复位引脚。
•九号引脚至十六号引脚(PA0至PA7):端口A的数据线。
•十七号引脚至二十四引脚(PB0至PB7):端口B的数据线。
•二十五号引脚至三十二号引脚(PC0至PC7):端口C的数据线。
4. 8255芯片的工作原理8255芯片是通过控制寄存器对其进行编程来实现不同功能的。
通过编程控制控制寄存器的值,可以选择端口的工作模式、数据传输方式等。
8255芯片的工作原理如下:1.初始化8255芯片,设置控制寄存器的值。
8255并行扩展

CS
1. 8255的内部结构
(1)A口、 B口和 C 口。 A口、 B口和 C口均为 8 位 I/O 数据口, 但结构上略有差别。A口由一个8位的数据输出缓冲/锁存器和
一个 8 位的数据输入缓冲 / 锁存器组成。 B 口由一个 8 位的数据
输出缓冲/锁存器和一个8位的数据输入缓冲器组成。三个端口 都可以和外设相连,分别传送外设的输入/输出数据或控制信
2. 8255A的端口选择和基本操作
•A1 •0 •0 •1 •0 •0 •1 •1 •X •1 •A0 •0 •1 •0 •0 •1 •0 •1 •X •1 •RD •0 •0 •0 •1 •1 •1 •1 •X •0 •WR •1 •1 •1 •0 •0 •0 •0 •X •1 •CS •0 •0 •0 •0 •0 •0 •0 •1 •0 •操作 •从PA口输入 •从PB口输入 •从PC口输入 •从PA口输出 •从PB口输出 •从PC口输出 •从命令口输入 •高阻态 •非法态
•X
•x
•1
•1
•0
•高阻态
3. 8255A的控制字
• 8255有两个控制字: 方式控制字 方式控制字用于设定单片机的PA口、PB口和PC口 的工作方式。
置位/复位控制字 置位/复位控制字用于对8255A的PC口按位进行操 作。
方式控制字
方式控制字
D7 D6 D5 D4 D3 D2 D1 D0
置位/复位控制字
D7 × × × D3 D2 D1 D0
0: 复位 1: 置位 位选择 000 001 010 011 100 101 110 111 0: 位操作
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
8255A的工作方式
实验七 8255 并行IO扩展实验

实验七8255 并行I/O扩展实验一、实验要求利用8255 可编程并行口芯片,实现输入、输出实验,实验中用8255PA 口作读取开关状态输入,8255PB 口作控制发光二极管输出。
二、实验目的1、了解8255 芯片结构及编程方法。
2、了解8255 输入、输出实验方法。
三、实验电路及连线1、Proteus 实验电路2、硬件验证实验硬件连接表四、实验说明1、8255A 芯片简介:8255A 可编程外围接口芯片是INTEL 公司生产的通用并行接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式2、使8255A 端口A 工作在方式0 并作为输入口,读取Kl-K8 个开关量,PB 口工作在方式0作为输出口。
五、实验程序流程图六、实验步骤1、Proteus 仿真a.在Proteus 中打开设计文档8255_STM.DSN;b.建立实验程序并编译,仿真;c.如不能正常工作,打开调试窗口进行调试。
参考程序:CODE SEGMENTASSUME CS:CODEIOCON EQU 8006HIOA EQU 8000HIOB EQU 8002HIOC EQU 8004H START:MOV AL,90HMOV DX,IOCONOUT DX,ALNOPSTART1:NOPNOPMOV AL,0MOV DX,IOAIN AL,DXNOPNOPMOV DX,IOBOUT DX,ALJMP START1 CODE ENDSEND START2、实验板验证a.通过USB 线连接实验箱b.按连接表连接电路c.运行PROTEUS 仿真,检查验证结果。
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位数据的读/写操作,控制字和状态信息也通过数据总线传送。
实验 并行IO口8255扩展

}
}
//刷新显示一段时间后递增1,形成滚动效果,最大索引为14
i= (i+1)%15;
}
}
0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
//共阳极的7段集成式数码管对应编码
// 0:0xc0
// 1:0xcf
// 2:0xa4
// 3:0xb0
// 4:0x99
// 5:0x92
// 6:0x82
// 7:0xf8
// 8:0x80
#define PC XBYTE[0x0002] //定义8255B地址
#define COM XBYTE[0x0003] //定义8255B控制寄存器地址
//待显示字符队列编码
uchar code DSY_CODE_Queue[ ]=
{0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
// 9:0x90
// A:0x88
// B:0x83
// C:0xc6
// D:0xa1
// E:0x86
// F:0x8e
// DOT:0x7f
// -:0xaf
//数码管选通
uchar DSY_Index[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
实验三并行I/O口8255扩展
一、实验目的
1、了解8255A芯片的结构以及编程方法
2、掌握通过8255A并行口读取开关数据的方法
二、实验说明
本次实验用通过8255扩展接口,仅通过P0端口控制8只集成式7段数码管的显示控制。8255A的PA、PB端口分别连接8位数码管的段码和位码,程序控制数码管滚动显示一串数字。
可编程的并行输入输出接口芯片8255的硬件描述

CS
A1A0
RD
WR
端口
功能
0
0 0
0
1
A口
读A口
0
0 0
1
0
A口
写A口
0
0 1
0
1
B口
读B口
0
0 1
1
0
B口
写B口
0
1 0
0
1
C口
读C口
0
1 0
1
0
C口
写C口
0
1 1
1
0
控制口
写状态字
1
ΧΧ
Χ
Χ
Χ
总线高阻
3.并行I/O总线分三组,PA7—PA0:双向I/O总线,通过状态字设定输入或输出状态,用来传输数据,也可以设定为双向口传输数据方式;PB7—PB0:双向I/O总线,通过状态字设定输入或输出状态,用来传输数据; PC7—PC0:双向数据/控制总线,用来传送I/O数据或控制/状态信息,可以设定为输入或输出方式,也可设定为控制/状态方式,有控制字决定。若8255处于模式0,则PC7—PC0位数据总线;若8255处于模式1或模式2,则PC7—PC0作为控制/状态线用。
MOVX A,@DPTR;读入PA口数据
MOV DPTR,#0001H;PB口地址为0001H
MOVX @DPTR,A;写入PB口
SJMP MAIN1
;PC口的位控方式
SETB P2.1
SETB P2.0
CLR P2.1
CLRP2.0
MAIN:MOV DPTR,#0003h
MOV A,#01h
MOVx @DPTR,A
;PA,PB模式0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
1
1
PC7
8255与单片机的连接
74LS373
AT89C51
P0.0-P0.7 ALE P2.7 WR RD RESET 8D G Q0 Q1 OE
D0-D7
PA
A0 A1
8255
CS WR RD RESET
PC
PB
EA
+5V
接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:7000H PB口:7001H PC口:7002H 命令口:7003H
8255与单片机的连接
74LS373
AT89C51
P0.0-P0.7 ALE 8D G Q0 Q1 Q7 OE WR RD RESET
D0-D7 PA A0 A1 CS PC7 PC0
微型 打印机
8255
WR RD RESET
EA
+5V
Q7接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:0000H PB口:0001H PC口:0002H 命令口:0003H
CPU向PA口输出数据
CPU向PB口输出数据 CPU向PC口输出数据 对控制寄存器写控制字 初始化8255时必须做的工作 没有选中,8255不工作 非法状态 非法状态 8255对系统总线呈高阻态 控制寄存器只能写不能读 8255对系统总线呈高阻态 向8255的I/O口写有效
注意:对PA,PB,PC三个口的任何读/写操作,就是对 PA,PB,PC这三个寄存器进行I/O操作.第4个寄存器是 控制字寄存器(命令字寄存器)
K0 K1 K2 K3 K4 K5 K6 K7
图8.5 简单I/O接口扩展电路
74HC244
简单并行I/O扩展(锁存器扩展) 在单片机的I/O口线不够用的情况下,可以借助 外部器件对I/O口进行扩展。可资选用的器件很 多,方案也有多种。
CLR VCC 1Q 8Q 1D 8D 2D 7D 2Q 74LS273 7Q 3Q 6Q 3D 6D 4D 5D 4Q 5Q GND CLK OE VCC 1Q 8Q 1D 8D 2D 7D 2Q 74LS373 7Q 3Q 6Q 3D 6D 4D 5D 4Q 5Q GND G OE VCC 1Q 8Q 1D 8D 2D 7D 2Q 74LS374 7Q 3Q 6Q 3D 6D 4D 5D 4Q 5Q GND CLK
也可以是:007CH,007DH,007EH,007FH……
8255的编程应用 例:初始化A口,B口,C口为基本I/O输出口 MOV DPTR,#7003H ;指向控制字寄存器 MOV A, #80H ; A,B,C口均为输出口 MOVX @DPTR, A ;装入 按照8255控制寄存器方式控制字格式写命令
D0 D1 D2 D3 D4 D5 D6 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7
+5V
74HC273
80C51
WR P2.0 RD
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 G
D0 D1 D2 D3 D4 D5 D6 D7
D7 D6 D5 D4 D3 D2 D1 D0
特征位 A组方式选择
A 口 = =
CH 口 = =
B组方 式选择
B 口 = =
CL 口 =
=
=
=
=1
0 0
1
0:方式 0 1 0 1 0 1 0 1 0 , , , , , , , , 1:方式 1 输 输 输 输 方 方 输 输 X:方式 2 入 出 入 出 式 式 入 出 1 0
PB0 PB1 PB2 PB5 PB4 PB3
◆ 40条引脚,DIP封装。须注意 VCC与GND引脚的位置。
40 PIN
8255的PA,PB,PC口的三种工作方式:
工作方式 0 A口 基本输入/输出 输出锁存, 输入三态 B口 C口 基本输入/输出 基本输入/输出 输出锁存, 输入三态 输出锁存, 输入三态
8255控制寄存器:接受控制命令,告诉8255以何种方 式工作。其地址是A1,A0=11。它可以接受两条命令, 第一条命令叫“方式控制字”,方式控制字格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
特征位 A组方式选择 =1
A 口 = =
CH 口 = =
B组方 式选择
B 口
= =
CL 口 =
图 8.3 总线驱动器芯片管脚 (a)单向驱动器 (b)双向驱动器
第8章 并行接口 2. 总线驱动器的接口
图 8.4 8051与总线驱动器的接口 (a) P2 口的驱动 (b) P0 口的驱动
第8章 并行接口
8.2并行输入/输出接口的简单扩展
一、简单I/O口的扩展
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
8.3 8255A可编程并行I/O接口的扩展
可编程并行I/O接口芯片8255扩展I/O PA3 PA4 8255的基本特性与引脚: PA2 PA5 ◆ PA,PB,PC 三个8位I/O口; PA1 PA6 PA0 PA7 一个8位的数据口D0~D7。 RD WR CS RESET ◆ PC口分高4位和低4位。高4位 GND D0 A1 D1 可与PA口合为一组(A组),低4 A0 D2 位可与PB口合为一组(B组)。 PC7 D3 8255 PC6 D4 ◆ PC可按位置位/复位。 PC5 D5 PC4 D6 ◆ 3种工作方式。内部有4个寄存 PC0 D7 PC1 VCC 器,由A1,A0与读,写信号选择。 PC2 PB7 片选低有效,复位高有效。 PC3 PB6
第8章 并行接口
第8章 并行接口
本讲重点: 片外RAM与片外ROM扩展(参考范例应用) 简单I/O扩展 (选用锁存器与驱动器) 扩展8255 (初始化,电路及应用)
8.1 外部总线的扩展 8.2 并行输入/输出接口的简单扩展 8.3 8255A可编程并行I/O接口
第8章 并行接口
8.1 外部总线的扩展
通常输出需要锁存,输入需要缓冲。但并非一成不变
简单I/O扩展(缓冲/驱动器扩展)
P0.0-P0.7 P2.1 WR 单片机 或门 P2.0 RD ≥1 ≥1 D0 D7 CLK D0 D7
输出
锁存器 74LS273
或门 D0 D7
CE1 CE2
D0 D7
输入
缓冲器 74LS244
输入指令: MOV DPTR,#0200H MOVX A, @DPTR 输出指令: MOV DPTR,#0100H MOVX @DPTR, A
1 2
应答式输入/输出 输入/输出均锁存
应答式双向输入/输出 输入/输出均锁存
应答式输入/输出 输入/输出均锁存 B口无此方式
提供A口和B口的 应答信号
提供A口的 应答信号
◆ 三种方式中只有方式 0 用得最多且最容易使用。 基本输入/输出方式 就是简单输入/输出方式。 ◆ 方式1 和方式2 使用复杂。因单片机能自动提供 各种应答信号,这两种方式已很难见到再有人用 于单片机系统。
负载, 因此驱动器除了对后级电路驱动外,还能对负载的波动变
化起隔离作用。 在对TTL 负载驱动时, 只需考虑驱动电流的大小; 在对MOS 负载驱动时, MOS负载的输入电流很小, 更多地要考虑对分布 电容的电流驱动。
第8章 并行接口 1. 常用的总线驱动器 系统总线中地址总线和控制总线是单向的, 因此驱动器
A组
B组
8255的方式0
8255的方式2
8255的端口选择表
A1A0 RD WR CS 操 作 说 明
0 0
0 1 1 0 0 1 0 1 1 X 0 1 0 0 X 1 1 0 1 0 0
CPU读取PA口数据
CPU读取PB口数据 CPU读取PC口数据 从8255的I/O口读有效
0 0
0 1 1 0 1 1 X X 1 1 X X
选中PCx引脚 PC0 PC1 PC2 PC3 PC4 PC5 PC6
例如:设8255的控制寄存器在 系统中的地址是0003H,要将PC5 引脚置1, 可用如下指令完成: MOV DPTR,#0003H MOV A,#0BH MOVX @DPTR,A
选中的 位将要 输出的 状态 1 0 , , 置 清 1 0 = =
PA,PB,PC口的三种工作方式示意图:
地址总线 控制总线 数据总线 PC口 A
7 6 5 4 3 2 1 0
B
PA0-7 Байду номын сангаас制线 控制线
A组
PB0-7
B组
RD WR
A
D7——D0 C
A1 A0
B A
8255的方式1
PC口
7 6 5 4 3 2 1 0
B
PA0-7
PC4-7
PC0-3
PB0-7 PA0-7 控制线 A组 I/O PB0-7 B组
;8255 控制字寄存器地址 ;初始化A,B,C口为基本输出口
;8位高/低电平相间输出 ;8255 A口地址 ;8255 B口地址(0FFD9H) ;8255 C口地址(0FFDAH) ;延时 ;取反 ;跳到REPT去循环
8255硬件实验—8255 A.B.C口输出方波
PA0输出
PA1输出
PA2输出
=
=
=
0
0 1
0:方式 0 1 0 1 0 1 0 1 0 , , , , , , 1:方式 1 输 输 输 输 , , 输 输 方 方 入 出 入 出 式 式 入 出 X:方式 2 1 0
A组 B组
1 0 , , 输 输 入 出
注意:对同一控制寄存器可写两种命令,故必须在命令本身用 “特征位”加以区别。第二条命令的特征位=0