找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2014|回復(fù): 11
收起左側(cè)

寫的單片機溫控程序遇到瓶頸了,思緒很亂,求大神指點明路

[復(fù)制鏈接]
ID:601478 發(fā)表于 2020-1-7 16:17 | 顯示全部樓層 |閱讀模式
IC用的STC15W408AS,程序主要是控溫測溫,還有對按鍵操作的響應(yīng),上電后等 20S 進(jìn)入工作狀態(tài),測溫和按鍵響應(yīng)要求全程都要有,單擊按鍵+/—,長按按鍵實現(xiàn)連加/連減;任務(wù)該怎樣分配,框架寫了一半推了,再寫再推,目前想不出好的實時任務(wù)分配的辦法,看別人的例子,用的芯片不同,寫的也不同,總之就是很亂,很煩,興趣都給磨沒了,可能能力就這樣,希望有大佬提點一下,拉一把,一個人感覺有點堅持不了,謝謝
回復(fù)

使用道具 舉報

ID:584814 發(fā)表于 2020-1-8 09:07 | 顯示全部樓層
先閉關(guān),只冥想,百日功成后,程序會自動出來的
回復(fù)

使用道具 舉報

ID:342822 發(fā)表于 2020-1-8 10:49 | 顯示全部樓層
忠告:睡一覺~~~醒來就都解決了。
回復(fù)

使用道具 舉報

ID:130230 發(fā)表于 2020-1-8 11:07 | 顯示全部樓層
1,用定時器實現(xiàn)時間片進(jìn)行任務(wù)調(diào)度  2,用狀態(tài)機寫按鍵  3,不同的任務(wù)之間不要耦合,只用參數(shù)通信不要或少用全局變量  4,函數(shù)要短小,功能要單一
回復(fù)

使用道具 舉報

ID:601478 發(fā)表于 2020-1-8 16:04 | 顯示全部樓層
謝謝每一個回復(fù)的人
回復(fù)

使用道具 舉報

ID:110606 發(fā)表于 2020-1-8 16:15 | 顯示全部樓層
大神們說的都對,
回復(fù)

使用道具 舉報

ID:367934 發(fā)表于 2020-1-9 08:56 | 顯示全部樓層
理一理思路,首先要清楚程序的運行結(jié)構(gòu),芯片的最大性能。
51單片機的運行都是順序結(jié)構(gòu),就是說,都是一步一步的從頭到尾的運行,你的功能程序片段也是一個接著一個。
你要實現(xiàn)的功能其他并不復(fù)雜。溫控很簡單,獲取溫度,再進(jìn)行判斷,通過設(shè)定閥值進(jìn)行控制。這段不用耗費多少時間。鍵盤響應(yīng),我想知道你的按鍵是用來設(shè)置什么的,閥值嗎?如果是的話那可以通過檢測按鍵是否按下進(jìn)入到閥值的設(shè)置模式。這樣就可以實現(xiàn)測溫和按鍵一直都在。估計是你不太熟標(biāo)志的使用,控制很多都是通過設(shè)定標(biāo)志然后判斷標(biāo)志。
回復(fù)

使用道具 舉報

ID:679425 發(fā)表于 2020-1-9 09:34 | 顯示全部樓層
先放空,再仔細(xì)想想思路。該加中斷就加,跳轉(zhuǎn)也加上幾個
回復(fù)

使用道具 舉報

ID:601478 發(fā)表于 2020-1-10 08:40 | 顯示全部樓層
適得府君書 發(fā)表于 2020-1-9 08:56
理一理思路,首先要清楚程序的運行結(jié)構(gòu),芯片的最大性能。
51單片機的運行都是順序結(jié)構(gòu),就是說,都是一步 ...

謝謝回復(fù),我現(xiàn)在通過設(shè)置標(biāo)志位來檢測按鍵的狀態(tài),溫度控制我不追求太實時的反映了,設(shè)置為一秒測一次,這樣省去了很多麻煩,程序也能繼續(xù)寫下去,先寫出來看看測試的結(jié)果再算吧
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2020-1-10 11:56 | 顯示全部樓層
1,硬件電路上傳上來看一下
2,這個電路的主要作用是什么?
3,這個電路的總體參數(shù)給一下
這樣一來,我相信在這里能幫你的人很多
回復(fù)

使用道具 舉報

ID:481073 發(fā)表于 2020-1-10 12:34 | 顯示全部樓層
我大概知道你啥意思,首先是測溫和按鍵響應(yīng)全程都有那就應(yīng)該是要通過中斷的方式觸發(fā),你這個應(yīng)該是外部中斷,然后是加減,連加連減這個問題,因為你的執(zhí)行函數(shù)是放在while循環(huán)里面的,所以肯定是不要在while循環(huán)里面寫if判斷啥的,要用一個標(biāo)志位,這個標(biāo)志位是全局變量,在if判斷里面改變標(biāo)志位,然后外面有一個函數(shù)判斷標(biāo)志位是否變化,就執(zhí)行相應(yīng)的函數(shù),執(zhí)行完之后標(biāo)志位要清零這個別忘了然后連按這個我覺得雙重判斷,中間加個延時,多少時間還是按下狀態(tài)就確定是連按就行。
回復(fù)

使用道具 舉報

ID:426861 發(fā)表于 2020-1-10 15:32 | 顯示全部樓層
畫畫流程圖吧,這個看著簡單,有時候卻能起大作用
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表