第86節(jié):數(shù)字鍵盤與液晶菜單的綜合程序
從業(yè)近十年!手把手教你單片機(jī)程序框架 第86講
開場白:
前面已經(jīng)介紹完數(shù)值跟BCD碼數(shù)組相互轉(zhuǎn)換的算法,但是按鍵只能設(shè)置一項(xiàng)數(shù)據(jù)。如果多增加一項(xiàng)數(shù)據(jù),變成兩項(xiàng)數(shù)據(jù),按鍵與顯示菜單之間該如何關(guān)聯(lián)起來,這樣的程序框架是什么樣的?其實(shí)很簡單很有規(guī)律的,只需要在前面的基礎(chǔ)上,在按鍵和顯示函數(shù)里,根據(jù)不同的uPart行變量添加進(jìn)不同的代碼,即可完成。這就是鴻哥寫的程序代碼,不管添加多少代碼,都是有一個(gè)“道”可循,非常有規(guī)律性。
具體內(nèi)容,請看源代碼講解。
(1) 硬件平臺(tái):
基于朱兆祺51單片機(jī)學(xué)習(xí)板。數(shù)字1鍵對應(yīng)S1鍵,數(shù)字2鍵對應(yīng)S2鍵,數(shù)字3鍵對應(yīng)S3鍵…. 數(shù)字9鍵對應(yīng)S9鍵, 數(shù)字0鍵對應(yīng)S10鍵。小數(shù)鍵對應(yīng)S11,S12按鍵是光標(biāo)移動(dòng)按鍵,S13按鍵是加按鍵,S14按鍵是減按鍵,清零鍵對應(yīng)S16,其它按鍵不用。
(2) 實(shí)現(xiàn)功能:
通過S12光標(biāo)移動(dòng)按鍵,可以把負(fù)顯光標(biāo)切換到不同的行里面,根據(jù)光標(biāo)所在位置,
通過S13,S14這兩個(gè)加減按鍵可以更改對應(yīng)的數(shù)。第1行和第2行的數(shù)據(jù)會(huì)彼此有關(guān)聯(lián),只要改其中一個(gè),另外一個(gè)就會(huì)同步被更新。同理,第3行和第4行的數(shù)據(jù)也會(huì)彼此有關(guān)聯(lián),只要改其中一個(gè),另外一個(gè)也會(huì)同步被更新。
(3)源代碼講解如下:
總結(jié)陳詞:
液晶屏顯示的內(nèi)容到這一節(jié)為止基本講完。前面第38節(jié)到第45節(jié)是講串口的,我的串口程序大部分都是通過靠時(shí)間來識(shí)別每一串?dāng)?shù)據(jù)是否接收完畢,只要第41節(jié)內(nèi)容不是靠時(shí)間來判斷,而是根據(jù)特定關(guān)鍵字來快速識(shí)別數(shù)據(jù)串是否接收完畢,下一節(jié)我打算結(jié)合我最新的一個(gè)項(xiàng)目經(jīng)驗(yàn),繼續(xù)講一個(gè)這方面的例子。欲知詳情,請聽下回分解----當(dāng)主機(jī)連續(xù)不斷地發(fā)送一串串?dāng)?shù)據(jù)給從機(jī)時(shí),從機(jī)串口如何快速截取有效數(shù)據(jù)串。