怎么知道自己在51单片机内编的C程序有多大,因为各种单片机内存不同,要根据程序大小来选机子。谢谢

如题所述

编译完成后的实际大小,可以根据生成的hex文件中的最高地址来判断,也可以根据编译后输出的“code=xxxx”来近似估计(要注意并不是完全一致)。

从做项目的角度来说,项目经理要先根据项目的复杂程度以及经验初步选取一个芯片系列,并且Flash大小要留有足够的裕量。这样将来产品定型的时候可以无缝切换到同系列中最适合的那一款。举例来说初步判断程序不超过16kB、选型89E5x系列,在设计阶段可初步选取89E58(32kB Flash),如果完成设计后的代码只有12、3kB的样子,则正式产品可选用89E54;若代码接近或超过16kB,则正式产品可选用89E58。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-02
一般情况下,根据你编译的hex的大小就可以确定了,STC89S58一般肢体模仿动作的超大程序都可以写进去,这点你也可以放心,而且STC公司出了一款类似ARM芯片的单片机,自带AD,你可以看看这一款。STC90C516RD+本回答被提问者和网友采纳
第2个回答  2012-12-02
看看生成的HEX文件,差不多就那么大吧。
第3个回答  2012-12-02
你是没有实际编译过吧?编译完成后output window里就有,data = xxx xdata = xxxx code = xxxx这些清清楚楚,明明白白。追问

我是用keil编好就直接往单片机里面烧进去,因为程序小没注意,是不是它编译成汇编语句才看的到?

追答

那应是你修改了Keil的工作界面,将Output Window(输出窗口关掉了),你在菜单栏View里点击Output Window打开它,然后执行编译你就能看到了。

怎么知道自己在51单片机内编的C程序有多大,因为各种单片机内存不同,要...
编译完成后的实际大小,可以根据生成的hex文件中的最高地址来判断,也可以根据编译后输出的“code=xxxx”来近似估计(要注意并不是完全一致)。从做项目的角度来说,项目经理要先根据项目的复杂程度以及经验初步选取一个芯片系列,并且Flash大小要留有足够的裕量。这样将来产品定型的时候可以无缝切换到同系...

怎样知道自己编写的51单片机软件的大小(多少k字节)
用软件编译的时候一般都会显示出来的

51单片机程序的大小怎么看?好想不是看hex文件的大小的。
keil编译后,可以看到 如 Program Size: data=14.0 xdata=0 code=177 data区是14个字节 code区 177个字节

51单片机程序空间大小
AT89C52的程序空间是8KB是确认无疑的,但指的是存放纯二进制的机器码,就是二进制数。而KeilC编译的HEX代码文件并不是纯二进制数,是以ASCII码格式存放的文件,而且其中还有一些编译信息,如地址、校验和等。所以,不能看HEX文件的大小来确定下载到单片机内的真正的程序空间大小,也就是说HEX文件的大小...

51单片机内部存储器能存多少条c语言的程序
C语言,可以说编译出来的程序代码大小与写的行数几乎没有关系了,将C程序编译看反汇编就可知道,大小由反汇编出来的指令数决定。比方说C语言中开方运算a=squr(b);仅此一行就可汇编成近千条指令。这就是为什么常说的C语言不如汇编简洁的原因。至于51单片机存多少条指令还得看你用芯片的型号。51系列...

51单片机能编译多少行
取决于51单片机上的Flash存储器大小。一般不用多少行来描述,而是能编译多少Kb程序。通常51单片机只有2~8Kb,因此程序容量不大。有些可以达到64Kb,可以做很大的程序和处理较大的数据量。2Kb大约不超过200行,8Kb能到500行,64Kb基本无限制了。此后看软件是否有限制,通常没有注册的只能编译大约8Kb~...

keil的51单片机仿真调试中如何查看内存的内容
Timer)但是如何查看某一块内存区域的内容呢? 在Memory窗口中输入址值,得到的结果是程序代码区的内容,由于51是采用的是哈佛结构,程序指令存储和数据存储分开。要查看各种内存区域的内容,只要在Address框内输入“字母:地址”即可显示相应的内存值。其中字母可以是C、D、I、X,分别代表的意义是:

考进51单片机C程序可以通过什么方法看到?
51单片机的程序是提不出来的,PIC单片机倒是可以的。即便提取也不是提取C程序,是提取HEX文件。C程序是通过C编译器转换成汇编的,汇编再转换成HEX文件,送进单片机的是HEX文件。

这样才能读取51单片机内程序代码
利用软件读出器件内的程序代码(二进制),保存成HEX格式的文件。第二步:在仿真器的计算机端软件中,利用反汇编功能,打开刚才保存的HEX格式文件,如果单片机内的程序在编译时设置了允许注释,那么,您可以很快得到原程序代码(汇编语句),如果没有注释,那只好根据反汇编的出来的语句(汇编代码),去查询...

51单片机内部ram,外部ram的区别
即片外 RAM 从 0x00~0xFF;xdata,即片外 RAM 从 0x0000~0xFFFF。一般情况下,使用 data 区域,data 不够用了,就用 xdata,如果希望程序执行效率尽量高一点,就使用 pdata 关键字来定义。其它型号有更大的 RAM 的 51 系列单片机,如果要使用更大的 RAM,就必须得用 xdata 来访问了。

相似回答