单片机程序存储器的扩展

来源:本站
导读:目前正在解读《单片机程序存储器的扩展》的相关信息,《单片机程序存储器的扩展》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《单片机程序存储器的扩展》的详细说明。
当单片机内部程序存储器容量不足时,就需要进行程序存储器的扩展。单片机的程序存储器扩展使用只读存储器芯片。只读存储器ROM中的信息一旦写入之后就不能随意更改,即不能在程序运行过程中写入新的内容,而只能读存储单元内容。因为掉电后ROM中存放的数据不会丢失,所以ROM适宜存放程序、常数、表格等。存储器扩展的核心问题是存储器的编址问题。所谓编址就是给存储单元分配地址。由于存储器通常由多片芯片组成,因此存储器的编址分为两个层次,即存储器芯片的选择和存储器芯片内部存储单元的选择。 一、存储器编址技术

编址就是给存储单元分配地址。使用系统提供的地址线,通过适当的连接,使得一个地址唯一对应存储器中一个存储单元。存储器芯片的选择有两种方法:

1.线选法----直接以系统的地址作为存储芯片的片选信号。优点是简单不需增加额外电路,适用于小规模单片机系统的存储器扩展;缺点是存储空间不连续。

2.译码法---使用译码器对系统的高位地址进行译码,以其译码输出作为存储芯片的片选信号。优点是存储空间连续,适用于大容量多芯片存储器扩展;缺点是硬件设计需要增加译码器。

3.译码器

译码法时需要采用译码芯片,常见译码芯片有:74LS139(双2-4译码器)和74LS138(3-8译码器)等,它们的CMOS型芯片分别是74HC139和74HC138。74LS138如图1所示。

单片机程序存储器的扩展
图1 74LS138芯片

74LS138的真值表说明了其输入输出以及控制信号的关系,如图2所示。

单片机程序存储器的扩展
图2 74LS138的真值表

二、EEPROM接口设计

以2764为例来说明存储器的扩展接口设计方法。2764是一种8K×8位的紫外线擦除电可编程只读存储器,单一+5V供电,工作电流为100mA,维持电流为50mA,读出时间最大为250ns。2764为双列直插式28引脚的标准芯片,容量为8K×8位。其引脚见图3。

2764在使用时,只能将其所存储的内容读出。即首先送出要读出的单元地址,然后使单片机程序存储器的扩展单片机程序存储器的扩展均有效(低电平),则在芯片的D0~D7数据线上就可以输出要读出的内容。其过程的时序关系如图4所示。

单片机程序存储器的扩展单片机程序存储器的扩展
图3 2764引脚图 图4 2764时序图

以下两个例子均采用2764,分别采用线选法和译码法来进行程序存储器扩展。

例1.采用线选法,使用两片2764,一共构成8K×2=16K的有效地址。

解:2764有13根地址线,分别由P0.0~P0.7、P2.0~P2.4提供,系统的P2.5~P2.7没有用,采用2片2764构成系统,则可以使用P2.5~P2.7中的任何2根作为线选线,在本设计中采用P2.5和P2.6作为线选线,则可分析得到这2块芯片的基本地址范围。

假设未用地址线取0,则2764(1)的基本地址范围:4000H~5FFFH。

假设未用地址线取0,则2764(2)的基本地址范围:2000H~3FFFH。

单片机程序存储器的扩展
图5 线选法扩展

例2.用EPROM2764扩展生成24KB的程序连续存储空间,采用74LS138译码,要求该24KB的地址空间从8000H开始编码。

解:由于1块2764芯片是8KB,所以要生成24KB的程序存储空间需要3块2764芯片;由于生成的是连续的存储空间,所以采用译码法。地址空间要求从8000H开始编码,则

2764(1)的基本地址范围:8000H~9FFFH:

2764(2)的基本地址范围:A000H~BFFFH:

2764(3)的基本地址范围:C000H~DFFFH:

观察3块芯片的高位地址线A15~A13,并考虑74LS138译码器的输入与输出之间的关系(见图2)可知,3块2764芯片应依次接Y4、Y5、Y6输出端。扩展电路图见图6。

单片机程序存储器的扩展
图6 译码法扩展
提醒:《单片机程序存储器的扩展》最后刷新时间 2023-07-10 04:01:44,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机程序存储器的扩展》该内容的真实性请自行鉴别。