并行IO口扩展
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并行I/O口扩展 §6-2 并行 口扩展
内容提要
1、用74系列器件扩展并行 口 、 系列器件扩展并行I/O口 系列器件扩展并行 2、可编程并行接口8255A 、可编程并行接口 3、可编程并行接口芯片8155 、可编程并行接口芯片
外部I/0端口扩展技术介绍 外部I/0端口扩展技术介绍
重点: 重点: 存储器扩展电路设计及连线, 存储器扩展电路设计及连线 , 译码 地址和译码范围, 单片机P0、 地址和译码范围 , MCS-51 单片机 、 P1口的功能。 口的功能。 口的功能 难点: 难点: 译码地址和译码范围, 译码地址和译码范围 , 端口的灵活 应用。 应用。
§6-2 并行I/O口扩展 一、用74系列器件扩展并行I/O口 常 用 并 行 I/O 扩 展 芯 片 , 如 74LS244 、 74LS245 、 273 、 74LS377等 1、74LS273
2、74LS244
3、扩展实例 高位地址组合法,如图所示:
输入:74LS244扩展K0~K7 并 由 P2.0+RD 端 , 全 0 时 , 74LS244 选 通 读 入 K0~K7状态。 实现: MOV DPTR,#FEFFH MOVX A,@DPTR ;读入 输出:74LS273扩展LED0~LED7 并由P2.0+WR端,全0时, 74LS273将P0口数据 送出,控制LED0~LED7 实现: MOVX @DPTR,A ;输出
2、8155的RAM和I/O口地址 8155的RAM和I/O口地址 RAM地址----当IO/ M 加低电平: RAM 此时AD0-AD7上得到的地址值是指8155的某 一RAM RAM单元的地址,地址范围是: RAM 0000 0000--1111 1111 分别指向8155 RAM 的256个存储单元。 I/O口地址 I/O口地址----当IO/ M 加高电平: 口地址 此时AD0-AD7 (仅用到低三位AD2、AD1、 AD0)上得到的地址值是指8155的某一I/O口的 地址,具体端口地址分配是:
是一种基本输入或输出方式,它适用于无需握手信号的 简单输入输出应用场合, 端口A、B、C都可作为输入或输出 数据使用,输出有锁存而输入无锁存。 2)方式 )方式1 也称选通的输入/输出方式。在这种方式下,无论是输入 还是输出都通过应答关系实现, 这时端口A或B用作数据口, 端口C的一部分引脚用作握手信号线与中断请求线。 若端口A工作于方式1,则B可工作于方式0; · 若端口B工作于方式1,则A可工作于方式0或余下的13位可 工作于方式0; · 若端口A和B同时工作于方式1,端口C余下的两位还可用于 传送数据或控制信号。
Y2 Y1 Y0
ALE AD0~AD7 RD WE CE PA PB
8155 PC
+5V
P1.0
IO/ M
上图中的各扩展地址分别为: 8155: 0000H、0001H、……、0005H : 0000H 0001H 、0005H
8031的P2.7-P2.3=00000时,选中8155,在此前提下,当 8031的P0口输出地址是XXXXX000-XXXXX101,且IO/ M=1时,选 中8155的各端口,即:
3、MCS-51和8255A的接口方法 如图所示为MCS-51和8255A的一种接口逻辑。 PA口、PB口、PC口、控制口的地址分别为:7FFCH、 7FFDH、7FFEH、7FFFH。
假设图中8255A的PA口接一组开关,PB接一组指示灯, 如果,要将MCS-51的寄存器R2的内容送指示灯显示,将开关状 态读入MCS-51的累加器A,则8255初始化和输入/输出程序如下: ORG 1000H R8255: MOV DPTR,#7FFFH; MOV A,#98H MOVX @DPTR,A MOV DPTR,#7FFDH MOV A,R2 MOV @DPTR,A MOV DPTR,#7FFCH MOVX A,@DPTR RET
8155的RAM和I/O口编址
AD7 AD6 AD5 AD4 AD3 AD2 AD1AD0
╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 I/O端口 命令/状态寄存器 PA口 PB口 PC口 计数器低8位 计数器高6位
0 0 0 (0000H) 命令口 0 0 1 (0001H) PA口 0 1 0 (0002H) PB口 0 1 1 (0003H) PC口 1 0 0 (0004H)计数器低 1 0 1 (0005H)计数器高
0 0 0 0
当IO/ M=0时,选中8155的RAM单元,所以: 其内部RAM地址范围是:0000H--00FFH 。
三、可编程并行接口芯片8155 与8255A相比,8155具有更强的功能,可 以扩展单片机的I/O口、定时器、外部数据存储 器RAM。 8155芯片的构成 1、8155芯片的构成 1)逻辑结构 2)引脚图 3)接口信号
8155芯片的内部结构
IO/ M
256B 静态 RAM A
口A PA0~PA7 口B
PA0-PA7 PB0-PB7 PC0-PC5 AD0-AD7 IO/ M TIMER IN TIMER OUT RD、WR ALE CE RESET
端口A的I/O线(8位,接外设) 端口B的I/O线(8位,接外设) 端口C的I/O线(6位,接外设) 三态地址/数据复用线(8位,一般接单片机P0 口,CPU与8155之间的地址、数据、命令、状 态等信号都通过它来传送) 端口/存储器 选择控制 “0”选择片内RAM “1”选择片内I/O口 8155片内定时器/计数器的计数脉冲输入引脚 8155片内定时器/计数器的计满回零输出引脚 分别是对8155片内的RAM或I/O口的的读、写控 制信号 地址锁存引脚 选片 复位引脚
二、可编程并行接口8255A 1、8255A的基本性能 可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及 8255A-5),具有24条输入/输出引脚、可编程的通用 并行输入/输出接口电路。 8255A具有三个相互独立的输入/输出通道: 通道A、通道B、通道C。 A,B,C三通道可以联合使用,构成单线、双线 或三线联络信号的并行接口。 此时C口完全服务于A、B口。 A口有三种工作方式:方式0、方式1、方式2。 B口有两种工作方式:方式0、方式1。
P2.7 ………………… P2.0 P0.7 ……… ………… P0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 端口
方式选择控制字: 方式选择控制字:
C端口置1置0控制字:
端口C的数位常常作为控制位来使用,所以,在 设计8255A芯片时,应使端口C中的各位可以用置1置0 控制字来单独设置。其具体格式如下图所示。 注意:C端口置1置0控制字尽管是对端口C进行操 作,但此控制字必须写入控制口,而不是写入C端口。
工作方式: 工作方式: 1)方式 )方式0
6116( 0800H6116(1): 0800H-0FFFH 6116( 1000H6116(2): 1000H-17FFH 分析: 根据74LS138,8031的P2.7-P2.3=00001时,选中 6116(1),在此前提下, 加上P2.2-P2.0,P0.7-P0.0低位地址,既有: 6116(1) 的地址范围是: 0000 1 000 0000 0000-0000 1 111 1111 1111 即:8000H-FFFFH。 6116(2) 同理可得:1000H-17FFH:
RESET RD WR ALE P2.4 RESET RD WR ALE IO/M
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
口A
PA0~PA7
口B 8031
P0.0 P0.1 P0.2 P.03 P0.4 P0.5 P0.6 P0.7
8155
PB0~PB7
口C
PC0~PC5
CE
2)多芯片来自百度文库展
PSEN P2.2--P2.0
A0~A7 A8~A10 OE CE WE OE A0~A7 WE OE A8~A10
P0
ALE WR RD
373 G
2716
D7~D0
6116(2)
D7~D0 CE
6116(1)
D7~D0 CE
8031
P2.3 P2.4 P2.5 P2.6 P2.7 A B C G2A G2B G1
B
接 单 片 机
AD0~AD7 CE ALE RD WR RESET
定时器输入 定时器输出
接 外 设 接 外 设 接 外 设
PB0~PB7 口C
定时器 C
PC0~PC5
8155引脚功能
AD0AD0-AD7 IO/ M RD WR ALE CE TIMER IN TIMER OUT PA0PA0-PA7 PB0PB0-PB7 PC0PC0-PC5 三态地址/ 三态地址/ 数据线 端口/ 端口/存储 器选择 读 写 地址锁存 允许 选片 定时器输 入 定时器输 出 A口端口线 B口端口线 C口端口线
2、8255A内部结构 8255A内部结构由以下四部分组成: 数据端口A、B、C;A组控制和B组控制;读/写控制逻 辑电路;数据总线缓冲器。结构如图所示
端口A:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数 据输入锁存器,可作为数据输入或输出端口, 并工作于三种 方式中的任何一种。 端口B: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器,可作为数据输入或输出端口, 但不能工作 于方式2。 端口C: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器, 可在方式字控制下分为两个4位的端口(C 端口上和下),每个4位端口都有4位的锁存器, 用来配合端 口A与端口B锁存输出控制信号和输入状态信号,不能工作于 方式1或2。 A组和B组控制的作用如下: A组控制逻辑控制端口A及端口C的上半部; B组控制逻辑控制端口B及端口C的下半部。
8155的使用 3、 8155的使用 1)8155内RAM的使用: 与一般外部数据存储器的使用基本一样, 唯一区别是事先要使IO/ M 为低电平。 2)8155各端口的使用: A、B、C各端口可工作于不同的工作方式, 使用前要进行初始化(写命令字到命令口)。
4、扩展电路的连接实例 、 1)以高位地址直接作为IO/M信号扩展,接口电路 非常简单,基本上是相同信号对接,如图:
3)方式2 )方式 也称选通的双向I/O方式,仅适用于端口A, 这时A口的 PA7-PA0作为双向的数据总线, 端口C有5条引脚用作A的握 手信号线和中断请求线,而B口和C口余下的3位仍可工作于 方式0或1。 它可以认为是方式1输出和输入的组合但有以下不 同: (1)当CPU将数据写入A口时,尽管OBF变为有效, 但数据 并不出现在PA7-PA0上, 只有外设发出ACKA 信号时, 数据 才进入PA7-PA0。 (2)输出和输入引起的中断请求信号都通过同一引脚输出, CPU必须通过查询OBF和IBF状态才能确定是输入引起的中断 请求还是输出引起的中断请求。 (3) ACKA 和STBA 信号信号不能同时有效, 否则将出现 数据传送“冲突”。
PC3 PC4
TIMER IN RESET
PC5
TIMER OUT
IO/ M CE RD WR ALE AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 Vss
8155
Vcc PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
3)常用I/O口综合扩展
线选法
8031
内容提要
1、用74系列器件扩展并行 口 、 系列器件扩展并行I/O口 系列器件扩展并行 2、可编程并行接口8255A 、可编程并行接口 3、可编程并行接口芯片8155 、可编程并行接口芯片
外部I/0端口扩展技术介绍 外部I/0端口扩展技术介绍
重点: 重点: 存储器扩展电路设计及连线, 存储器扩展电路设计及连线 , 译码 地址和译码范围, 单片机P0、 地址和译码范围 , MCS-51 单片机 、 P1口的功能。 口的功能。 口的功能 难点: 难点: 译码地址和译码范围, 译码地址和译码范围 , 端口的灵活 应用。 应用。
§6-2 并行I/O口扩展 一、用74系列器件扩展并行I/O口 常 用 并 行 I/O 扩 展 芯 片 , 如 74LS244 、 74LS245 、 273 、 74LS377等 1、74LS273
2、74LS244
3、扩展实例 高位地址组合法,如图所示:
输入:74LS244扩展K0~K7 并 由 P2.0+RD 端 , 全 0 时 , 74LS244 选 通 读 入 K0~K7状态。 实现: MOV DPTR,#FEFFH MOVX A,@DPTR ;读入 输出:74LS273扩展LED0~LED7 并由P2.0+WR端,全0时, 74LS273将P0口数据 送出,控制LED0~LED7 实现: MOVX @DPTR,A ;输出
2、8155的RAM和I/O口地址 8155的RAM和I/O口地址 RAM地址----当IO/ M 加低电平: RAM 此时AD0-AD7上得到的地址值是指8155的某 一RAM RAM单元的地址,地址范围是: RAM 0000 0000--1111 1111 分别指向8155 RAM 的256个存储单元。 I/O口地址 I/O口地址----当IO/ M 加高电平: 口地址 此时AD0-AD7 (仅用到低三位AD2、AD1、 AD0)上得到的地址值是指8155的某一I/O口的 地址,具体端口地址分配是:
是一种基本输入或输出方式,它适用于无需握手信号的 简单输入输出应用场合, 端口A、B、C都可作为输入或输出 数据使用,输出有锁存而输入无锁存。 2)方式 )方式1 也称选通的输入/输出方式。在这种方式下,无论是输入 还是输出都通过应答关系实现, 这时端口A或B用作数据口, 端口C的一部分引脚用作握手信号线与中断请求线。 若端口A工作于方式1,则B可工作于方式0; · 若端口B工作于方式1,则A可工作于方式0或余下的13位可 工作于方式0; · 若端口A和B同时工作于方式1,端口C余下的两位还可用于 传送数据或控制信号。
Y2 Y1 Y0
ALE AD0~AD7 RD WE CE PA PB
8155 PC
+5V
P1.0
IO/ M
上图中的各扩展地址分别为: 8155: 0000H、0001H、……、0005H : 0000H 0001H 、0005H
8031的P2.7-P2.3=00000时,选中8155,在此前提下,当 8031的P0口输出地址是XXXXX000-XXXXX101,且IO/ M=1时,选 中8155的各端口,即:
3、MCS-51和8255A的接口方法 如图所示为MCS-51和8255A的一种接口逻辑。 PA口、PB口、PC口、控制口的地址分别为:7FFCH、 7FFDH、7FFEH、7FFFH。
假设图中8255A的PA口接一组开关,PB接一组指示灯, 如果,要将MCS-51的寄存器R2的内容送指示灯显示,将开关状 态读入MCS-51的累加器A,则8255初始化和输入/输出程序如下: ORG 1000H R8255: MOV DPTR,#7FFFH; MOV A,#98H MOVX @DPTR,A MOV DPTR,#7FFDH MOV A,R2 MOV @DPTR,A MOV DPTR,#7FFCH MOVX A,@DPTR RET
8155的RAM和I/O口编址
AD7 AD6 AD5 AD4 AD3 AD2 AD1AD0
╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ ╳ 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 I/O端口 命令/状态寄存器 PA口 PB口 PC口 计数器低8位 计数器高6位
0 0 0 (0000H) 命令口 0 0 1 (0001H) PA口 0 1 0 (0002H) PB口 0 1 1 (0003H) PC口 1 0 0 (0004H)计数器低 1 0 1 (0005H)计数器高
0 0 0 0
当IO/ M=0时,选中8155的RAM单元,所以: 其内部RAM地址范围是:0000H--00FFH 。
三、可编程并行接口芯片8155 与8255A相比,8155具有更强的功能,可 以扩展单片机的I/O口、定时器、外部数据存储 器RAM。 8155芯片的构成 1、8155芯片的构成 1)逻辑结构 2)引脚图 3)接口信号
8155芯片的内部结构
IO/ M
256B 静态 RAM A
口A PA0~PA7 口B
PA0-PA7 PB0-PB7 PC0-PC5 AD0-AD7 IO/ M TIMER IN TIMER OUT RD、WR ALE CE RESET
端口A的I/O线(8位,接外设) 端口B的I/O线(8位,接外设) 端口C的I/O线(6位,接外设) 三态地址/数据复用线(8位,一般接单片机P0 口,CPU与8155之间的地址、数据、命令、状 态等信号都通过它来传送) 端口/存储器 选择控制 “0”选择片内RAM “1”选择片内I/O口 8155片内定时器/计数器的计数脉冲输入引脚 8155片内定时器/计数器的计满回零输出引脚 分别是对8155片内的RAM或I/O口的的读、写控 制信号 地址锁存引脚 选片 复位引脚
二、可编程并行接口8255A 1、8255A的基本性能 可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及 8255A-5),具有24条输入/输出引脚、可编程的通用 并行输入/输出接口电路。 8255A具有三个相互独立的输入/输出通道: 通道A、通道B、通道C。 A,B,C三通道可以联合使用,构成单线、双线 或三线联络信号的并行接口。 此时C口完全服务于A、B口。 A口有三种工作方式:方式0、方式1、方式2。 B口有两种工作方式:方式0、方式1。
P2.7 ………………… P2.0 P0.7 ……… ………… P0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 端口
方式选择控制字: 方式选择控制字:
C端口置1置0控制字:
端口C的数位常常作为控制位来使用,所以,在 设计8255A芯片时,应使端口C中的各位可以用置1置0 控制字来单独设置。其具体格式如下图所示。 注意:C端口置1置0控制字尽管是对端口C进行操 作,但此控制字必须写入控制口,而不是写入C端口。
工作方式: 工作方式: 1)方式 )方式0
6116( 0800H6116(1): 0800H-0FFFH 6116( 1000H6116(2): 1000H-17FFH 分析: 根据74LS138,8031的P2.7-P2.3=00001时,选中 6116(1),在此前提下, 加上P2.2-P2.0,P0.7-P0.0低位地址,既有: 6116(1) 的地址范围是: 0000 1 000 0000 0000-0000 1 111 1111 1111 即:8000H-FFFFH。 6116(2) 同理可得:1000H-17FFH:
RESET RD WR ALE P2.4 RESET RD WR ALE IO/M
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
口A
PA0~PA7
口B 8031
P0.0 P0.1 P0.2 P.03 P0.4 P0.5 P0.6 P0.7
8155
PB0~PB7
口C
PC0~PC5
CE
2)多芯片来自百度文库展
PSEN P2.2--P2.0
A0~A7 A8~A10 OE CE WE OE A0~A7 WE OE A8~A10
P0
ALE WR RD
373 G
2716
D7~D0
6116(2)
D7~D0 CE
6116(1)
D7~D0 CE
8031
P2.3 P2.4 P2.5 P2.6 P2.7 A B C G2A G2B G1
B
接 单 片 机
AD0~AD7 CE ALE RD WR RESET
定时器输入 定时器输出
接 外 设 接 外 设 接 外 设
PB0~PB7 口C
定时器 C
PC0~PC5
8155引脚功能
AD0AD0-AD7 IO/ M RD WR ALE CE TIMER IN TIMER OUT PA0PA0-PA7 PB0PB0-PB7 PC0PC0-PC5 三态地址/ 三态地址/ 数据线 端口/ 端口/存储 器选择 读 写 地址锁存 允许 选片 定时器输 入 定时器输 出 A口端口线 B口端口线 C口端口线
2、8255A内部结构 8255A内部结构由以下四部分组成: 数据端口A、B、C;A组控制和B组控制;读/写控制逻 辑电路;数据总线缓冲器。结构如图所示
端口A:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数 据输入锁存器,可作为数据输入或输出端口, 并工作于三种 方式中的任何一种。 端口B: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器,可作为数据输入或输出端口, 但不能工作 于方式2。 端口C: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的 数据输入缓冲器, 可在方式字控制下分为两个4位的端口(C 端口上和下),每个4位端口都有4位的锁存器, 用来配合端 口A与端口B锁存输出控制信号和输入状态信号,不能工作于 方式1或2。 A组和B组控制的作用如下: A组控制逻辑控制端口A及端口C的上半部; B组控制逻辑控制端口B及端口C的下半部。
8155的使用 3、 8155的使用 1)8155内RAM的使用: 与一般外部数据存储器的使用基本一样, 唯一区别是事先要使IO/ M 为低电平。 2)8155各端口的使用: A、B、C各端口可工作于不同的工作方式, 使用前要进行初始化(写命令字到命令口)。
4、扩展电路的连接实例 、 1)以高位地址直接作为IO/M信号扩展,接口电路 非常简单,基本上是相同信号对接,如图:
3)方式2 )方式 也称选通的双向I/O方式,仅适用于端口A, 这时A口的 PA7-PA0作为双向的数据总线, 端口C有5条引脚用作A的握 手信号线和中断请求线,而B口和C口余下的3位仍可工作于 方式0或1。 它可以认为是方式1输出和输入的组合但有以下不 同: (1)当CPU将数据写入A口时,尽管OBF变为有效, 但数据 并不出现在PA7-PA0上, 只有外设发出ACKA 信号时, 数据 才进入PA7-PA0。 (2)输出和输入引起的中断请求信号都通过同一引脚输出, CPU必须通过查询OBF和IBF状态才能确定是输入引起的中断 请求还是输出引起的中断请求。 (3) ACKA 和STBA 信号信号不能同时有效, 否则将出现 数据传送“冲突”。
PC3 PC4
TIMER IN RESET
PC5
TIMER OUT
IO/ M CE RD WR ALE AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 Vss
8155
Vcc PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
3)常用I/O口综合扩展
线选法
8031