当前位置:文档之家› 单片机输入输出扩展及应用

单片机输入输出扩展及应用


1. 扩展 I/O口(8255)时,8031与可编程I/O接口之间一般要加 锁存器,其作用是( ) A. 锁存寻址单元的低八位地址 B. 锁存寻址单元的数据 C. 锁存寻址单元的高八位地址 D. 锁存相关的控制和选择信号 2. 扩展 8255是为了( )。 A.增大存储器的容量 B.扩展I/O端口的数量 C.增加寄存器的数量 D.提高端口的驱动能力
DB
数据 总线 缓冲器
A组 端口C 高四位
PC 4 ~ PC 7
B组 端口C 低四位
PC 0 ~ PC 3
RD WR A1 A0 RESET
读/写 控制 逻辑
B组 控制
B组 端口B
PB0 ~ PB7
CS
图7.8 8255的内部结构框图
为了控制方便,将8255的三个口分成A,B两组。其中A组包 括A口的8条口线和C口的高四位PC4 ~ PC7 。B组包括B口的8条口线 和C口的低四位 PC0 ~ PC3 。A组和B组分别由软件编程来加以控制。
5.2 简单I/O口扩展
5.2.1 简单输入口扩展
1. 两个输入口扩展
简单输入口扩展使用的集成芯片,比较典型 的如74LS244芯片。图7.1为74LS244芯片的引脚。
CS1 1A1
1
20
VCC
2Y4 1A 2 2Y3 1A 3 2Y2 1A 4 2Y1 GN D
5
74LS 244 15
1011Βιβλιοθήκη 5.3.2 8255的扩展逻辑电路
MCS-51单片机可以和8255直接连接,图7.9给出了一 种扩展电路。
RD
WR
RD
WR
P2.7
P0.7
P0.0
CS
PA 0~PA 7
74LS 373
A1 A0 D0 8255
D7
8031
PB 0~ PB
7
ALE
RST
RESET
PC 0~PC 7
图7.9 8255的扩展逻辑电路
) 。
6. 当定时器工作在方式 1 ,系统采用 12M 晶振时,若 要定时器定时 50ms ,则定时器的初始值为( ) 。 A. 50 B. 50000 C. 65536 D. 15536
第五章 单片机I/O口扩展及应用
5.1
I/O口扩展概述
5.1.1 I/O口扩展的原因
MCS-51系列单片机共有四个并行I/O口,分别是P0 、P1 、 P2 和P3 。其中P0 口一般作地址线的低八位和数据线使用;P2 口 作地址线的高八位使用;P3是一个双功能口,其第二功能是一 些很重要的控制信号,所以P3一般使用其第二功能。这样供用 户使用的I/O口就只剩下P1 口了。另外,这些I/O口没有状态寄
5.3 8255可编程通用并行接口芯片
5.3.1 8255的外部引脚和内部结构
1. 外部引脚
8255的外部引脚(参考P118)所示,其中:
双向,由软件决定。
PA0 ~ PA7 :A口的输入输出信号线。该口是输入还是输出或
PB 0 ~ PB 7 :B口的输入输出信号线。该口是输入还是输出, 由软件决定。 PC 0 ~ PC 7 :C口信号线。该口可作输入、输出、控制和状态 线使用,由软件决定。
8255的内部结构框图如图7.8所示。从图可以看
到,左边的信号与系统总线相连。而右边是与外设
相连接的三个口。三个口均为8位。其中A口输出有
锁存能力,输入亦有锁存能力。B口输入输出均有 锁存能力。C口输出有锁存能力,输入没有锁存能 力,在使用上要注意到这一点。
A组 控制
A组 端口 A
PA 0 ~ PA 7
(2)方式1下,A口和B口均为输入 这种情况和两口均为输出类似,各条控制引线的定义如 图7.11所示。
A口
A口
OBFA ACKA INTRA
PC 5
PC7
PC 6
PC4
PC3
PC3
8255
STBA IBFA INTRA
8255
PC0 PC1 PC2
B口
INTRB OBFB ACKB
PC0 PC1 PC2
: ACK 输出缓冲器满信号,低电平有效。用来告诉外设, 在规定的接口上CPU已输出一个有效的数据,外设可以从该 口取走此数据。 :外设响应信号,低电平有效。用来通知接口外设 OBF
已经将数据接收,并使 OBF 1 。 INTR:中断请求信号,高电平有效。当外设已从接口取
走数据,口的缓冲器变空,且接口允许中断时,INTR有效。 即, 且允许中断,则INTR=1。 ACK 1OBF 1
5.3.3 8255的工作方式
8255共有三种工作方式,这些工作方式可用软件编程来指定。
1. 工作方式0,又称基本输入输出方式
2. 工作方式1,又称选通输入输出方式 在这种方式下,A口和B口仍作为数据的输出或输入口而 同时要利用C口的某些位作为控制和状态信号,从而实现这种 工作方式。 (1)方式0下,A口和B口均为输出 各条控制引线的定义如图7.10所示。 各控制信号的含义如下:
D7
D6
D5
D4
D3
D2
D1
D0
C口低四位输入还是输出 0:输出 1:输入 B口输入还是输出 0:输出 1:输入 B口工作方式 0:方式0 1:方式1 C口高四位输入还是输出 0:输出 1:输入 A口输入还是输出 0:输出 1:输入 A口工作方式 00:方式0 01:方式1 1 :方式2 ×
标志位 1:方式控制字 0:C口置位/复位控制字
P0 74LS 244 AL E
74LS 373
2716
P2.3 ~ P2.7
RD





Y CS
Y CS
Y CS
Y CS
Y CS
图7.3 多个(例如5个)输入口扩展的电路
5.2.2 简单输出口扩展
1. 简单输出口扩展使用的典型芯片 简单输出口扩展通常使用74LS377芯片,该芯片是一个具 有“使能”控制端的锁存器。其信号引脚如图7.4所示。其中: 1D~8D为8位数据输入线,1Q~8Q为8位数据输出线,CK为 时钟信号上升沿数据锁存,为使能控制信号,低电平有效。 VCC为+5V电源。74LS377的逻辑电路如图7.5所示。
CS
0 0 0 0
A0 A1
WR
0 1 0 1
CS
1 0 1 0
所选断口 A口 A口 B口 B口
操作 读A口 写A口 读B口 写B口
0 0 0 0 0 1 0 1
0 0 0
1 0 1 0 1 1
0 1 1
1 0 0
C口 C口 控制寄存 器
读C口 写C口 写控制寄存 器
1
××
×
×

高阻状态
2.
内部结构
1D G 1Q 1D 2D 2Q 3Q 3D 4D 4Q GND 74LS377 VCC 8Q
D
Q
1Q
CK G

8D 7D 7Q 6Q 6D 5D 5Q CK

8D
D
Q
8Q
CK G CK
G
图7.4 74LS377引脚图
图7.5 74LS377的逻辑电路
由逻辑电路可知,74LS377是由D触发器组成的,D触 发器在上升沿输入数据,即在时钟信号(CK)由低电平跳 变为高电平时,数据进入锁存器。其真值表如表7-1所示。
CS 2 1Y1 2A 4 1Y2 2A 3 1Y3 2A 2 1Y4 2A 1
P0 ALE 74LS 244
74LS373 2716
74LS244
输入 设备
RD
CS1 CS 2
地址选通 信号
图7.1 74LS244芯片的引脚
图7.2 74LS244扩展两个输入口
2. 多输入口扩展 使用多片74LS244实现多个(例如5个)输入口扩展的电路 连接如图7.3。
D0 ~ D7 :双向数据信号线,用来传送数据和控制字。
:写信号线。 RD:读信号线。 WR
CS :片选信号线,低电平(有效)时,CS 才选中该芯片,
才能对8255进行操作。 RESET:复位输入信号,高电平有效时,复位8255。复位后
8255的A口、B口和C口均被定为输入。
A 0 A1:口地址选择信号线。8255内部共有三个口,A口、B口、
程序存储器ROM
002AH 0023H:串行口中断入口

001BH:定时器1溢出中断入口

0013H:外部中断1入口

000BH:定时器0溢出中断入口

0003H:外部中断0入口
0000H:复位后,程序的入口地址(PC=0000H)
5. 定时 / 计数器 的定时是指 :( A. 对时间计数 B. 外部事件定时 C. 对内部时钟计数 D. 外部事件计数
A口
PC7
PC 6
8255
OBFA ACKA
PC4
PC 5
PC3
STBA IBFA INTRA
图7.12 工作方式2时,C口提供的控制线
7.3.4 8255的控制字及初始化程序
8255是编程接口芯片,通过控制字(控制寄存器)对其端口 的工作方式和C口各位的状态进行设置。8255共有两个控制字, 一个是工作方式控制字,另一个是C口置位/复位控制字。这两个 控制字共用一个地址,通过最高位来选择使用那个控制字。 1. 工作方式控制字 主要功能:确定8255接口的工作方式及数据的传送方向。 各位的控制功能如图7.13所示。
图7.13 8255工作方式控制字
对工作方式控制字作如下说明:
l A口可工作在方式0、方式1和方式2,B口可工作在方 式0和方式1
l 在方式1或方式2下,对C口的定义(输入或输出)不
相关主题