從業(yè)近十年!手把手教你單片機程序框架 第87講
開場白:
根據(jù)上一節(jié)的預告,本來這節(jié)要講關于串口的一個小項目,但是今天中午的時候,有個廈門客戶的出現(xiàn),讓我決定先插入這節(jié)內容。
他叫鄭文顯,是做PLC開發(fā)的。今天中午他要我?guī)退麑懸粋€工控程序讓他來學習,也是基于朱兆祺51單片機學習板的,他想把這個源代碼經(jīng)過自己修改后移植到他自己做的工控板上。我一開始報價4000元,被他砍價到1000元,我看一下也不算很難就答應了下來。剛才下午花了3個小時終于做好了。鄭文顯爽快的付了款,并且在電話那里跟我講,他說獨樂樂不如眾樂樂,資源只有分享才能發(fā)揮它的最大價值,因此他決定要把這個源代碼捐贈出來給大家一起學。非常感謝他的慈善壯舉。種善因,得善果。好人一生平安。他的這個項目不難,跟我第25節(jié)內容很類似,略加修改就可以了。具體功能需求請看以下第(2)點。
(1) 硬件平臺:
基于朱兆祺51單片機學習板。
(2) 實現(xiàn)功能:
他的系統(tǒng)要控制2個氣缸,沒有任何傳感器。第1個氣缸先伸出去,1秒鐘后再收回來。然后第2個氣缸再伸出去,1秒鐘后再收回來,算完成一個過程,然后重頭開始循環(huán)下去。每一個過程要計數(shù)加1顯示在右邊的4位數(shù)碼管上,左邊的4位數(shù)碼管顯示設定的最大計數(shù)上限,一旦超過這個計數(shù)上限就自動停止。有4個按鍵,一個按鍵用來啟動,一個按鍵用來急停。另外兩個按鍵是加減按鍵,用來設置左邊顯示的最大計數(shù)上限。斷電要求數(shù)據(jù)不丟失。如果同時按下加減兩個按鍵,可以清零當前計數(shù)的內容。
這4個按鍵都是獨立按鍵。S1鍵是加鍵,S5鍵是減鍵,S9鍵是啟動鍵,S13鍵是急停鍵。其中74HC595驅動絲印為D1的LED燈模擬第1個氣缸,絲印為D2的LED燈模擬第2個氣缸。
(3)源代碼講解如下:
總結陳詞:
再次感謝鄭文顯的無私奉獻。前面第38節(jié)到第45節(jié)是講串口的,我的串口程序大部分都是通過靠時間來識別每一串數(shù)據(jù)是否接收完畢,只要第41節(jié)內容不是靠時間來判斷,而是根據(jù)特定關鍵字來快速識別數(shù)據(jù)串是否接收完畢,下一節(jié)我打算結合我最新的一個項目經(jīng)驗,繼續(xù)講一個這方面的例子。欲知詳情,請聽下回分解----當主機連續(xù)不斷地發(fā)送一串串數(shù)據(jù)給從機時,從機串口如何快速截取有效數(shù)據(jù)串。