标题: 大佬们,单片机只有8k代码写不下了怎么办啊? [打印本页]

作者: 突突突突突突    时间: 2021-5-10 09:56
标题: 大佬们,单片机只有8k代码写不下了怎么办啊?
用的stc89c52,一个上位机控制4个下位机在5个时段的温度

作者: 沧兴电子    时间: 2021-5-10 20:28
优化代码试试
作者: angmall    时间: 2021-5-10 23:20
只能用8K的单片机还是什么?  51单片机也包括很多, STC12的用法和STC89完全一样, 只是多了一些功能,最大去到64K,而且不够内存的时候可以外接储存芯片,这样下来256K都不是问题了。


作者: birdzhyli    时间: 2021-5-10 23:27
1个单片机控制4个单片机?那作为上位机的单片机可以用好一点的,起码flash大一点的
作者: Kxuan163    时间: 2021-5-10 23:57
angmall 发表于 2021-5-10 23:20
只能用8K的单片机还是什么?  51单片机也包括很多, STC12的用法和STC89完全一样, 只是多了一些功能,最大 ...

正解。赞同!
作者: rayin    时间: 2021-5-11 01:15
看着描述的功能不复杂呀,8k应该够用的。 把字库一些用不到的字符去掉,用不到的代码优化掉,把大字库32*32的改成16*16或者更小,浮点数改成整数运算, 把温度小数点2位改1位,或者就是整数。实在不行就换容量大的单片机。
作者: man1234567    时间: 2021-5-11 08:18
STC的单片机64K的了去了价格也不高为何不用呢
如果死抱8K的单片机,只能从优化代码入手,软件硬件都不想换的话可以上淘宝。
作者: cheney03    时间: 2021-5-11 08:48
换个单片机型号,stc12c5a60完全可以替代stc89c52,容量大得多
作者: 一沐123    时间: 2021-5-11 08:53
首先,看看是不是用了什么没有用到的C库,这些库其实很占用空间。如果非要用,自己实现个简单的,能省不少地方。  其次,分别检查下都是什么功能,占用了多少容量,是否可以提炼优化下空间。  如果空间还是不够,那就换MCU吧。
作者: 黄youhui    时间: 2021-5-11 08:58
angmall 发表于 2021-5-10 23:20
只能用8K的单片机还是什么?  51单片机也包括很多, STC12的用法和STC89完全一样, 只是多了一些功能,最大 ...

单片机不好买。缺货
作者: Y_G_G    时间: 2021-5-11 13:14
个人感觉,一个人能写下大于8K代码的程序,是不应该出现这种"代码写不下怎么办?"的问题的
要么优化代码
要么换单片机
要么换汇编
作者: 沧兴电子    时间: 2021-5-11 18:18
angmall 发表于 2021-5-10 23:20
只能用8K的单片机还是什么?  51单片机也包括很多, STC12的用法和STC89完全一样, 只是多了一些功能,最大 ...

一共16条地址总线,怎么外接到256K的?

作者: 峥嵘岁月    时间: 2021-5-11 19:26
如果死抱8K的单片机,只能从优化代码入手,软件硬件都不想换的话可以上某一个宝。
作者: npn    时间: 2021-5-11 21:04
沧兴电子 发表于 2021-5-11 18:18
一共16条地址总线,怎么外接到256K的?

外接存储芯片,你外接1TB的都可以。
作者: elviswzd    时间: 2021-5-11 21:34
可以用大容量的单片机
作者: elviswzd    时间: 2021-5-11 21:35
可以考虑选用大容量的单片机
作者: angmall    时间: 2021-5-11 23:07
沧兴电子 发表于 2021-5-11 18:18
一共16条地址总线,怎么外接到256K的?





图14-18。 8051访问256Kx8外部NV-RAM
在某些应用程序中,我们需要大量(例如256K。字节)的内存来存储数据。 但是,由于DPTR是16位的,所以8051只能支持64K字节的外部数据存储器。 为了解决这个问题,我们将8051的AO – A15直接连接到外部存储器的AO – A15引脚,并使用某些P1引脚访问单个256Kx8内存芯片中的64K字节块。 图14-18对此进行了说明。

256Kx8 NV-RAM具有18个地址引脚(AO – Al 7)和8条数据线。 如图所示
在图14-18中,AO – A15直接进入存储芯片,而A16和A17
分别由P1.0和P1.1控制 4个的64K字节块。 还要注意,外部的芯片选择 RAM连接到8051的P1.2。


作者: TTQ001    时间: 2021-5-12 07:46
如果8k闪存不够用,则简化程序代码。
作者: 权威人物    时间: 2021-5-12 09:48
如果是数据多可以用外部内存
作者: cn_zhx    时间: 2021-5-13 17:21
stc10/11/12都有能兼容at89c52的型号
作者: robinsonlin    时间: 2021-5-13 17:47
控制下位机温度?  涉及到采集温度,通讯,然后控制。  如果你每路都分别用一套代码来搞,估计程序空间真是不够用。   为什么不分时复用呢?  一套程序,300ms到500ms轮询控制一路,这样你的代码会优化很多的。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1