第七章 单片机存储器的扩展
7.1 MCS-51单片机扩展及系统结构
三总线 数据总线 单片机和存储单元,以及单片机和I/O端口之间传输数据。 双向传输。 数据总线宽度为8位,由P0口提供。
地址总线 是单片机送出的地址信号,进行存储单元和I/O端口的选择。 地址总线是单向的,从单片机发出。 8051单片机16位地址总线,可寻址范围为216,即64K。高8位A15~A8由P2口提供,低8位A7~A0由P0口提供。 P0口是数据、地址分时复用,故P0口输出的低8位地址线必须用地址锁存器进行锁存。地址锁存器一般选用带三态缓冲输出的8D锁存器 74LS373。
控制总线 一组控制信号的总称。有单片机发出的,也有从其它部件发向单片机的。 对于某一特定的控制线,其传输方向是单向的。 控制总线包括: ALE—— 地址锁存允许信号(下降沿锁存地址); RD、 WR —— 片外RAM读、写控制(低电平有效); PSEN ——片外ROM选通控制(低电平有效); EA——片内、片外ROM选择信号(低电平有效)。
锁存器 典型芯片 74LS273 带复位功能的8D触发器。 MR CLK DX QX X 1 ↑
锁存器 典型芯片 74LS373 带三态缓冲输出的8D触发器。 OE LE DX QX 1 X Q0 高阻
锁存器与单片机接口连接电路 单片机P0口与锁存器输入端D0~D7相连; 锁存器输出端Q0~Q7与外存储器的低8位地址线相连; 单片机ALE引脚与74LS373的LE引脚相连; 当ALE高电平时74LS373直通; 当ALE下降沿时,锁存低8位地址信息,P0口的数据变化不会影响Q端; 74LS373的OE端接地。
7.2 MCS-51单片机存储器扩展编址技术 7.2.1 MCS-51单片机存储器系统
程序存储器ROM的结构 数据存储器RAM的结构 0000H 0FFFH 1000H FFFFH EA=1 EA=0 0000H 007FH 内部 0000H 0FFFH 1000H FFFFH EA=1 外部ROM EA=0 内部ROM 0000H 007FH 0080H 00FFH 内部RAM 特殊功能寄存器 FFFFH 外部RAM (64k) 0100H
7.2.2 单片机存储器扩展编址及映像
3 1
7.3 MCS-51单片机程序存储器扩展 7.3.1 ROM的发展 ROM (Read Only Memory,只读存储器) PROM (Programmable ROM,可编程ROM) EPROM (Erasable Programmable ROM,可擦除可编程ROM) E2PROM (Electrically Erasable Programmable ROM,电可擦除可编程ROM) Flash ROM 闪存
存储器容量(Q)与地址线数目(N)满足关系式: 7.3.2 扩展ROM的芯片 2716、2732、2764、27128、27256、27512等; Intel 公司27系列产品; EPROM —— 加电编程,紫外线可擦除; 存储容量:2K、4K、8K、 16K、32K、64K; 分别需要11、12、13、14、15、16根地址线; 存储器容量(Q)与地址线数目(N)满足关系式: Q=2N
2716芯片引脚 D D
D
7.3.3 扩展ROM的接口电路 P0 D D
访问片外ROM的时序 : CPU在访问片外ROM的一个机器周期内,信号ALE出现两次(正脉冲),ROM选通信号也两次有效,这说明在一个机器周期内,CPU两次访问片外ROM,也即在一个机器周期内可以处理两个字节的指令代码,所以在51系列单片机指令系统中有很多单周期双字节指令。
P0 D D
D D
ALE G D
…
7.4 MCS-51单片机数据存储器扩展 7.4.1 随机存储器概述 7.4.1 随机存储器概述 随机存储器(Random Access Memory),可以进行读写两种操作。 随机存储器(RAM),分为静态(SRAM)和动态(DRAM)两种。 SRAM: 加电即可保存信息; DRAM:加电,不断进行周期性刷新,才可保存信息。
存储器容量(Q)与地址线数目(N)满足关系式: 7.4.2 扩展SRAM的芯片 6116、6264、62256等; Intel 公司61(62)系列产品; SRAM —— 加电保存,掉电后信息消失; 存储容量:2K、8K、32K; 分别需要11、13、15根地址线; 存储器容量(Q)与地址线数目(N)满足关系式: Q=2N
6116芯片引脚
6264芯片引脚 12 CE:片选信号
6264工作方式 状态 /CE CS /OE /WE D7~D0 未选中 1 × 高阻 读出 输出 写入 输入
7.4.3 扩展RAM的接口电路
6264寻址范围 A15 A14 A13 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 × × × 1 1 1 1 1 1 1 1 1 1 1 1 1 其8个重叠的地址范围为如下: 0000000000000000~0001111111111111,即0000H~1FFFH; 0010000000000000~0011111111111111,即2000H~3FFFH; 0100000000000000~0101111111111111,即4000H~5FFFH; 0110000000000000~0111111111111111,即6000H~7FFFH; 1000000000000000~1001111111111111,即8000H~9FFFH; 1010000000000000~1011111111111111,即A000H~BFFFH; 1100000000000000~1101111111111111,即C000H~DFFFH; 1110000000000000~1111111111111111,即E000H~FFFFH。
外部RAM写时序图
外部RAM读时序图
线选法扩展两片6264 Q D LE
6264寻址范围 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 × × × 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1000H~17FFH P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 × × × 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0800H~0FFFH
6264寻址范围 0000H~1FFFH 地址唯一 2000H~3FFFH地址唯一 4000H~5FFFH地址唯一 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 A15 A14 A13 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 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0000H~1FFFH 地址唯一 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2000H~3FFFH地址唯一 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 4000H~5FFFH地址唯一
7.5 存储器综合扩展 7.5.1 同时扩展ROM和RAM D Q LE
线选法地址范围: 2764(ROM)片选接P2.6 地址为:0000H~1FFFH 6264(RAM)片选接P2.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 A15 A14 A13 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 0 1 1 1 1 1 1 1 1 1 1 1 1 1 地址为:0000H~1FFFH 6264(RAM)片选接P2.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 A15 A14 A13 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 0 1 1 1 1 1 1 1 1 1 1 1 1 1 地址为:0000H~1FFFH
4118(1) 4118(2)