wuzhengmin 发表于 2025-12-2 11:40:05

以下系列特殊,用户可以在用户程序区直接修改用户程序,所有Flash空间均可作数据Flash(EEPROM)修改
注:没有专门的数据Flash,但是用户可以将用户程序区的程序Flash当作数据Flash使用,使用时不要擦除字节的有效程序

wuzhengmin 发表于 2025-12-2 11:41:47

STC15系列的单片机内部集成了RAM存储器,可用于存放程序执行的中间结果和过程数据

历史的局限就是这样,基本RAM存储器只有256字节

一个是当时器件的造价格太高,再一个是C51寻址指令集就是16位

毕竟要兼容旧设备.............






wuzhengmin 发表于 2025-12-2 11:54:20

认真看片内基本RAM:



以STC15系列单片机为例,在单片机内部集成了4K字节的RAM内部数据存储器。
在逻辑和物理上,将其分为两个地址空间内部基本RAM,
某容量为256个字节(与传统MCS-51相同)
内部扩展RAM,其容量为3840个字节

wuzhengmin 发表于 2025-12-2 11:58:41

看何老师第一个图:

CUP 直接和片内256字节的RAM交换数据,直接打交道


wuzhengmin 发表于 2025-12-2 12:00:48

这个RAM空间只有256Bit

好笑么?

wuzhengmin 发表于 2025-12-2 12:02:08

不够用怎么办?当时的方法是在片外连接.....

wuzhengmin 发表于 2025-12-2 12:09:22

SRAM 性价比很低,保存一个字节要6个晶体管,存储密度太低。

所以这个256字节的基本RAM就只能这样啦。

不够用的时候,外面加的SRAM叫扩展SRAM



wuzhengmin 发表于 2025-12-2 12:12:36

随着时代进步,面对这基本存储器只有256字节

半导体技术飞速发展,256肯定不够,怎么办?

1,先把原来片外扩展的SRAM移动到片内:


wuzhengmin 发表于 2025-12-2 12:14:34

那些连接线也就没有了,看看框图:

也改名,叫做片内扩展SRAM:


wuzhengmin 发表于 2025-12-2 12:19:28

总结一下:

当年我们基本的RAM和扩展的RAM是这样的:
随着时代的发展,现在编译器发现基本RAM已经这样了。怎么办?
首先把原来在片外的SRAM移入片内,变成片内的扩展SRAM。但是对KeilμVision 来说,它不管你是在片内还是片外,仍然认为扩展SRAM是原来的扩展SRAM。

这段对我们这些1980年入学的老物理系物理专业的大学本科生,特别亲切,想想当年的Z80,满眼是泪.............
STC15系列单片机为例,在单片机内部集成了4K字节的RAM,4K是基本存储容量256字节+内部扩展SRAM3480=4096=4*1024K=4K,40年前,这256字节的RAM特别特别宝贵。



对KeilμVision来说,内部扩展SRAM3480任然是扩展SRAM

页: 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37
查看完整版本: 跟着何宾老师学习STC32位8051单片机原理及应用-STC32G12K128