第34節(jié):在數(shù)碼管中實(shí)現(xiàn)iphone4S開機(jī)密碼鎖的程序
從業(yè)將近十年!手把手教你單片機(jī)程序框架 第34講:
開場白:
這一節(jié)要教會(huì)大家四個(gè)知識(shí)點(diǎn):
第一個(gè):類似手機(jī)上10秒鐘內(nèi)無按鍵操作將自動(dòng)進(jìn)入鎖屏的程序。
第二個(gè):如何用一個(gè)數(shù)組來接收按鍵的一串?dāng)?shù)字輸入。
第三個(gè):矩陣鍵盤中,數(shù)字按鍵的輸入,由于這部分按鍵的代碼相似度非常高,因此把它封裝在一個(gè)函數(shù)里可以非常簡潔方便。
第四個(gè):繼續(xù)加深熟悉鴻哥首次提出的“一二級(jí)菜單顯示理論”:凡是人機(jī)界面顯示,不管是數(shù)碼管還是液晶屏,都可以把顯示的內(nèi)容分成不同的窗口來顯示,每個(gè)顯示的窗口中又可以分成不同的局部顯示。其中窗口就是一級(jí)菜單,用ucWd變量表示。局部就是二級(jí)菜單,用ucPart來表示。不同的窗口,會(huì)有不同的更新顯示變量ucWdXUpdate來對(duì)應(yīng),表示整屏全部更新顯示。不同的局部,也會(huì)有不同的更新顯示變量ucWdXPartYUpdate來對(duì)應(yīng),表示局部更新顯示。
具體內(nèi)容,請看源代碼講解。
(1)硬件平臺(tái):基于朱兆祺51單片機(jī)學(xué)習(xí)板。數(shù)字1鍵對(duì)應(yīng)S1鍵,數(shù)字2鍵對(duì)應(yīng)S2鍵,數(shù)字3鍵對(duì)應(yīng)S3鍵…. 數(shù)字9鍵對(duì)應(yīng)S9鍵, 數(shù)字0鍵對(duì)應(yīng)S10鍵。其他的按鍵不用。
(2)實(shí)現(xiàn)功能:
本程序有3個(gè)窗口。
開機(jī)顯示第1個(gè)密碼登錄框窗口“----”,在這個(gè)窗口下輸入密碼,如果密碼等于”9922”表示密碼正確,將會(huì)切換到第2個(gè)顯示按鍵值的窗口。在窗口2下,按不同的按鍵會(huì)顯示不同的按鍵值,如果10秒內(nèi)沒有按鍵操作,將會(huì)自動(dòng)切換到第1個(gè)密碼登錄窗口,類似手機(jī)上的自動(dòng)鎖屏操作。在密碼登錄窗口1下,如果密碼不正確,會(huì)自動(dòng)清除密碼的數(shù)字,繼續(xù)在窗口1下顯示”----”。
窗口3是用來停留0.5秒顯示全部密碼的信息,然后根據(jù)密碼的正確與否自動(dòng)切換到對(duì)應(yīng)的窗口。
(3)源代碼講解如下:
總結(jié)陳詞:
這節(jié)講了iphone4S開機(jī)密碼鎖的程序。2014年春節(jié)的時(shí)候,一幫朋友舉行小規(guī)模的象棋比賽,有一些朋友下棋的速度實(shí)在是太慢了,為了限制比賽時(shí)間,我專門用朱兆祺的51學(xué)習(xí)板做了一個(gè)棋類比賽專用計(jì)時(shí)器給他們用,這個(gè)程序該怎么編寫?欲知詳情,請聽下回分解-----帶數(shù)碼管顯示的象棋比賽專用計(jì)時(shí)器。