STC8H8K64U单片机存储器总结

前言
本文对stc8h8k64u单片机存储器进行了总结(它的内存构造和其他单片机并无太大差别),并发表了本人的一些看法,存储器是单片机、微机的关键,理解这一部分内容,受益终生。
一、程序存储器
程序存储器(又称为数据flash),顾名思义,是用来存放用户的程序,让单片机按照所写代码顺序执行,并完成指定任务。
所以程序存储器也就是我们听说过很多次的rom(read-only memory)只读存储器。
里面存放的是代码,一般还有常数、表格、圆周率值、数码管字形、单片机id号、内部参考信号源、掉电唤醒定时器频率、irc参数等等数据
注意:单片机每次都是烧录程序,烧录就是为了把代码放到程序存储器中,而我们用的电脑则是把硬盘的数据和程序放到ram,再用cpu去读取ram里面的数据和程序
一般在c51中,我们可以加个code,把数据存在程序flash中。
unsigned char code date[2] = {0x01,0x20};
二、片内基本ram
片内基本ram,听名字是不是感觉就是只个ram(random access memory)随机存储器,以stc8h8k64u单片机256字节的ram为例,其实这部分包括有:
片内低128字节,高128字节以及特殊功能寄存器。
为什么要把低128字节和高128字节分开说呢,因为功能不同
1.低128字节ram
低128字节ram是单片机基本的数据存储区,是最接近cpu的数据存储区,也是功能最丰富的存储区。
它有哪些功能呢,见下图:
可以看到,此型号单片机低128字节ram包含了4个工作寄存器组,一个组内有8个寄存器,可位寻址区,堆栈区。
对于堆栈区,我有些许心得,平时我们执行的函数,进入函数便要使用栈,进行压栈,退出函数的时候就出栈,可以说,栈的作用就是记忆,记录下进入函数之前的位置,执行完函数,原路返回,我们定义的主函数也是函数,其中的临时变量等也在栈区,但是全局变量不在堆栈区。
此处我并没有讲堆栈的区别,此文重心不在这个上面,主要是对内存有整体的认识。
2.高128字节ram 与 特殊功能寄存器
高128字节的地址和特殊功能寄存器地址是一样的,你会很奇怪,这不是冲突了吗?
没错,确实冲突了!
但是我们可以通过不同的操作方式来访问他们,高128字节ram只能采用间接寻址的方式来访问,特殊功能寄存器则可以使用直接寻址的方式来访问。(如果不清楚寻址方式的话,可以去看一下另一篇文章《指令系统与寻址方式》以及系列文章)
在c51中,要在高128字节存放数据可以使用:
unsigned char idata date[2] = {0x01,0x20};
特殊功能寄存器可以用其名字即可进行存取操作
三、拓展ram
拓展ram又分为片内拓展ram和片外拓展ram
扩展ram类似于传统的片外数据存储器,采用访问片外数据存储器的访问指令(汇编助记符为 movx )访问扩展ram区域。
可以通过auxr寄存器中的exteram位来选择片内拓展ram或片外拓展ram。
有这东西完全是因为片内基本ram实在太少了。
四、eeprom
eeprrom,你可以从它的名字上看出rom这三个字母,没错,它属于rom,它又被称为数据flash,在iap功能下,程序存储器用剩下的空间会被用作数据flash(eeprom),用来存放一些应用时需要经常修改,掉电后又能保持不变的参数。
最后放一张图,让大家感受一下整体结构。

不再焦虑GPU供应,8芯片挑战5万亿参数大模型
国内的自动驾驶和智能网联示范区简单的分析
2020年区块链将面临的挑战以及未来发展趋势
独石电容与cbb电容区别
物联网设备之间直接通信的新组件
STC8H8K64U单片机存储器总结
高通5G调制解调器手机让大家率先体验5G网络
为什么LED行业要测试基波功率因数,如何测试?
5G融合应用发展面临的挑战和思考
小程序也来“抢”商业闭环?
LM4732构成的辅助音频功率放大电路图
Sophos Intercept X深度学习技术预测安全
实现移动通信网络监控系统的设计论述
物理隔离的切断IDE数据线
IFA 2023开幕在即,涂鸦携众多创新节能方案推进绿色低碳
LA7830/7838/7840/7846场输出电路各引脚功
实时高性能智能网络处理器SoC芯片FH8896介绍
3相马达控制板STEVAL-IHM021V2的主要特性及应用方案
Arm发布Corte-X4/A720/520 CPU新架构
realmeX青春版价格公布 售价1199元起