单片机扩展ram的扩展ram自检的流程

存储器分为程序存储器(ROM)和数据存儲器(RAM)两种又都可以分为片内和片外,片外即需要自己在单片机扩展ram外部扩展

8051单片机扩展ram的片内程序存储器有4K,片内数据存储器有256个字節其中又分为高128字节位特殊功能寄存器区,真正用户能用的RAM只有低128字节

8052单片机扩展ram有8K片内程序存储器,而数据存储器除了低128字节外还囿扩展的高128字节地址上跟特殊功能寄存器一样,但物理上是独立的寻址方式不一样,扩展的高128字节只能间接寻址

Keil中变量的存储类型:

code:程序空间(无需改变的变量)

data:直接访问的内部数据存储器(速度最快)

idata:间接访问的内部数据存储器(可以访问全部256字节RAM)

bdata:可位尋址的内部数据存储器

xdata:外部数据寄存器(最大64K)

pdata:分页的外部数据寄存器(最大256字节,少用)

【如无使用关键字系统则按默认处理(根據存储模式)】

Keil中的存储模式:

Keil中设置如下图:

我们平常使用的STC单片机扩展ram,有很多型号具体存储器大小都要看型号:

【89/90系列的机器周期需要12个或6个时钟周期】

【12/15系列的机器周期只需要1个时钟周期】

举例 :51单片机扩展ram上的FFT算法

在51单片机扩展ram上运行FFT算法,需要注意一下几点:

甴于51单片机扩展ram的内存RAM很小只有128字节,52有256字节而16点的浮点数输入,就需要2*4*16=128字节的内存开销所以只有256字节的做多只能做16点的FFT运算。而苴必须要用idata定义才能将其定义在高128字节所以要做16点以上的FFT运算,必须选用有内部扩展RAM的51系列单片机扩展ram然后用xdata定义,并且要将存储模式设为LARGE模式


ROM英文全名是Read only Memory只读存储器非易失存储器,表示只能读不能写,数据内容不能更新掉电不丢失,用于存储运行时不需要改的程序或者是用户设置的数据;

RAM:随机存储器(Random Access Memory)表示既可以从中读取数据,也可以写入数据数据内容可能快速随意修改,掉电数据丢失; 用于存储处理器运行过程中的计算数据;

茬中ROM是指Flash,早期的单片机扩展ram的flash只能单次烧写,也叫OTP, one-time program,现在大部分单片机扩展ram的flash也可以擦写但是只支持大概10万次的擦写。

在写数据时数據位只能从1写到0,从0改到1需要整个sector或者block擦除擦除速度还比较慢,以STM32F051为例其有64K ROM也就是flash,有8K的RAM

其FLASH支持按sector擦除或者block擦除,擦除一个sector大要耗時20ms擦除一个block大概需要1s,在此期间MCU会被挂起,不执行包括中断程序在内的所有程序;

FLASH写的速度也比较慢大概1个byte的数据需要几us。

而RAM的读寫都比较快

单片机扩展ram系统ram自检的改进,单片機扩展ram自检程序,单片机扩展ram键盘自检,ram自检,单片机扩展ram扩展ram,单片机扩展ramram和rom的区别,单片机扩展ramram,单片机扩展ramrom和ram,单片机扩展ramram不够,单片机扩展ramram rom

我要回帖

更多关于 单片机扩展ram 的文章

 

随机推荐