你好!欢迎来到 !
语言
当前位置: 首页>> 技术中心>> 单片机入门>> 单片机程序存储器的扩展

单片机程序存储器的扩展

作者:admin 来源:不详 发布时间:2018-05-08 浏览:0
当单片机内部程序存储器容量不足时,就需要进行程序存储器的扩展。单片机的程序存储器扩展使用只读存储器芯片。只读存储器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 译码法扩展

编辑:admin 最后修改时间:2018-05-08

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright ? 2014-2023 All Rights Reserved.粤ICP备14043402号-4

Baidu
map