51单片机8255A扩展IO口解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I/O PC4-PC7
B组 端口C
下半部(4)
I/O PC0-PC3
PA口 PB口 PC口低4位
PC口高四位
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
14 15 16 17 13 12 11 10
RD WR A0 A1 RESET
读写 控制 逻辑
B组 控制
B组 端口B (8) I/O PB0-PB7
单片机 8255A 外设
1. 8255A的结构及引脚功能
8255A为40引脚的双列直插式(DIP)封装
(1)引脚功能 ① D0~D7为数据线,与单片机的数据 总线连接,传数据、命令等。 ② PA0~PA7(PA口)、PB0~PB7(PB 口)、PC0~PC7(PC口)为3个8位并行 I/O口,用于8255A与外设之间传数据。 ③ 读写控制逻辑线
0 1 0 1
没接的地址线设为1,则4个端口地址为: PA=7FFCH PB=7FFDH PC=7FFEH 控制口=7FFFH
3. 8255A的控制字
8255A有两个控制字:
工作方式控制字
这两个控制字都写到8255A的控制口,用 同一个端口地址采用特征位识别。 D7=1,表示是工作方式控制字 D7=0,表示是PC口置/复位控制字
7Βιβλιοθήκη Baidu5 可编程并行I/O口的扩展
学习要点:
理解并行通信的概念及特点,掌握 8255A 的功能、工作方式、编程 方法及其应用。
8255A和8155是两种常用的可编程并行I/O 口的扩展芯 片,优点是: 一个芯片可扩展多个并行I/O口 可用软件改变接口的功能 可直接与单片机连接,进行并行数据传送 8255A是Intel系列的可编程并行接口芯片,扩展一片 可获得3个8位的并行I/O口,是一种单片机与外设之间的接 口电路。
特征位为0
C口 低4位 B口
0:输出 1:输入 0:输出 1:输入
方式 0:方式0 选择 1:方式1 A组 C口 0:输出 高4位 1:输入 A口 0:输出 1:输入
不用置000
00:方式0 方式 01:方式1 选择 1X:方式2 特征位,为1
① 工作方式控制字
作用是用来设置3个并行口作输入口还是作输出口、设置8255A的工作方式
B组控制
34 33 32 31 30 29 28 27 D0 D1 D2 D3 D4 D5 D6 D7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 4 3 2 1 40 39 38 37
A组 控制
A组 端口A (8) A组 端口C
上半部(4)
I/O PA0-PA7
数据 总线 缓冲
CS 接A7,A1、A0接CPU的A1、A0,则端口地址:
片选地址 片内地址
8031 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P2.4 P0.3 P0.2 P0.1 P0.0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
③ 读/写控制逻辑 接收CPU传来的控制信号,以控制8255A的操作
CS
WR
CS
A1、A0 、RESET
④ 数据总线缓冲器 双向三态8位缓冲器,与单片机的数据总线直接相连
2. 8255A端口的寻址
一片8255A占4个端口地址:PA口、PB口、PC口、控 制口,由/CS、A1、A0决定。
片内地址
CS
8255A
PA口: × PB口: × PC口: × 控制口:× × × × × × × × × × × × × × × × × × × × × × × × × × × × ×
CS
0 0 0 0 × × × × × × × × × × × × × × × × × × × ×
A1 0 0 1 1
A0 0 1 0 1
片选地址
A1 0 0 1 1
A0 0 1 0 1
选
择
0 0 0 0
PA口 PB口 PC口 控制口
CS 、A1、A0接单片机的地址总线,构成单片机访问8255A的16位地址。
16位总线访问地址 = 片选地址 + 片内地址
CS 、A1、A0与地址总线的连接方案不同,端口地址不同。
例如
8255A端口地址的确定
没接的地址线设为1,则4个端口地址为: PA=FF7CH PB=FF7DH PC=FF7EH 控制口=FF7FH
例如
片选地址
8255A端口地址的确定
CS 接A15,A1、A0接CPU的A1、A0,则端口地址:
片内地址
8031 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P2.4 P0.3 P0.2 P0.1 P0.0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
D7 D6 D5 D4 D3 D2 D1 D0
PC口置/复位控制字
工作方式控制字
B组
D7 D6 D5 D4 D3 D2 D1 D0
PC置/复位控制字
0:复位 1:置位 位选择 000 PC0 001 PC1 010 PC2 011 PC3 100 PC4 101 PC5 110 PC6 111 PC7
8255A CS
PA口: 0 × PB口: 0 × PC口: 0 × 控制口:0 × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × ×
A1 0 0 1 1
A0
CS ——片选信号,接单片机的地址总线
RD ——读信号,接单片机的读信号
WR ——写信号,接单片机的写信号
A1、A0 ——端口选择信号,接单片机 的地址总线,与片选/CS一起,确定8255A访 问的端口地址。
RESET——复位信号,接单片机的复位
(2)内部结构
① 并行I/O端口 有3个8位并行I/O口,PA、PB、 PC它们可以被设置成输入或输出 5 18 D0-D7 PB0 RD 36 19 ② A、B组控制电路 8255A PB1 WR 9 20 A0 PB2 8 21 A1 PB3 A、B两组控制电路将三个端口 35 22 RESET PB4 6 23 PB5 CS 24 PB6 分成A、B两组。 25 PB7 A组控制