AT89c2051单片机能烧写多大的程序文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AT89c2051单片机能烧写多大的程序文件?相关的知识,希望对你有一定的参考价值。

我的程序用keil编译后是CODE:978。但是在烧写的时候烧写的程序总是超过2k,结果导致一直提示数据校验错误,这到底是怎么回事?请高手指点指点!!

最大2K,从你的截图上看,最后一个错误地址已经到09D6了,转换成十进制就是2518字节。你程序明显超了400多字节

解决办法:
1。精简程序
2。C改汇编
3。换AT89c4051追问

为什么生成的hex文件会大那么多呢?有没有什么办法能在不改变程序的情况下减少一些??因为改用汇编的话太麻烦了。
会不会在我们生成的hex文件是不是多了一些没有的程序出来占用了能存??

追答

如果有源代码,那就试试在keil里面设置代码大小优化(最终生成的代码量小),操作方法(我的是英文版):
项目工作区Project框里的Target 1右键->Options for Target 'Target'->选择C51选项卡->在 侧重Emphasis下拉框里面选择第一项Favor size
然后重新编译代码,代码会小一些,如果代码小于2K就OK.

假如没有源代码或者优化出来的code还是大于2K,只有换AT89c4051 ,这块单片机价格和2051差得不多,除了flash是4K以外,其他和2051一样可以直接替换AT89C2051。

参考技术A 2051最大ROM是2K 参考技术B 2K

以上是关于AT89c2051单片机能烧写多大的程序文件?的主要内容,如果未能解决你的问题,请参考以下文章

烧写程序时提示文件末地址超过芯片容量,单片机AT89c2051,写的程序代码无论多少烧写时都出现一样的问题

at89c2051如何烧写程序

如何给AT89C2051烧程序

我想再请教你;我过去用老式编程器烧写,为何只需obj文件,而现在写at89c2051单片机为何要用hex文件?

大家怎么把程序烧到AT89C2051里

大家好,我是单片机初学者,呵呵,请问AT89C2051 单片机程序烧录工具用啥较好,可以用STC-ISP吗?