找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4120|回復: 20
收起左側

大佬們,單片機只有8k代碼寫不下了怎么辦啊?

  [復制鏈接]
ID:910941 發(fā)表于 2021-5-10 09:56 | 顯示全部樓層 |閱讀模式
用的stc89c52,一個上位機控制4個下位機在5個時段的溫度
回復

使用道具 舉報

ID:748096 發(fā)表于 2021-5-10 20:28 | 顯示全部樓層
優(yōu)化代碼試試
回復

使用道具 舉報

ID:155507 發(fā)表于 2021-5-10 23:20 | 顯示全部樓層
只能用8K的單片機還是什么?  51單片機也包括很多, STC12的用法和STC89完全一樣, 只是多了一些功能,最大去到64K,而且不夠內(nèi)存的時候可以外接儲存芯片,這樣下來256K都不是問題了。

回復

使用道具 舉報

ID:889094 發(fā)表于 2021-5-10 23:27 | 顯示全部樓層
1個單片機控制4個單片機?那作為上位機的單片機可以用好一點的,起碼flash大一點的
回復

使用道具 舉報

ID:858964 發(fā)表于 2021-5-10 23:57 | 顯示全部樓層
angmall 發(fā)表于 2021-5-10 23:20
只能用8K的單片機還是什么?  51單片機也包括很多, STC12的用法和STC89完全一樣, 只是多了一些功能,最大 ...

正解。贊同!
回復

使用道具 舉報

ID:517951 發(fā)表于 2021-5-11 01:15 | 顯示全部樓層
看著描述的功能不復雜呀,8k應該夠用的。 把字庫一些用不到的字符去掉,用不到的代碼優(yōu)化掉,把大字庫32*32的改成16*16或者更小,浮點數(shù)改成整數(shù)運算, 把溫度小數(shù)點2位改1位,或者就是整數(shù)。實在不行就換容量大的單片機。
回復

使用道具 舉報

ID:584814 發(fā)表于 2021-5-11 08:18 | 顯示全部樓層
STC的單片機64K的了去了價格也不高為何不用呢
如果死抱8K的單片機,只能從優(yōu)化代碼入手,軟件硬件都不想換的話可以上淘寶。
回復

使用道具 舉報

ID:743654 發(fā)表于 2021-5-11 08:48 | 顯示全部樓層
換個單片機型號,stc12c5a60完全可以替代stc89c52,容量大得多
回復

使用道具 舉報

ID:918790 發(fā)表于 2021-5-11 08:53 來自手機 | 顯示全部樓層
首先,看看是不是用了什么沒有用到的C庫,這些庫其實很占用空間。如果非要用,自己實現(xiàn)個簡單的,能省不少地方。  其次,分別檢查下都是什么功能,占用了多少容量,是否可以提煉優(yōu)化下空間。  如果空間還是不夠,那就換MCU吧。
回復

使用道具 舉報

ID:592807 發(fā)表于 2021-5-11 08:58 | 顯示全部樓層
angmall 發(fā)表于 2021-5-10 23:20
只能用8K的單片機還是什么?  51單片機也包括很多, STC12的用法和STC89完全一樣, 只是多了一些功能,最大 ...

單片機不好買。缺貨
回復

使用道具 舉報

ID:401564 發(fā)表于 2021-5-11 13:14 | 顯示全部樓層
個人感覺,一個人能寫下大于8K代碼的程序,是不應該出現(xiàn)這種"代碼寫不下怎么辦?"的問題的
要么優(yōu)化代碼
要么換單片機
要么換匯編
回復

使用道具 舉報

ID:748096 發(fā)表于 2021-5-11 18:18 | 顯示全部樓層
angmall 發(fā)表于 2021-5-10 23:20
只能用8K的單片機還是什么?  51單片機也包括很多, STC12的用法和STC89完全一樣, 只是多了一些功能,最大 ...

一共16條地址總線,怎么外接到256K的?
回復

使用道具 舉報

ID:826403 發(fā)表于 2021-5-11 19:26 來自手機 | 顯示全部樓層
如果死抱8K的單片機,只能從優(yōu)化代碼入手,軟件硬件都不想換的話可以上某一個寶。
回復

使用道具 舉報

ID:57657 發(fā)表于 2021-5-11 21:04 | 顯示全部樓層
滄興電子 發(fā)表于 2021-5-11 18:18
一共16條地址總線,怎么外接到256K的?

外接存儲芯片,你外接1TB的都可以。
回復

使用道具 舉報

ID:381220 發(fā)表于 2021-5-11 21:34 | 顯示全部樓層
可以用大容量的單片機
回復

使用道具 舉報

ID:381220 發(fā)表于 2021-5-11 21:35 | 顯示全部樓層
可以考慮選用大容量的單片機
回復

使用道具 舉報

ID:155507 發(fā)表于 2021-5-11 23:07 | 顯示全部樓層
滄興電子 發(fā)表于 2021-5-11 18:18
一共16條地址總線,怎么外接到256K的?


080509_0834_8051datamem8.png


圖14-18。 8051訪問256Kx8外部NV-RAM
在某些應用程序中,我們需要大量(例如256K。字節(jié))的內(nèi)存來存儲數(shù)據(jù)。 但是,由于DPTR是16位的,所以8051只能支持64K字節(jié)的外部數(shù)據(jù)存儲器。 為了解決這個問題,我們將8051的AO – A15直接連接到外部存儲器的AO – A15引腳,并使用某些P1引腳訪問單個256Kx8內(nèi)存芯片中的64K字節(jié)塊。 圖14-18對此進行了說明。

256Kx8 NV-RAM具有18個地址引腳(AO – Al 7)和8條數(shù)據(jù)線。 如圖所示
在圖14-18中,AO – A15直接進入存儲芯片,而A16和A17
分別由P1.0和P1.1控制 4個的64K字節(jié)塊。 還要注意,外部的芯片選擇 RAM連接到8051的P1.2。

回復

使用道具 舉報

ID:420836 發(fā)表于 2021-5-12 07:46 | 顯示全部樓層
如果8k閃存不夠用,則簡化程序代碼。
回復

使用道具 舉報

ID:311846 發(fā)表于 2021-5-12 09:48 | 顯示全部樓層
如果是數(shù)據(jù)多可以用外部內(nèi)存
回復

使用道具 舉報

ID:883031 發(fā)表于 2021-5-13 17:21 | 顯示全部樓層
stc10/11/12都有能兼容at89c52的型號
回復

使用道具 舉報

ID:451718 發(fā)表于 2021-5-13 17:47 | 顯示全部樓層
控制下位機溫度?  涉及到采集溫度,通訊,然后控制。  如果你每路都分別用一套代碼來搞,估計程序空間真是不夠用。   為什么不分時復用呢?  一套程序,300ms到500ms輪詢控制一路,這樣你的代碼會優(yōu)化很多的。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表