单片机地址扩展后

我们在单片机的存储空间不够用之后,需要外扩这个时候我们一般,要么外扩RAM、要么外扩Flash、要么RAM和Flash一起扩,但是不管怎么样,我们这里有几个问题需要澄清下:

1、单片机上电后怎么执行外扩的Flash程序?

EA/VPP 访问和序存储器控制信号:

接高电平时:当EA为高电平时,CPU执行片内程序存储器指令,当PC的值超过0FFFFH时,将自动转执行片外程序存储器指令;

接低电平时:CPU直接读取外部程序存储器(ROM)。

PSEN:是片外程序存储器的读选通信号,低电平有效,CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。

主要PSEN只是读选通信号,他和EA是两种方式,但有不同EA是选择外部ROM来运行程序,但是PSEN只是选通外部的ROM来读取里面的数据,是完全的两码事。

2、先在你能外扩ROM,你的程序存储空间变大了,但是你怎么下在程序到里面去呢?

1、采用仿真器来下载你的程序到你的Flash里面去,但是要你的仿真器支持这个功能

2、有的Flash这里在线编程的话,那就可以通过串口或者ISP来下在你的程序

3、先在外部的ROM解决了,那外部的RAM是怎么操作的呢

那首先你需要知道外部RAM的地址范围,你可以采取指针的方式在你的外部RAM里面存储你的数据

4、如果你要外扩大于64K的存储内容的时候,那么你就需要采用分页的方式来处理

也许你问到怎么访问外部的RAM,嘿嘿参考下面一文章。

原文地址:https://www.cnblogs.com/xmphoenix/p/2221945.html