51单片机(stc12系列) 想知道单片机的内存到底是如何分配的?

就以stc12c5a60s2.h为例吧,对于这一款单片机来说:
1 它的程序是放在哪里?是flash里面吗?
2 它的数据会放在哪里?EEP?可是我看datasheet在《EEPROM使用》章节上说EEP的扇区~~~我很费解,不是只有flash才有扇区的嘛(EEP是按照字节存储的,对吧)
3在单片机中,什么样的数据会存储在RAM中啊,RAM 和SRAM有啥区别啊?
4 按照我的理解会不会这款单片机只有Flash,没有EEP啊?
我很迷糊,求大神拍醒我~~~

51单片机哪有内存?
1.程序在EPROM里,flash是扩展的存储器,不是直接寻址,不能用来运行程序,通常存放字库临时数据,报告之类的东西。
2. 程序运行时的数据(静态变量,自动变量之类)在RAM里。
3. RAM,就是程序运行时用到的数据存在里面(这些数据程序不运行就不存在),说白里就是静态变量,自动变量这些。。。SRAM是静态存储器,和RAM只是物理原理上的不通,对于编程者用途是一样的。。。
4. 单片机的FLASH很多只是类似U盘的功能NAND flash,不具备随机存取的能力,也不能运行程序,一些不常用的或数据比量较大的比如字库,或者运行报告(比如程序要记账,定时有人员要查账之类的),运行参数之类的会考虑在这里放。。。
还有单片机因为简单速度慢,程序是放在EPROM里,一些其他芯片会放在NOR FLASH里,如果非常高速的芯片,会有较大的RAM,程序会在RAM里运行,比如计算机内存,就属于RAM,现在大多数电脑都是4G内存。。。RAM最大特点是断电数据消失,但存取速度最快,高速的处理器都会考虑程序和运行时的数据都放在外部RAM里。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-15

    程序储存器就是FLASH,这个你的理解是对的。

    这里你说的数据是什么数据?这个要明确。STC里所谓的EEPROM,实际就是FLASH,从非易失性角度来说也勉强能用。因为用了FLASH来模拟EEPROM功能所以也就有扇区这个概念了。

    普通变量一般都存在RAM里..。这里你说的RAM,SRAM那应该是内部RAM跟外部RAM了。SRAM速度比较慢,容量大,所以一般需要变量数据量大的时候使用SRAM.STC里超过了AT单片机规格部分的RAM一般都是用外部RAM访问的方法来访问。

    是的,只有FLASH。。但是如果你需要保存的非易失性数据量不大你可以一个扇区存一个字节。这样就可以实现字节擦写了。就相当于EEPROM。

本回答被提问者采纳

stc12系列的单片机执行一条指令的时间 是多少?
51单片机,stc12系列的12M晶振,晶振周期1\/12微妙,一个机器周期包含12个晶振周期,所以12M晶振时机器周期=12x(1\/12)微妙=1微妙。DJNZ R0,REL指令周期包含2个机器周期,执行完后要花费2微妙时间。

51单片机立创stc的容量大小是多少?
STC单片机,到目前有多个系列了,STC89是初学常用的,STC90用的少些。STC10\/11,STC12是1T的,新系列有STC15,STC8,共6个系列。这6个系列的,内部FLASH容量有多种规格的,最大容量可达60K,最小容量是1K的。

STC12单片机烧写提示程序空间已满
意思就是程序空间超了,比如你单片机ROM程序存储空间是8K,你HEX烧写文件超过8K,下载器会把HEX 8K数据下载到单片机其余的数据丢掉了,这样程序下载到单片机肯定不正常的了

51系列单片机的周期是多少?
1.大部分51单片机1个机器周期=12个时钟周期(或振荡周期),有些增强型的1个机器周期=1个时钟周期(或振荡周期),如stc12系列,stc15系列 2.51单片机的机器周期=1\/晶振频率;当晶振频率=11.0592MHz,1个机器周期=12个时钟周期(或振荡周期)时,机器周期=12\/11.0592微秒。

stc12c5a60s2 51单片机区别
stc12c5a60s2与51单片机区别:1、同样晶振的情况下,stc12c5a60s2速度是普通51的8~12倍 对于AT89c51,1个机器周期=12个震荡周期,对于STC12C5A60S2,1个机器周期=1个震荡周期;2、stc12c5a60s2有8路10位AD;3、stc12c5a60s2多了两个定时器,带PWM功能;4、stc12c5a60s2有SPI接口;5、stc...

请问51单片机最大可以运行多大的程序,最好是STC的,C语言
最后这个语言有点霸道哦,不过还是回答您前面好点:STC12C5A60S2可以运行大约59-60K左右的程序,子函数多,是多少?我最大的是运行了57.5K,再高就溢出了,不能正常运转,不过你这个具体需要实现那些功能呢?如果您很多,建议您使用STM32,512K的,或者ARM的,可以外扩flash。

程序从51单片机移植到stc12系列单片机,唯一只有软件模拟SPI程序部分出...
这个嘛,时序问题哆。编译没有问题那就是时序问题。12系列的1T的,你之前用的51是传统的,那就是12T相差多少倍啊,你把时序改下就好了。

stc12c5a16s2 是几位单片机?
STC的单片机都是51架构的,都是8位机,楼上说的10位是ADC的分辨率

这个表格怎么看 STC12C5A60S2系列单片机的特殊功能寄存器名称及地址映 ...
术语就叫寄存器映射表。在这个16行8列的表外侧,最左边是每行的起始地址,最右边是每行的终末地址。上下侧标记的是这一行的低4位偏移量。每个单元格里,上面是这个地址对应的寄存器名称,下面是这个8位寄存器的复位初始值。好好学习天天向上

怎么知道自己在51单片机内编的C程序有多大,因为各种单片机内存不同,要...
从做项目的角度来说,项目经理要先根据项目的复杂程度以及经验初步选取一个芯片系列,并且Flash大小要留有足够的裕量。这样将来产品定型的时候可以无缝切换到同系列中最适合的那一款。举例来说初步判断程序不超过16kB、选型89E5x系列,在设计阶段可初步选取89E58(32kB Flash),如果完成设计后的代码只有12...

相似回答