Ⅰ 51单片机程序空间大小
AT89C52的程序空间是8KB是确认无疑的,但指的是存放纯二进制的机器码,就是二进制数。而KeilC编译的HEX代码文件并不是纯二进制数,是以ASCII码格式存放的文件,而且其中还有一些编译信息,如地址、校验和等。所以,不能看HEX文件的大小来确定下载到单片机内的真正的程序空间大小,也就是说HEX文件的大小并不是真正下载的单片机的程序大小。而下载到单片机的代码空间大小要看Keilc编译时给出的代码数的提示,才是真正要下载到单片机内的代码空间。举个例子,下图是一个程序编译后的提示,真正的二进制代码是337个字节,而HEX文件却是1KB。这里还有一个误区,你看到的HEX文件的大小是操作系统给出的大小吧,它是取整KB的,就是说HEX文件不足1KB时,也显示是1KB。
再明确一点说吧,假如编译后的代码是750418,用纯二进制数(即BIN格式,有些汇编程序的编译器输出的就是BIN格式)的代码保存就是3个字节,而用HEX格式保存就是6个字节,因为要用6个ASCII码来表示。这来算来,HEX文件大小是BIN文件的二倍,加上一些地址信息,是大于二倍的。
好,回到你的问题来,你的HEX文件是19KB,你看一下编译后的代码大小提示,肯定是不会超过8KB的,否则编译时肯定会报错的。
Ⅱ c51单片机的数据存储空间是多大的,求大虾!!!!!!
不同型号的数据存储空间不同。基本型号一般有128或256字节,某些扩展型号片内具有512、768、1024乃至更多的SRAM。
另外通过片外扩展,51单片机可以实现64kB乃至理论上无穷大的外部数据访问空间。
Ⅲ 51单片机的程序大小问题
1、4K容量的程序Flash空间,肯定是无法装载烧写5K代码的。
2、HEX文件在编程器软件打开后,可以看到实际程序容量(机器码)大小。文件大小会稍大。
3、仿真可能是没有代码限制的。
4、解决方法:去掉STARTUP.A51文件。在编译选项中,改变优化代码等级为9。并选择Favor size。重新编译程序试试。完成项目要求前提下,节省一些code常量定义。
Ⅳ 51系列单片机的内存各是多大
51单片机仅有128 Byte内部RAM
52单片机有256 Byte内部RAM
但现在多数51兼容单片机总RAM为512B至1K
超过256 Byte部分为外部RAM
Ⅳ C51单片机内部RAM多大,有的书上说128B,有的书上说256B,弄得我晕了都。
在 51 系列单片机内部的字节单元,共有 256 个地址。
分为低 128 字节、高 128 字节。
其中:
低 128 字节,是“片内 RAM”;
高 128 字节,是“特殊功能寄存器 SFR”,必须“直接寻址”。
-------
对于 52 系列,在高 128 字节,增加了“片内 RAM”,则必须“间接寻址”。
-------
SFR,其地址与“高 128 的片内 RAM”地址相同,
但是,寻址方法不同,操作的目的地,就不同。
所以,SFR,不属于片内 RAM。
Ⅵ mcs51单片机外形尺寸大小
如图片中这种单片机,STC公司DIP40封装的51单片机,它的外形尺寸见下图: