51单片机接口电路与存储器的扩展

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C口高半字节输入1,输出0 A口:输入1,输出0 工作方式控制字
00方式0 01方式1 1方式2
D7 D6 D5 D4 D3
A1 A0 11
B组
D2
D1
D0
A组
C口低半字节 输入1 ,输出0 B口:输入1 输出0 0:方式0,1:方式1
设定工作方式标志,1有效
C口位置位/复位控制字
D7
D6
D5
IBF
INTR
数据输出 :外设响应信号(输入),低电平有效。当外设取 走数据,并处理完,向单片机发回响应信号。
ACK
:输出缓冲器满信号(输出),低电平有效。状态 信息。输出数据写入8255A锁存器后,信号有效。
OBF
INTR:中断请求信号(输出),高电平有效。
ACK OBF
INTR
5-4 8255A控制字及初始化
第四章 医学仪器中接口电路的设计
4.1 接口电路的任务与分类
任务 实现微处理器芯片与外围芯片(如 程序存储器、数据存储器等)及微处理机 与外部设备(如键盘、显示器)间的连接。
分类 专用接口:为某种专门用途或某类外设 专 门设计的接口电路,如CRT显示器控制器等。 通用接口:可供几类外设使用,如串行 接 口、并行接口。
A组
方式1 输出 输入
确定控制字
1
0
0
1
0
1
0
1
控制字
95H
输入 输出
方式0
控制字设置
B组
初始化程序:
1
A15~A10
译 码 器
0
片选端 CE
CE
(1)
A9~A0 D7~D0 A9~A0 D7~D0
(2)
A9~A0 D7~D0
线选法寻址 线选法使用P2、P0 口的低位地址线对 每个芯片内的统一存储单元进行寻址, 称为字选 。 将高位地址线分别接到个存储芯片的片 选端CS,称为线选,每根地址线对应一 片芯片。
带锁存器的 EPROM 87C256 32K × 8的EPROM存贮器,片内集成了2 个相当于74HCT573的地址存贮器。
图4.5 (1)87C64功能方框图
(2)87C256功能方框图
4-10
4.2.2 数据存储器接口设计
静态RAM是通过有源电路来保持存储 器中的信息的,与动态RAM (DRAM )相 比,需要消耗较多的功率。 本节主要介绍以下几种:
6116静态RAM
62256静态RAM
动态RAM 2164A
静态6116与单片机80C31的接口:
图4.7 静态RAM6116与80C31的接口图
4-13
62256静态RAM 32K×8的高集 成度的随机存 取存贮器
62256静态RAM与80C31的接口图
动态RAM2164A
64K×1位
1 2 3 4 5 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
8255A
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
PA 4 PA 5 PA 6 PA 7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB 7 PB 6 PB 5 PB 4 PB 3
A0~A12
A15
(不参加译码)
8KB ( 1) CS
8KB ( 2) CS
8KB ( 3) CS
8KB ( 4) CS
A14
A13
2-4 译码器
Y0 Y1 Y2 Y3
例题
例1. 用译码法连接容量为64K*8的存储器,若 用8K*8的存储器芯片,共需多少片? 共需多少根地址线? 其中几根作字选线? 几根作片选线? 试用74LSl38画出译码电路,并标出其输出线的 选址范围。若改用线选法能够组成多大容量的 存储器?试写出各线选线的选址范围。
总线接口电路 数据总线缓冲器:和单片机数据总线相连,8位双向三态 缓冲器,所有数据(包括控制字、状态信息)通过该缓冲 器传送。 控制逻辑:
CS :片选信号(低电平有效);
RD :读信号(低电平有效);
WR :写信号(低电平有效);
A0、A1:端口选择信号; RESET:复位信号(高电平有效)
控制逻辑电路:A组、B组逻辑控制
只有PA能选择该工作方式,适用PC5位口线作控制线。
PA工作于方式2下,则PB只能工作在方式0。
PC口联络信号定义
C口
PC 7 PC 6 PC 5 PC 4 PC 3 PC 2 PC1 PC 0
IBFA STBA INTRA STBB IBFB INTRB
方式1
输入
方式2
输入
输出 OBFA ACKA
• 若芯片的数据线正好8根:
– 一次可从芯片中访问到8位数据 – 全部数据线与系统的8位数据总线相连
• 若芯片的数据线不足8根:
– 一次不能从一个芯片中访问到8位数据 – 利用多个芯片扩充数据位 – 这个扩充方式简称“位扩充”
A 9~ A 0 片选
CE 2114(2) A 9~ A 0 I/O4~I/O1 CE 2114(1) I/O4~I/O1
方法3:线选法
地址范围:2732为0000H~0FFFH和 3000H~3FFFH; 6116为5000H~57FFH或5800H~5FFFH和 9000H~97FFH或9800H~9FPFH。
5. 8255A可编程并行I/O口扩展芯片 5-1 可编程I/O接口概述 简单I/O扩展:实现数据缓冲和数据锁存 可编程I/O扩展:还具有状态寄存和命令寄存功能, 通过软件编程方式,确定扩展芯片的工作方式。
逻辑符号及管脚配置如下:
扩展64k动态RAM: 八片2164A与CPU8051连接
4.3 存储器接口实现方式 ------ CPU总线的负载能力
• 通常CPU总线的负载能力是一个TTL器件或20 个MOS器件。 • 一般小型系统中, CPU 可直接与存储器芯片 相连。而在较大系统中,当总线负载数超过 限定时应当加接驱动器。
典型芯片:8255A,8155
5-2 8255A的逻辑结构和 引脚
口电路
PA、PB是单纯的数据口, PC既可作数据口,也可作 控制口,用于对PA、PB 的控制。
PC7~4,控制PA PC3~0,控制PB
PA 、 PC7~4称为A组;
PB 、 PC3~0称为B组
PA 3 PA 2 PA 1 PA 0 RD CS GND A1 A0 PC 7 PC 6 PC 5 PC 4 PC 0 PC 1 PC 2 PC 3 PB 0 PB 1 PB 2
译码和译码器
译码:将某个特定的“编码输入”翻 译为唯一“有效输出”的过程
译码电路多采用集成译码器 常用的2:4译码器74LS139 常用的3:8译码器74LS138 常用的4:16译码器74LS154
全译码 所有的系统地址线均参与对存储单元的 译码寻址 包括低位地址线对芯片内各存储单元的 译码寻址(片内译码),高位地址线对 存储芯片的译码寻址(片选译码) 采用全译码,每个存储单元的地址都是 唯一的,不存在地址重复 译码电路可能比较复杂、连线也较多
输出 OBFA ACKA
IBFA STBA
INTRA ACKB OBFB INTRB
INTRA
INTRA
数据输入
STB :选通脉冲(输入),低电平有效。
IBF:输入缓冲器满信号(输出),高电平有效。此信号 有效,数据已装入8255A锁存器。状态信号 INTR:中断请求信号(输出),高电平有效。
STB
4.2 存贮器接口电路设计 4.2.1 程序存储器接口设计
程 序 存 贮 器 通 常 包 括 : 2 7 C16、 27C64、27C128、27C256、27C512 等 。 本节主要介绍以下几种: EPROM 27C16
EPROM 27C256
带锁存器的 EPROM 87C64, 87C256
5-3 8255A工作方式及数据I/O操作
方式0:基本输入/输出方式 两个8位口PA、PB及两个4位口,输入/输出的任意组合。 适用于无条件数据传输。也可以对C口进行位操作。以C口 某一位状态,实现查询方式数据传送。
方式1:选通输入/输出方式
PA、PB用于数据输入/输出,PC用于数据传送联络信号
方式2:双向数据传送方式
任意
D4
D3
D2
D1
D0
置位:1置1,0置0 01 2 34 56 7 01 0 101 0 1 00 1 100 1 1 00 0 011 1 1
置位标志:0有效
8255A初始化 系统要求:PA口:工作方式0,输入;PB口:工作方式1, 输出;PC4~PC7为输出;PC2~PC0用于PB口方式1选 通控制信号,尚余PC3线为输入。 假定8255A的地址为:5FFCH~5FFFH
8255A读/写控制表
CS 0 0 0 0 0 0 0 1
A1 0 0 1 0 0 1 1
A0 0 1 0 0 1 0 1
RD 0 0 0 1 1 1 1
WR 1 1 1 0 0 0 0
选中端口 A B C A B C 控制寄存器 /
操作 读 A口 读 B口 读 C口 写 A口 写 B口 写 C口 写控制字 高阻抗
例:要求用 2764 芯片扩展 8031 的片外程序 存 储 器 空 间 , 分 配 的 地 址 范 围 为 0000H~3FFFH。 采用完全译码方法。 (1) 确定片数。
因0000H ~ 3FFFH的存储空间为16 KB, 则
所需芯片数= 16 KB/ 8 KB = 2(片)
(2) 分配地址范围。
A 9~ A 0
D7~ D4 D3~ D0百度文库
4.3 存储器接口实现方式 ------存储器与地址总线的连接 • 存储器与地址总线的连接,本质上就是在地 址分配的基础上实现地址译码,保证 CPU 能 对存储器中所有单元正确寻址。 • 它包括两方面内容:一是高位地址线译码, 用以选择存储芯片(“字扩充”);二是低 位地址线连接,用以通过片内地址译码器选 择存储单元。 –全译码法 –部分译码法
• 地址线、控制线时是单向的,故采用单向驱 动器,如74LS244;数据线是双向传动的,故 采用双向驱动器, 如74LS245;
1G ,2G为H时,Y为高阻; 1G,2G为L 时,Y=A
G为H时,为高阻; G=L,DIR=0;B→A G=L,DIR=1;A→B
4.3.存储器接口实现方式 ------存储芯片数据线的处理
(2) 分配地址范围。
(2) 分配地址范围。
(3) 存储器扩展连接
部分译码
只有部分(高位)地址线参与对存 储芯片的译码 每个存储单元将对应多个地址(地 址重复),需要选取一个可用地址 可简化译码电路的设计 但系统的部分地址空间将被浪费
CPU地址总线为16位,存储器由4片容量为8KB 的芯片构成时,采用部分译码法寻址32KB。
8K的EPROM和4K静态RAM的连接。
方法1:译码器按大容量芯片连结
方法2:译码器按小容量芯片连结
地址范围是: EPROM2732为F000H~FFFFH和C000H~ CFFFH。 静态RAM 6116为A000H~A7FFH或 A800~AFFFH和6000H~67FFH或 6800~6FFFH。
下图是利用线选法,用3 片2764 扩展24K×8 位EPROM 的电路图:
译码法寻址 译码法寻址就是利用地址译码器对系统的片外 高位地址进行译码 , 以其译码输出作为存储器芯片 的片选信号, 将地址划分为连续的地址空间块, 避免 了地址的间断
译码法仍用低位地址线对每片内的存储单元进行 寻址, 而高位地址线经过译码器译码后输出作为各 芯片的片选信号
EPROM 27C16
2K×8位的可改写只读存贮器
EPROM 27C16与单片机80C31之间的接口如下
图4.2 外接27C16
4-6
EPROM 27C256 32K×8位可改写只读存贮器
27C256与8031之间的接口设计
带锁存器的 EPROM 87C64
8K×8的EPROM存贮器,将地址锁存器集 中在芯片内部。功能上相当于1块27C64和2 块74HCT573。
A15 A14 A13 A12 A11 A10 A9 1 0 1 0 0 0 0
A8 0
A7 0
A6 0
A5 0
A4 0
A3 0
A2 0
A1 0
A0 0
1
1
0
0
1
1
.
1
.
1
.
1
.
1
.
1
.
1
.
1
.
1
.
1
.
1
.
1
.
1
.
1
地址范围:A000H~BFFFH
A15所选芯片的地址范围: 6000H~7FFFH A14所选芯片的地址范围: A000H~BFFFH A13所选芯片的地址范围: C000H~DFFFH
相关文档
最新文档