第77節(jié):在1個窗口里通過移動光標(biāo)來設(shè)置不同參數(shù)的液晶屏菜單程序
從業(yè)近十年!手把手教你單片機(jī)程序框架 第78講
開場白:
這一節(jié)要教會大家兩個知識點(diǎn):
第一個知識點(diǎn):我在前面講數(shù)碼管顯示的時候就提出了一個 “一二級菜單顯示理論”:凡是人機(jī)界面顯示,不管是數(shù)碼管還是液晶屏,都可以把顯示的內(nèi)容分成不同的窗口來顯示,每個顯示的窗口中又可以分成不同的局部顯示。其中窗口就是一級菜單,用ucWd變量表示。局部就是二級菜單,用ucPart來表示。不同的窗口,會有不同的更新顯示變量ucWdXUpdate來對應(yīng),表示整屏全部更新顯示。不同的局部,也會有不同的更新顯示變量ucWdXPartYUpdate來對應(yīng),表示局部更新顯示。把每一個窗口的內(nèi)容分為兩種類型,一種類型是那些不用經(jīng)常刷新顯示的內(nèi)容,只有在切換窗口的時候才需要更新的,這種內(nèi)容放在整屏更新顯示的括號里,比如清屏操作等內(nèi)容。另外一種是那些經(jīng)常需要刷新顯示的內(nèi)容,這種內(nèi)容放在局部更新顯示的括號里。
第二個知識點(diǎn):按鍵如何跟液晶屏顯示有機(jī)的結(jié)合起來?只要遵循鴻哥總結(jié)出來的一個規(guī)律“在不同的窗口下,根據(jù)不同的局部變量來操作不同的參數(shù)”,這樣再復(fù)雜的人機(jī)交互程序都會顯得很簡單清晰。
具體內(nèi)容,請看源代碼講解。
(1)硬件平臺:基于朱兆祺51單片機(jī)學(xué)習(xí)板。加按鍵對應(yīng)S1鍵,減按鍵對應(yīng)S5鍵,切換“光標(biāo)”移動按鍵對應(yīng)S9鍵,設(shè)置參數(shù)按鍵對應(yīng)S13鍵。
(2)實(shí)現(xiàn)功能:
通過按鍵設(shè)置4個不同的參數(shù)。
有1個窗口。每個窗口顯示4個參數(shù)。每個參數(shù)的范圍是從0到99。
有4個按鍵:
(a) 一個是設(shè)置參數(shù)S13按鍵,按下此按鍵,液晶屏的第一行會出現(xiàn)反顯的光標(biāo),表示進(jìn)入設(shè)置參數(shù)模式,再次按下此按鍵,反顯光標(biāo)會消失,表示退出設(shè)置參數(shù)模式。
(b) 一個是移動光標(biāo)S9按鍵,在進(jìn)入設(shè)置參數(shù)的模式下,依次按下此按鍵,液晶屏上的光標(biāo)會從上往下移動,表示選中不同的參數(shù)。
(c) 一個是減數(shù)S5按鍵,在設(shè)置參數(shù)模式下,依次按下此按鍵,被選中的參數(shù)會逐漸減小。
(d) 一個是加數(shù)S1按鍵,在設(shè)置參數(shù)模式下,依次按下此按鍵,被選中的參數(shù)會逐漸加大。
(3)源代碼講解如下:
總結(jié)陳詞:
這一節(jié)講了在一個窗口里設(shè)置不同的參數(shù),如果有幾個窗口的情況下,該如何編程?欲知詳情,請聽下回分解-----在多個窗口里通過移動光標(biāo)來設(shè)置不同參數(shù)的液晶屏菜單程序。