第28節(jié):數(shù)碼管通過切換窗口來設(shè)置參數(shù)
從業(yè)將近十年!手把手教你單片機(jī)程序框架 第28講:
開場白:
上一節(jié)講了數(shù)碼管的驅(qū)動程序,這節(jié)在上節(jié)的基礎(chǔ)上,通過按鍵切換不同的窗口來設(shè)置不同的參數(shù)。
這一節(jié)要教會大家三個知識點(diǎn):
第一個:鴻哥首次提出的“一二級菜單顯示理論”:凡是人機(jī)界面顯示,不管是數(shù)碼管還是液晶屏,都可以把顯示的內(nèi)容分成不同的窗口來顯示,每個顯示的窗口中又可以分成不同的局部顯示。其中窗口就是一級菜單,用ucWd變量表示。局部就是二級菜單,用ucPart來表示。不同的窗口,會有不同的更新顯示變量ucWdXUpdate來對應(yīng),表示整屏全部更新顯示。不同的局部,也會有不同的更新顯示變量ucWdXPartYUpdate來對應(yīng),表示局部更新顯示。
第二個:如何通過一個窗口變量來把按鍵,數(shù)碼管,被設(shè)置的參數(shù)關(guān)聯(lián)起來。
第三個:需要特別注意,在顯示被設(shè)置參數(shù)時,應(yīng)該先分解出每一位,然后再把分解出來的數(shù)據(jù)過渡到顯示緩沖變量里。
具體內(nèi)容,請看源代碼講解。
(1)硬件平臺:基于朱兆祺51單片機(jī)學(xué)習(xí)板。加按鍵對應(yīng)S1鍵,減按鍵對應(yīng)S5鍵,切換窗口按鍵對應(yīng)S9鍵
(2)實(shí)現(xiàn)功能:
通過按鍵設(shè)置4個不同的參數(shù)。
一共有4個窗口。每個窗口顯示一個參數(shù)。
第8,7,6,5位數(shù)碼管顯示當(dāng)前窗口,P-1代表第1個窗口,P-2代表第2個窗口,P-3代表第3個窗口,P-4代表第1個窗口。
第4,3,2,1位數(shù)碼管顯示當(dāng)前窗口被設(shè)置的參數(shù)。范圍是從0到9999。
有三個按鍵。一個是加按鍵,按下此按鍵會依次增加當(dāng)前窗口的參數(shù)。一個是減按鍵,按下此按鍵會依次減少當(dāng)前窗口的參數(shù)。一個是切換窗口按鍵,按下此按鍵會依次循環(huán)切換不同的窗口。
(3)源代碼講解如下:
總結(jié)陳詞:
這節(jié)在第4,3,2,1位顯示設(shè)置的參數(shù)時,還有一點(diǎn)小瑕疵。比如設(shè)置參數(shù)等于56時,實(shí)際顯示的是“0056”,也就是高位為0的如果不顯示,效果才會更好。我們要把高位為0的去掉不顯示,該怎么改程序呢?欲知詳情,請聽下回分解-----數(shù)碼管通過切換窗口來設(shè)置參數(shù),并且不顯示為0的高位。