wuzhengmin 发表于 2025-12-2 12:24:29

STC15系列单片机4K 是怎么算出来的?
STC15系列单片机为例,在单片机内部集成了4K字节的RAM,4K是基本存储容量256字节+内部扩展SRAM3480=4096=4*1024K=4K,

wuzhengmin 发表于 2025-12-2 12:42:40

对INTEL来说,片内256字节是非常重要的:

虽然CISC是复杂指令集架构,但是物理实现上很精简,反而是RICS 号称精简指令集架构,

但在物理实现上,很不精简,不惜成本的干.....

高128个字节,地址要和特殊功能寄存器SFRs共用!



wuzhengmin 发表于 2025-12-2 12:54:45

这共用地址的128个字节,物理电路的实现是完全不同

寄存器那里是触发器和寄存器的逻辑电路,RAM就用存储器结构

CUP寻址模式不同,对应的就不同,直接寻址就是房屋SFRs

间接寻址就是访问RAM

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

片内基本RAM

低128字节00----7F 称为低128字节,80---FF称为高128字节

低128字节RAM(兼容传统MCS-51单片机):

wuzhengmin 发表于 2025-12-2 12:59:04

该存储区域包括工作寄存器组区域:

这部分寄存器(共32个寄存器)的编码都是R0---R7 ,通过程序状态寄存器R0和R1来隐射其他的寄存器,4*8=32 。
这样指令编码的长度就没问题了。其实intel也很聪明的。20H到2FH是128位,不但可以用字节访问,也可以按位来访问,可以位操作。
这16个字节128位(Byte)很好用,很特殊。30H 到7FH,y用户可以自由发挥。

wuzhengmin 发表于 2025-12-2 13:08:43

总结以上,看懂2张图:

wuzhengmin 发表于 2025-12-2 13:10:04

接下来看看STC的创新:

wuzhengmin 发表于 2025-12-2 13:19:00

寄存器 EXTRAM= 0
的时候:

0x0000----0x0EFF 看成是片内扩展区域

0x0F00---0xFFFF 看成是外部RAM60.25KB



当EXTRAM=1 :
0x0000H -----0xFFFFH外部 RAM 64KB

wuzhengmin 发表于 2025-12-2 13:29:56

看下图,才知道外部RAM60.25KB

wuzhengmin 发表于 2025-12-2 13:31:00

那3.75KB对应哪里?

看下图:

虽然物理上不同,但Keil uVision 的角度,这256+(3.75K是片内还是片外是没区别的)


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