首页 理论教育单片机程序存储器扩展方法

单片机程序存储器扩展方法

【摘要】:故对于8031,其内部没有用户可用的程序存储器需接地;对于8051、8751、8951单片机,其内部存在用户程序存储器,为了充分利用单片机资源,一般接高电平,如图8-12所示为8051扩展一片2716EPROM的连接方法。控制信号,程序存储器的扩展只涉及,把该信号连接到2716的引脚,用于存储器读出选通。

MCS-51系列单片机当EA引脚接低电平时,CPU总是从外部的程序存储器中取指令;当引脚接高电平,CPU取指令时,PC值在内部程序存储器范围内时从内部取指令,PC值大于内部程序存储器地址时从外部程序存储器取指令。故对于8031,其内部没有用户可用的程序存储器需接地;对于8051、8751、8951单片机,其内部存在用户程序存储器,为了充分利用单片机资源,一般接高电平,如图8-12所示为8051扩展一片2716(2K×8)EPROM的连接方法。

1.扩展的主要内容

2716的存储容量为2KB,需11位地址(A10~A0)进行存储单元编址。为此先把芯片的A7~A0引脚与地址锁存器的8位地址输出对应连接,再把A10~A8引脚与P2口的P 2.2~P2.0相连。采用线选法进行片选,只需在剩下的高位地址线中取一位(P 2.7)与2716的端相连即可。

数据线的连接比较简单,只要把存储芯片的数据输出引脚与单片机P0口线对应连接就可以了。控制信号,程序存储器的扩展只涉及(外部程序存储器读选通),把该信号连接到2716的引脚,用于存储器读出选通。

2.存储单元地址分析

(www.chuimin.cn)

图8-12 8051单片机扩展一片2716的接口电路图

图8-12中信号接高,因此单片机程序存储器从内部开始访问,外扩程序存储器的地址应从内部4K地址(0000H~0FFFH)衔接地址开始或者外部地址应跳过该4K地址空间,即外部扩展的地址范围不能和内部地址重叠。单片机的低11位地址线接2716的片内地址线,因此该11根地址用于2716的片内寻址,2716的片选使能信号接P2.7,当P2.7为高时选中芯片。单片机其余未用到的4根地址线状态不影响2716的存储单元的选址,由此可以得到如表8-1所示的2716寻址表。

表8-1 2716寻址表

由于P2.6~P2.3的状态与2716芯片的寻址无关,所以在该芯片被寻址时P2.6~P2.3可以为任意状态,即0000~1111共16种组合,表明2716在这16种组合中的任何一种都可以被寻址,也就是有16个地址区间,即8000H~87FFH,8800H~8FFFH,9000H~97FFH,9800H~9FFFH,…,这就是线选法存在的地址重叠问题。