
51单片机理论上最大支持64K的程序寻址空间,但实际上现在有些51核心的单片机可以通过BANK的切换支持到256K的程序。但实际上的单片机空间都不会这么大,有2K,4K,8K等等很多规格,具体要查你所使用的单片机手册。
另外,HEX文件的大小与BIN文件是不一样的,因为HEX文件中还包含了实际数据的地址,长度,校验等信息,而BIN中只有实际数据,所以HEX肯定要比BIN大了。程序的长度要看BIN的大小为准。HEX而BIN是可以互相转换的,网上有很多转换的小工具。
单片机程序存储器的空间,以 HEX 文件的大小 字节数的 简单计算方法,
大约为 (HEX 文件的大小 字节数)/ 45 20
不会差多少的,你可以 用记事本 打开 HEX 文件,每行为 20 个字节
当然 程序 中 有定义 保留空间 例外。
编译完成后的实际大小,可以根据生成的hex文件中的最高地址来判断,也可以根据编译后输出的“code=xxxx”来近似估计(要注意并不是完全一致)。
从做项目的角度来说,项目经理要先根据项目的复杂程度以及经验初步选取一个芯片系列,并且Flash大小要留有足够的裕量。这样将来产品定型的时候可以无缝切换到同系列中最适合的那一款。举例来说初步判断程序不超过16kB、选型89E5x系列,在设计阶段可初步选取89E58(32kB Flash),如果完成设计后的代码只有12、3kB的样子,则正式产品可选用89E54;若代码接近或超过16kB,则正式产品可选用89E58。
可以的
单片机的程序烧写的时候是写进ROM,不是RAM
所以只要你的单片机ROM足够大(单片机最大扩展64KROM)就能写进去
至于ram相当于电脑上的的内存 ,保存你程序运行变量的
ROM相当于电脑上的硬盘
所以只要编译通过就可以烧写
以上就是关于51单片机程序长度有限制吗 程序存储全部的内容,包括:51单片机程序长度有限制吗 程序存储、单片机程序的HEX文件的大小,是如何对应单片机的ROM空间例如:HEX文件为11K,则需要选多大ROM的单片机、怎么知道自己在51单片机内编的C程序有多大,因为各种单片机内存不同,要根据程序大小来选机子。谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)