MCS-51单片机IO接口的扩展

合集下载

第4章MCS-51单片机系统功能扩展

第4章MCS-51单片机系统功能扩展

74LS373结构示意图
74LS373的引脚
引脚说明如下: D7~D0: 8位数据输入端。 Q7~Q0: 8位数据输出端。 G:数据输入锁存控制端:当G为“1” 时,锁存器 输出端与输入端数据相同;当G由“1” 变“0” 时,数据输入锁存器中。 OE#: 输出允许端。
P0口与地址锁存器74LS373的连接
4.1 系统扩展概述
4.1.1 最小应用系统
图4.1 MCS–51单片机最小化系统 (a) 8051/8751最小系统结构图;(b) 8031最小系统结构图
4.1.2 单片机系统扩展的内容与方法
1.单片机的三总线结构
图4.2 MCS–51单片机的三总线结构形式
(1)以P0口作为低8位地址/数据总线。 (2)以P2口的口线作高位地址线。 (3)控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN#信号作为扩展程序存储器的读选通信号。 *以EA#信号作为内外程序存储器的选择控制信号。 *由RD#和WR#信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 尽管MCS-51有4个并行I/O口,共32条口线,但由于系 统扩展需要,真正作为数据I/O使用的,就剩下P1 口和P3口的部分口线。
锁存器8282 功能及内部结构与74LS373完全一样,只是其引脚的排 列与74LS373不同 ,8282的引脚如下图。
4.2.2 74LS244和74LS245芯片
在单片机应用系统中, 扩展的三总线上挂接
很多负载, 如存储器、并行接口、A/D接口、显
示接口等, 但总线接口的负载能力有限, 因此常
3) 采用地址译码器的多片程序存储器的扩展
例3 要求用2764芯片扩展8031的片外程序存储器,分配的 地址范围为0000H~3FFFH。

第7章MCS-51单片机的常用外设扩展

第7章MCS-51单片机的常用外设扩展

(2)数据线
2732的8位数据线直接与单片机的P0口相连。P0口作 为地址/数据线分时复用。
(3)控制线
CPU执行2732中存放的程序指令时,取指阶段就是对 2732进行读操作。注意,CPU对EPROM只能进行读操作, 不能进行写操作。CPU对2732的读操作控制都是通过控制线 实现的。2732控制线的连接有以下几条:
2.硬件电路 单片机与6116的硬件连接如图7-4所示。
3.连线说明
• 地址线:A0~A10连接单片机地址总线P0.0~P0.7、P2.0、P2.1、P2.2 共11根;
• 数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;
• 控制线:片选端连接单片机的P2.7,即单片机地址总线的最高位A15; 读允许线连接单片机的读数据存储器控制线;
• 对于没有内部ROM的单片机或者程序较长、片内ROM容 量不够时,用户必须在单片机外部扩展程序存储器。 MCS-51单片机片外有16条地址线,即P0口和P2口,因此 最大寻址范围为64K字节(0000H—FFFFH)。
• 这里要注意的是,MCS-51单片机有一个管脚 EA跟程序存 储器的扩展有关。如果接高电平,那么片内存储器地址范 围是0000H—0FFFH(4K字节),片外程序存储器地址范 围是1000H—FFFFH(60K字节)。如果接低电平,不使 用片内程序存储器,片外程序存储器地址范围为0000H— FFFFH(64K字节)。
1. 芯片选择
单片机扩展数据存储器常用的静态RAM芯片有6116(2K×8 位)、6264(8K×8位)、62256(32K×8位)等。
根据题目容量的要求我们选用SRAM6116,采 用单一+5V供电,输入输出电平均于TTL兼容,具有 低功耗操作方式,管脚如图7-3所示。

3.1MCS-51单片机的并行IO口

3.1MCS-51单片机的并行IO口

一、并行I/O口的功能结构
2、接口功能 (2)通用I/O接口
(四)P0口
此时“控制”信号为“0”,多路开关 MUX向下,输出驱动器处于开漏状态,故需 外接上拉电阻,这种情况下,电路结构与P1 相同,所以也是一个准双向口,当要作为输 入时,必须先向口锁存器写“1”。
一、并行I/O口的功能结构
(四)P0口
这是由接口的特殊结构所决定的。每一个 口都包含一个锁存器,一个输出驱动器和两 个(P3口为3个)输入缓冲器。各口的结构也 P 3 有些差异,下面分别介绍。
一、并行I/O口的功能结构
1、接口结构
(一)P1口
P1口一位的结构如下图所示:
图2.15
一、并行I/O口的功能结构
1、接口结构
(一)P1口
接口结构中锁存器起输出锁存作用, 8位锁存器组成特殊功能寄存器P1,场 效应管和上拉电阻组成输出驱动器,以 增大负载能力,三态门1和三态门2分别 用于控制输入引脚和锁存器的状态。
作为I/O口应用的一个实例,下面介绍 8031单片机的最小应用系统如下图所示
二、产生接口控制信号的指令
(四)P0口
8051指令系统中能与接口打交道的指令 大体可分两类 1.一般的输入/输出指令 2.“读-修改-写”指 令
二、产生接口控制信号的指令
1.一般的输入输出指令
(四)P0口
输入指令执行时,内部产生“读引脚”信号, 直接从口线读入,亦称“读引脚”指令。 下面是属于这种指令的各种实例:
二、产生接口控制信号的指令
(四)P0口 2.“读-修改-写”指令 INC P2 接口锁存器加1 DEC P1 接口锁存器内容减1 DJNZ P3,LOOP 减1后不为零则跳转 还有三条虽不明显,但也属此列: MOV P1.1,C CLR P1.1 SETB P1.1 将进位位送接口的某位 清接口的某一位 接口的某一位置位

MCS51单片机总线系统与IO口扩展

MCS51单片机总线系统与IO口扩展

6.2.2 单片机总线扩展的编址技术
OE
LE
Dn
Qn
L
H
H
H
L
H
L
L
L
L
L
Qn-1
L
L
H
Qn-1
H
×
×
Z
地址锁存器74LS373
CLR D0-D7Q0-Q7 4 6 2 6 74LS24474LS273 E 0123456789E GG 12Q0-Q7CLKD0-D7AAAAAAAAAAA10A11A12I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OWCE1CE2 56? UUU P0.0-P0.7P0.0-P0.7 +5V 11 01234567 E >> QQQQQQQQ O 01234567 E DDDDDDDDL 2 U74LS373 012 YYY ABC 3 U74LS138 R AD E R P20P07P21P06P22P05P23P04P24P03P25P02P26P01P27P00 W ALE 89C51 1 U
MOV
DPTR,#0FEFFH ;确定扩展芯片地址
MOVX
A,@DPTR
;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线 输入为0。
6.2.1 单片机I/O口扩展
输出控制信号由P2.0和相“或”后形成。当二者都为0后,74LS273的控制端 有效,选通74LS273, P0上的数据锁存到74LS273的输出端,控制发光二极管 LED , 芯 片 地 址 与 74LS244 的 选 通 地 址 相 同 ( 都 是 ×××× ×××0 ×××× ××××B,通常取为FEFFH)。当某线输出为0时,相应的LED发 光。

CPLD扩展MCS-51单片机I/O接口的应用研究

CPLD扩展MCS-51单片机I/O接口的应用研究
成 电路 , 而给 电子系 统 设计 带米 了革命性 的变 从
2 设计要 求
设计任 务:要检 测或 执行的系 统 的外 围 I / o 状态较 多 ,而 MC 一 1 片机 的 I 接 口不足 。 S5 单 / O
器 什 选 择 : Alr 公 司 ta e MA 0 0 系 列 X7 0
标准 的数字 电路硬件 描述语 言 。而 V ro eig语言 l 是一种 很接近 C语 言 的数 字 电路硬件 描述 语言 , 只 要有 一些数字 电路和 C 语言 基础 ,就很容 易
掌握。 本文 介绍采 刖 V ro 言来扩 展 MC . l ei g语 l S5 单 片机接 口的一种 方法 。
MAX 18 (/ 引脚数 10 。 7 2S I 0 O)
Alr 可 编程器件 有很 多优 点:高性能 ,采 ta e
用C OMS技 术 ,具有低功 耗和 高速度 ;高密度
逻辑 集成 , tr 器 : 从 3 0门到 10万 r , Al a e 密度 0 0 J
使 传统 的 “自下 而上 ”的设计方法 ,变为一种 新 的 “自顶 向下 ”的 设计 方 法 。CP D 采 刖 了 L EC 2 MOS工艺 制作 。相 比于 E L 增 加 内部 连 PD


CL P D是一种复杂可编程序逻辑 器件 ,广泛应用于 大规模 集成 电路的 系统设计 中。利用 X X A
P U 集成 环 境 , 可 以很 方 便 地 进 行硬 件 描 述语 言 的程 序 编 辑 L SI I
关键词
可编程逻辑器件 硬件描述语 言 单 片机 I0 口 /接
0 前 言 C L 是 具 备在 系统 可编 能 力 的复杂 可 PD
能集成 现有 的逻 辑器 件 ;开发 周期 短。快速 、直

第七章 IO接口_AD_DA技术

第七章 IO接口_AD_DA技术
1.工作方式选择控制字 三种工作方式由方式控制字来决定。 控制字格式如下。
C口上半部分(PC7~PC4)随A口称为A组,
C口下半部分(PC3~PC0)随B口称为B组。
其中A口可工作于方式0、1、和2,而B口只能工作在 方式0和1。 例如:写入工作方式控制字95H
可将8255A编程为:A口方式0输入,B口方式1输出, C口的上半部分(PC7~ PC4)输出,C口的下半部分 (PC3~PC0)输入。
第9章 MCS-51扩展I/O接口的设计 9.1 I/O接口扩展概述
I/O (输入/输出)接口是MCS-51与外设交换数字信 息的桥梁。
I/O扩展也属于系统扩展的一部分。
真正用作I/O口线的只有P1口的8位I/O线和P3口的某些 位线。 在多数应用系统中,MCS-51单片机都需要外扩I/O接 口电路。
数据总线为三态 非法状态 数据总线为三态
0
0 1 1 × 1 ×
0
1 0 1 × 1 ×
1
1 1 1 × 0 1
0
0 0 0 × 1 1
0
0 0 0 1 0 0
9.2.2 工作方式选择控制字及C口置位/复位控制字
8255A有三种工作方式:
(1) 方式0:基本输入输出; (2) 方式1:选通输入输出; (3) 方式2:双向传送(仅A口有)。
各端口的工作状态与控制信号的关系如表9-1所示。
表9-1
A1 A0
8255A端口工作状态选择
RD* WR* CS* 工作状态
0
0 1
0
1 0
0
0 0
1
1 1
0
0 0
读端口A:A口数据→数据总线 读端口B:B口数据→数据总线 读端口C:C口数据→数据总线 写端口A:总线数据→A口 写端口B:总线数据→B口 写端口C:总线数据→C口 写控制字:总线数据→控制字寄存 器

第5章 MCS–51单片机的接口与应用 99页 5.8M

第5章  MCS–51单片机的接口与应用 99页 5.8M

(1) 用键盘连接的I/O线的二进制组合表示键码。例如用4行、
4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4 位口线的二进制数的组合表示16个键的编码,如图5.4(a)所示。 各键相应的键值为88H、84H、82H、81H、48H、44H、42H、 41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键 值编码软件较为简单直观,但离散性大,不便安排散转程序的 入口地址。
第5章 MCS–51单片机的接口与应用 JNB ACC.2,K2 JNB ACC.3,K3 JNB ACC.4,K4 JNB ACC.5,K5 JNB ACC.6,K6 ;检测2号键是否按下,按下转 ;检测3号键是否按下,按下转 ;检测4号键是否按下,按下转 ;检测5号键是否按下,按下转 ;检测6号键是否按下,按下转
;0号键功能程序
;0号键功能程序执行完返回 ;0号键功能程序
JMP START
……………………… PROM7: ……………………… JMP START …
;1号键功能程序执行完返回
;7号键功能程序 ;7号键功能程序执行完返回
第5章 MCS–51单片机的接口与应用
5.1.4 行列式键盘
行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构, 按键设置在行列的交点上。例如4×4的行列结构可组成16个键 的键盘。因此,在按键数量较多时,可以节省I/O口线。 1.行列式键盘的接口 行列式键盘的接口方法有许多,例如直接接口于单片机的 I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接 口;利用一种可编程的键盘、显示接口芯片8279进行接口等。 其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系
MOVX @DPTR,A

内容7_MCS-51单片机IO接口扩展设计及应用

内容7_MCS-51单片机IO接口扩展设计及应用
C.为了消除按键的抖动,常用的方法有硬件和软件两种方法;
D. 8031的扩展储存器系统中,P0口要接一个8位锁存器,而P2口却不需要。
17
下面的说法错误的有()。
A. LED显示器采用动态扫描方法进行显示,任一时刻只有一位显示器被点亮;
B. RS-232C的逻辑电平与通常的TTL和MOS电平兼容,故实现与TTL或MOS电路的连接时无需外加电平转换电路;
(B)RAM式
(C)FLASHROM
(D)EPROM
47
某种存储器芯片是8KB*4/片,那么它的地址线根数是()。
(A)11根
(B)12根
(C)13根
(D)14根
48
若某存储器芯片地址线为12根,那么它的存储容量为()。
(A)1KB
(B)2KB
(C)4KB
(D)8KB
49
下面哪条指令产生信号()。
(A)MOVXA,@DPTR
D.P3
E.P0.7
28
MCS-51单片机的P0口可以作为( )使用。
A.低8位地址总线
B.高8位地址总线
C.数据总线
D.控制总线
E.一般的I/O使用
29
071-0029、ATMEL公司的AT24CXX系列EEPROM是()。
A.I C接口的EEPROM
B.SPI接口的EEPROM
C.并行接口的EEPROM
A.16D触发器
B.8D触发器
C.32位锁存器
D.16位锁存器
E.8位锁存器
15
071-0001、单片机扩展的内容有()等。
A.总线扩展
B.程序存储器扩展
C.数据存储器扩展
D.外围扩展
E.I/O口的扩展

四 MCS-51单片机存储器系统扩展

四 MCS-51单片机存储器系统扩展
RD、WR为数据存储器和 I/O口的读、写控制信号。执 行MOVX指令时变为有效。
74LS373引脚
1、控制位OE: OE=0时,输出导通 2、控制位G: 接ALE 3、Vcc=+5V 4、GND接地
1 74LS373为8D锁存器,其主要特点在于:
控制端G为高电平时,输出Q0~Q7复现输入D0~ D7的状态;G为下跳沿时D0~D7的状态被锁存在Q0 ~Q7上。
MOV DPTR, #0BFFFH ;指向74LS373口地址
MOVX A, @DPTR ;读入
MOV @R0, A
;送数据缓冲区
INC R0
;修改R0指针
RETI
;返回
用74LS273和74LS244扩展输入输出接口
地址允许信号ALE与外部地址锁存信号G相连;
单片机端的EA与单片机的型号有关;
存储器端的CE与地址信号线有关。
P... 2.7 P2.0
ALE 8031
P... 0.7 P0.0
EA
PSEN
外部地址
G
锁存器
I...7
O... 7
I0 O0
A... 15
CE
A8
外部程序
存储器
A... 7 A0
D7. . . D0 OE
6264的扩展电路图
图中CS(CE2)和CE引脚均为6264的片选信号,由于该扩展电路 中只有一片6264,故可以使它们常有效,即CS(CE2)接+5V ,CE接地。6264的一组地址为0000H~1FFFH。
存储器地址编码
SRAM6264:“64”—— 8K×8b = 8KB 6264有13根地址线。 地址空间: A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最低地址: 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 最高地址: 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机

MCS-51单片机IO口详解

MCS-51单片机IO口详解

单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。

第6章 MCS-51单片机系统扩展技术

第6章  MCS-51单片机系统扩展技术

6.3 数据存储器扩展
6.3.1 静态RAM扩展电路
6.3.2 动态RAM扩展电路
返回本章首页
6.3.1 静态RAM扩展电路
常用的静态RAM芯片有6116,6264,62256等,其 管脚配置如图6-13所示。
1.6264静态RAM扩展 额定功耗200mW,典型存取时间200ns,28脚双列直插 式封装。表6-1给出了6264的操作方式,图6-14为6264静 态RAM扩展电路。
图 6 9
A EEPROM
28 17
扩 展 电 路
写入数据
不是指令
查询 中断 延时
2.2864A EEPROM 扩展
2864A有四种工作方式: (1)维持方式 (2)写入方式 (3)读出方式 (4)数据查询方式
图 6 12
28 64
返回本节
A EEPROM
扩 展 电 路
串行E2PROM简介 串行E2PROM占用引线少、接线简单,适用于作为数据存储 器且保存信息量不大的场合。 以AT93C46/56/57/66为例,它是三线串行接口E2PROM, 能提供128×8、256×8、512×8或64×16、128×16、256×16 位,具有高可靠性、能重复擦写100,000次、保存数据100年 不丢失的特点,采用8脚封装。
第6章 MCS-51单片机系统扩展技术
6.1 MCS-51单片机系统扩展的基本概念
6.2 程序存储器扩展技术
6.3 数据存储器扩展 6.4 输入/输出口扩展技术
T0 T1
时钟电路
ROM
RAM
定时计数器
CPU
并行接口 串行接口 中断系统
P0 P1 P2 P3
TXD RXD
INT0 INT1

IO接口电路及其扩展

IO接口电路及其扩展

;写控制字
LD:
;最左边灯亮 ;指向B口 ;取显示数据
;查数据编码 ;写B口 ;延时
39
MB DB DB DB DB DB DB DB MOV MOV DJNZ DJNZ
A, R3
A R3, A LD 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH R7, #02H R6, #FFH R6, LOOP R7, DELAY
6
+5V
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
1Y1 1Y2 1Y3 1Y4 1Y5 1Y6 1Y7 1Y8 1G 2G 7 4 L S 2 4 4 1A1 1A2 1A3 1A4 1A5 1A6 1A7 1A8
MCS-51
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR
MOV DPTR, #0FEFFH MOVX A,@DPTR ;确定扩展芯片地址 ;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为 8 1,若按下某键,则所在线输入为0。
典型芯片—74LS245
9
图13-3 74LS244构成的简单输入端口(b)
10
13.1.3 简单的并行口输出
CS:片选信号线,低电平有效。
RD:读信号,控制8255A将数据或状 态信息送给CPU。 WR:写信号,控制CPU将数据或控制 信息到8255A。
A1,A2:地址线,这两个引脚上的信 号组合绝对对8255A内部的哪一个口或 寄存器进行操作。
22
8255的操作表
表13-1 8255的操作
/CS 0 0 0 0 A1 A0 00 01 10 11 WR 0 0 0 0 RD 1 1 1 1 操作 总线=>端口A 总线=>端口B 总线=>端口C 总线=>命令控制字

第一章 单片机IO接口的扩展---8255

第一章 单片机IO接口的扩展---8255

单片机对外设的控制方式
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定 外设当前的状态,如果外设准备就绪,则进行 数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少 量的硬件电路即可,缺点是由于CPU的速度远 远高于外设,因此通常处于等待状态,工作效 率很低
(2)中断处理方式
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由 一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输; (2)能够进行信息格式的转换,例如串行和并行的转换; (3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数 /模或模/数转换器等; (4)协调时序差异; (5)地址译码和设备选择功能; (6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和 DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。 接口的控制方式
WR :写信号,低电平有效。当 WR 有效时,CPU
可以往8255A中写入控制字或数据。 A1、A0:端口选择信号。8255A内部有3 个数据端口和1个控制端口,当A1A0=00时选 中端口A;A1A0=01时选中端口B;A1A0=10 时选中端口C;A1A0=11时选中控制口。 A1、A0和 RD 、 WR 及 CS 组合所实 现的各种功能如表所示。
方式1下的输出时序
3. 方式2(双向模式)
8255A只有A口具有这种双向输入输 出工作方式,实际上是在方式1下A口输入 输出的结合。在这种方式下,A口为8位双 向传输口,C口的PC7~PC3用来作为输入 /输出的同步控制信号。 在这种情况下,B口和PC2~PC0只能 编程为方式0或方式1工作,而C口剩下的 3条线可作为输入或输出线使用或用作B 口方式1之下的控制线。

单片机原理及应用 第4章 MCS-51单片机系统的扩展技术

单片机原理及应用 第4章 MCS-51单片机系统的扩展技术

2.数据存储器典型扩展电路
6264的地址范围为:0000H~1FFFH。
[例题] 在上页图的数据存储器扩展电路中,将片内RAM 以50H单 元开始的16个数据,传送片外数据存储器0000H开始的单元中。
程序如下:
ORG 1000H MOV R0, #50H MOV R7, #16 MOV DPTR, #0000H AGAIN: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, AGAIN RET END ; 数据指针指向片内50H单元 ; 待传送数据个数送计数寄存器 ; 数据指针指向数据存储器6264的0000H单元 ; 片内待输出的数据送累加器A ; 数据输出至数据存储器6264 ; 修改数据指针 ; 判断数据是否传送完成
4.2.1
程序存储器扩展
单片机内部没有ROM,或虽有ROM但容量太小时,必须扩 展外部程序存储器方能工作。最常用的ROM器件是EPROM 1. 常用EPROM程序存储器 EPROM主要是27系列芯片,如:2764(8K)/27128(16K) /27256(32K)/27040(512K)等,一般选择8KB以上的芯片作为 外部程序存储器。
4.2.3 MCS-51对外部存储器的扩展
下图所示的8031扩展系统中,外扩了16KB程序存储器(使用两片 2764芯片)和8KB数据存储器(使用一片6264芯片)。采用全地址译码方 式,P2.7用于控制2―4译码器的工作,P2.6, P2.5参加译码,且无悬空地 址线,无地址重叠现象。 1# 2764, 2# 2764, 3# 6264的地址范围分别为:0000H~1FFFH, 2000H~3FFFH, 4000~5FFFH。
MOV DPTR, #7FFFH ; 数据指针指向74LS377 MOV A, 60H ; 输出的60H单元数据送累加器A MOVX @DPTR, A ; P0口将数据通过74LS377输出

单片机IO口扩展技术

单片机IO口扩展技术

单片机IO口扩展技术] 0 引言在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。

MCS-51单片机的并行口有P0、P1、P2和P3,由于P0口是地址/数据总线口,P2口是高8位地址线,P3口具有第二功能,这样,真正可以作为双向I/O口应用的就只有P1口了。

这在大多数应用中是不够的,因此,大部分MCS-51单片机应用系统设计都不可避免的需要对P0口进行扩展。

由于MCS-51单片机的外部RAM和I/O口是统一编址的,因此,可以把单片机外部64K字节RAM空间的一部分作为扩展外围I/O口的地址空间。

这样,单片机就可以像访问外部RAM存储器单元那样访问外部的P0口接口芯片,以对P0口进行读/写操作。

用于P0口扩展的专用芯片很多。

如8255可编程并行P0口扩展芯片、8155可编程并行P0口扩展芯片等。

本文重点介绍采用具有三态缓冲的74HC244芯片和输出带锁存的74HC377芯片对P0口进行的并行扩展的具体方法。

1 输入接口的扩展MCS-51单片机的数据总线是一种公用总线,不能被独占使用,这就要求接在上面的芯片必须具备“三态”功能,因此扩展输入接口实际上就是要找一个能够用于控制且具备三态输出的芯片。

以便在输入设备被选通时,它能使输入设备的数据线和单片机的数据总线直接接通;而当输入设备没有被选通时,它又能隔离数据源和数据总线(即三态缓冲器为高阻抗状态)。

1.1 74HC2244芯片的功能如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。

74HC244芯片的引脚排列如图1所示。

74HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1C和2G作为它们的选通工作信号。

当1 C和2G都为低电平时,输出端Y和输入端A状态相同;当1G和2G都为高电平时,输出呈高阻态。

51单片机IO口应用详解

51单片机IO口应用详解

51单片机IO口应用详解MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照单片机引脚图:这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。

P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。

有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

ALE 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。

参见图2(8051扩展2KB EEPROM电路,在图中ALE与4LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。

由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。

MCS51单片机的IO接口部件

MCS51单片机的IO接口部件

第2章MCS51单片机的I/O接口部件单片机芯片内还有一项主要内容就是并行I/O口。

MCS-51共有四个8位的并行I/O口,分别记作P0、P1、P2、P3。

每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。

实际上它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。

在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。

在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端口使用。

MCS-51单片机的四个I/O口都是8位双向口,这些口在结构和特性上是基本相同的,但又各具特点,以下分别介绍。

2.1 P0口P0口的口线逻辑电路如图2-1所示。

图2-1 P0口某位结构由图可见,电路中包含有1个数据输出锁存器、2个三态数据输入缓冲器、1个数据输出的驱动电路和1个输出控制电路。

当对P0口进行写操作时,由锁存器和驱动电路构成数据输出通路。

由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据锁存电路。

考虑到P0口既可以作为通用的I/O口进行数据的输入输出,也可以作为单片机系统的地址/数据线使用。

为此在P0口的电路中有一个多路转接电路MUX。

在控制信号的作用下,多路转接电路可以分别接通锁存器输出或地址/数据线。

当作为通用的I/O口使用时,内部的控制信号为低电平,封锁与门将输出驱动电路的上拉场效应管(FET)截止,同时使多路转接电路MUX接通锁存器Q端的输出通路。

当P0口作为输出口使用时,内部的写脉冲加在D触发器的CP端,数据写入锁存器,并向端口引脚输出。

当P0口作为输入口使用时,应区分读引脚和读端口两种情况。

为此在口电路中有两个用于读入驱动的三态缓冲器。

所谓读引脚就是读芯片引脚的数据,这时使用下方的数据缓冲器,由“读引脚”信号把缓冲器打开,把端口引脚上的数据从缓冲器通过内部总线读进来。

使用传送指令(MOV)进行读口操作都是属于这种情况。

而读端口则是指通过上面的缓冲器读锁存器Q端的状态。

MCS-51单片机原理及接口技术

MCS-51单片机原理及接口技术

2 5 6 9 12 15 16 19
19 18 9 12 13 14 15 1 2 3 4 5 6 7 8
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
MCS-51
A 1 3 2 74LS32
RD WR PSEN ALE/P TXD RXD
74LS273引脚封装图 引脚封装图
MCS-51与74LS273的接口电路图 与 的接口电路图
ห้องสมุดไป่ตู้
4.3.1简单I/O接口芯片的扩展 4.3.1简单I/O接口芯片的扩展 简单I/O
简单的I/O口扩展通常是采用 电路锁存器、 简单的 口扩展通常是采用TTL或CMOS电路锁存器、三 口扩展通常是采用 或 电路锁存器 态门等作为扩展芯片( 态门等作为扩展芯片(74LS244、74LS245、74LS273、 、 、 、 74LS373、 74LS377等 ) , 通过P0口来实现扩展的一种 、 等 通过 口来实现扩展的一种 方案。它具有电路简单、成本低、配置灵活的特点。 方案。它具有电路简单、成本低、配置灵活的特点。 简单的I/O口扩展主要包括: 简单的 口扩展主要包括: 口扩展主要包括 缓冲器扩展输入口(三态门: 缓冲器扩展输入口(三态门: 74LS244、74LS245等) 、 等 锁存器扩展输出口(锁存器: 锁存器扩展输出口(锁存器: 74LS273、74LS373、 、 、 74LS377等) 等
4.3 输入 输出接口扩展 输入/输出接口扩展
• MCS-51系列单片机内部有4个双向的8位并行I/O端 MCS-51系列单片机内部有4个双向的8位并行I/O端 系列单片机内部有 I/O P0、P1、P2和P3口 口:P0、P1、P2和P3口。 • 在实际的应用系统中,P0口分时地作为低8位地址 在实际的应用系统中,P0口分时地作为低 口分时地作为低8 线和数据线,P2口作为高 位地址线。这时,P0口 口作为高8 线和数据线,P2口作为高8位地址线。这时,P0口 和部分或全部的P2口无法再作通用I/O P2口无法再作通用I/O口 和部分或全部的P2口无法再作通用I/O口。 • P3口的一些口线首先要满足第二功能的要求。这 P3口的一些口线首先要满足第二功能的要求 口的一些口线首先要满足第二功能的要求。 时就需要进行单片机I/O口的扩展。 I/O口的扩展 时就需要进行单片机I/O口的扩展。 常用的I/O扩展有以下两种形式: I/O扩展有以下两种形式 常用的I/O扩展有以下两种形式: 简单I/O I/O接口芯片的扩展 简单I/O接口芯片的扩展 可编程I/O接口电路的扩展 可编程I/O接口电路的扩展 I/O
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.2 扩展可编程并行I/0芯片8255A
PA (8位) 、PB (8位) 、PC (8位) 命令/状态口 9.2.1 8255A的结构和工作方式 一、8255A的引脚及组成结构
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2
RD WR RESET Q7 P0.7 8031 P0.0 EA ALE D7 74LS D0 G Q1 Q0
RD PA0 WR RESET PA7 CS 地 8255A A1 A0 D7 D0 PC7 PC0 PC6
DB0 DB7 GND μ80 打印机 DSTB BUSY ACK
数据D0~D7 DSTB s 1~500μ BUSY ACK


M2M1=10时,定时/计数器的输出波形为单 个脉冲;
M2M1=00时,定时/计数器的输出波形为连 续脉冲。
9.3.2 8155 H与8031单片机的接口及应用
8031单片机与并行接口8155的接口电路如 图所示。 对8155地址分配如下: RAM地址:7E00H-7EFFH I/O口地址: 命令/状态寄存器的地址: 7F00H PA口的地址:7F01H PB口的地址: 7F02H PC口的地址: 7F03H 定时器低8位的地址:7F04H 定时器高8位的地址: 37 5 36 6 35 7 34 8 33 9 32 10 8255A 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21
PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
四、8155的定时器
D7 T7 D6 T6 D5 T5 D4 T4 D3 T3 D2 T2 D1 T1 D0 T0
计数长度低位 D7 M2 D6 M1 D5 T13 D4 T12 D3 T11 D2 T10 D1 T9 D0 T8
定时器方式
计数长度高位
M2 00 01 10 11
M1
方式 单方波 连续方波 单脉冲 连续脉冲
例9-3 在MCS-51单片机组成的系统中,如果 需配接打印机,可用8255A作为接 口芯片。 许多打印机都采用Centronic标准接口,这 种标准接口的接口信号说明如下: DB0-DB7:数据线,单向接收; /DSTB:数据选通信号,输入; BUSY:忙信号,输出; /ACK:应答信号,输出。 MCS-51单片机通过8255A与打印机的接口电 路及打印机时序如图。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
VCC PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
PRINT:MOV R0,#7FH ;控制口地址送入R0 MOV A,#81H ;控制字送入A MOVX @R0,A ;控制字送人控制口 MOV R1,#3FH ;RAM单元首地址送R1 MOV R2,#0FH ;R2作计数器用 LOOP: MOV A,@R1 ;RAM单元中内容送A INC R1 ;指向下一个RAM单元 MOV R0,#7CH ;端口A地址送R0 MOVX @R0,A ;A中内容送端口A,并锁存 MOV R0,#7FH ;控制口地址送入R0 MOV A,#0EH ;PC7的复位控制字送A MOVX @R0,A ;PC7=0 MOV A,#0FH ;R2的置位控制字送A MOVX @R0,A ;PC7由0变1 LOOP1:MOV R0,#7EH ;端口C地址送R0 MOVX A,@R0 ;读入口C的值 ANL A,#01H ;检测BUSY状态 JNZ LOOP1 ;BUSY=1跳转LOOP1 DJNZ R2,LOOP ;BUSY=0,未打完循环
I/OPB7 ~ PB0
二、8255A的工作方式及选择
1. 方式选择控制字, 2. 有三种工作方式: 方式0: 基本输入输出方式; 方式1: 选通输入输出方式; 方式2: 双向传送方式(仅A口)
D7D6D5D4D3D2D1D0 B组 端口C(下半部) 1=输入 0=输出 端口B 1=输入 0=输出 方式选择 0=方式0 1=方式1 A组 端口C(上半部) 1=输入 0=输出 端口A 1=输入 0=输出 方式选择 00=方式0 01=方式1 1×=方式2 置方式标志 1=有效
TM2TM1=11,连续方式,当计数器赋予初值后,立即 启动定时/计数器;若正在计数,则置新的方式和 长度,计数结束后按新的方式和新的时间常数计数。
2. 状态寄存器 状态寄存器由7位寄存器组成,其中6位用于表 示A口和B口的状态,1位表示定时/计数器的状 态。此寄存器为只读寄存器其位格式为:
PA:决定A口的工作方式。PA=0,A口为输入 方式;PA=1,A口为输出方式。 PB:决定B口的工作方式。PB=0,B口为输入 方式;PB=1,B口为输出方式。 PC2、PC1:决定PC口的工作方式。 PC2PC1 ( ALT1 ) =00 , A 口、 B 口为基本输 入/输出,C口为基本输入口; PC2PC1 ( ALT2 ) =01 , A 口、 B 口为基本输 入/输出,C口为基本输出口; PC2PC1 (ALT3)=10,A口为选通输入/输出 口, B口为基本输入/输出口; PC2PC1 ( ALT4 ) =11 , A 口、 B 口为选通输 入/输出口。
IO/M AD0~7 8 256× 8 静态存 储器
A
8 PA0~7
口A
CE ALE RD WR RESET 定时器输入 定时器输出
B
8 口B PB0~7 6 PC0~7 口C VCC(+5V) VSS(0V)
定时器
C
地址总线:/CE=0 IO//M=0, 256字节RAM: 00H—FFH IO//M=1, I/O口。
内部逻辑 CPU接口 A组 控制
外设接口 A组 端口A (8) A组 端口C 上半部 (4)
I/OPA7 ~ PA0
I/OPC7 ~ PC4
DB
数据 总线 缓冲器
8位内部数据总线
B组 端口C 下半部 (4)
I/OPC3 ~ PC0
RD WR A0 A1 RESET CS
读/写 控制 逻辑
B组 控制
B组 端口B (8)
定时器输出波形
其中,T0~T14构成14位计数器。定时/计数 器是递减计数器,对输入脉冲计数。当计数器 计到0时,可从定时计数器的输出端输出一个 脉冲或方波。M2M1决定定时器的输出波形。
当: M2M1=00 时,定时 / 计数器的输出波形为 单个方波; M2M1=01时,定时/计数器的输出波形为连 续方波;
8255A
EA
31
ALE
30
A口、B口、C口和控制寄存器单元地址分别 为7FFCH、7FFDH、7FFEH和7FFFH。 利用8255进行I/O扩展,使端口A、B、C都工 作于方式0且均为输出方式,并从端口A输出 一个数据,之后将PC3置为1
MOV DPTR, #7FFFH MOV A, #80H MOVX @DPTR, A MOV DPTR, #7FFCH MOV A, #00H MOVX @DPTR, A MOV DPTR, #7FFFH MOV A, #07H MOVX @DPTR, A ;地址指向8255控制口 ;设端口A、B、C设为方 式0的输出方式 ;写入控制字 ;地址指向8255端口A ;输出数据#00H传入累加器A ;向端口A写入数据 ;地址指向8255控制口 ;设控制字,将PC3口置为1 ;写入控制字
IEA:A口中断允许位。IEA=1允许A口中断,IEA=0禁 止A口中断。
IEB:B口中断允许位。IEB=1允许B口中断,IEB=0禁 止B口中断。 TM2、TM1:定时/计数器命令。 TM2TM1=00,空操作,不影响计数器操作; TM2TM1=01,停止计数器计数; TM2TM1=10,定时/计数器长度减为0时停止计数;
2. C 口按位置位/复位控制字
D7 D6 D5 D4 D3 D2 D1 D0 位 置位/复位 1=置位 0=复位 位选择 0 1 2 0 1 0 0 0 1 0 0 0
× × ×
无关
3 1 1 0
4 0 0 1
5 1 0 1
6 0 1 1
7 1 1 1
位:置位/复位标志 0为有效
9.2.2 8031单片机同8255A的接口及应用
AD2 0 0 0 0 1 1 AD1 0 0 1 1 0 0 AD0 0 1 0 1 0 1 寄存器 命令/状态口 A口(PA0~7) B口(PB0~7) C口(PC0~7) 定时器低8位 定时器高6位和操作方式
二、8155的I/O口工作方式及选择
1. 命令寄存器 8155只有一个控制字,命令寄存器决定A口、B口、 C口和定时器/计数器的工作方式及功能。其位格式 为:
第9章 MCS-51单片机I/O接口的扩展
9.1 I/O口扩展概述 9.2 扩展可编程并行I/O芯片8255A 9.3 扩展可编程RAM/IO芯片8155H 9.4 用锁存器缓冲器扩展并行I/O口 9.5 用MCS-51的串行口扩展并行口
退出
9.1 I/O口扩展概述
8255: PA (8位) 、PB (8位) 、PC (8位) 命令/状态口 8155: 命令/状态口、 PA (8位) 、PB (8位) PC (6位)、14位减法计数器、256字节RAM 8253: 3个16位定时计数器 8279: 键盘显示器接口芯片 74LS373,377,244,245:锁存器 74LS164、CD4094、74LS165、CD4014
相关文档
最新文档