51单片机的程序大小问题?

我用keil编写的89C51单片机的C语言程序。编译出来的hex文件大小为5KB,单片机的内存为4KB,我想问如下问题:1.单片机装得下吗?2.hex文件的大小是不是就是... 我用keil编写的89C51单片机的C语言程序。编译出来的hex文件大小为5KB,单片机的内存为4KB,我想问如下问题:
1.单片机装得下吗?
2.hex文件的大小是不是就是实际程序的大小?
3.用Proteus仿真的时候可以仿真,是不是仿真的时候没有程序的大小限制?
请高手解答,谢谢。
展开
 我来答
seuzhouww
2013-04-12 · TA获得超过1386个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:307万
展开全部
1、4K容量的程序Flash空间,肯定是无法装载烧写5K代码的。
2、HEX文件在编程器软件打开后,可以看到实际程序容量(机器码)大小。文件大小会稍大。
3、仿真可能是没有代码限制的。

4、解决方法:去掉STARTUP.A51文件。在编译选项中,改变优化代码等级为9。并选择Favor size。重新编译程序试试。完成项目要求前提下,节省一些code常量定义。
hkj_jly
2013-04-11 · TA获得超过155个赞
知道答主
回答量:21
采纳率:100%
帮助的人:5.1万
展开全部
实际往单片机里下载得不是hex文件 而是bin文件 虽然你用下载软件选择得是hex文件 但下载软件会把hex转为bin文件 下到单片机 这个bin文件看不到 有一个小工具能把hex转为bin 实际4k hex转为bin也就1 k多吧 bin就是二进制文件啦 不是一就是零
追问
这样的话,我5KB的程序实际上是可以写进单片机的咯?
追答
能的  可以写
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangbo911224
2013-04-11 · TA获得超过144个赞
知道小有建树答主
回答量:225
采纳率:100%
帮助的人:198万
展开全部
仿真限制是64K 实际单片机内存有64k的 要看型号 最简单的只有2k的内存 hex是可执行文件 也可以算是实际程序大小 其实可以压缩成bin文件 体积可以更小一点
追问
那我的程序为5KB,在实际实物中,能否写进89C51里面去?
追答
看型号啊  有的51单片机rom有64k   具体型号记不清了  你查查stc官网
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友51e7b8b
2013-04-11 · 超过11用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:37.3万
展开全部
用个代码空间大点的型号吧,4k确实很多时候不够用
追问
其实我只是举个例子,实际上我使用的是89C2051,但是我现在现在编写的程序的hex文件都已经6KB了,主要我要使用它内部的比较器。     有没有哪款单片机有内部比较器,然后其I/O口可以设置状态,就是三态,另外最主要的就是和51的编程差不多的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式