第84節(jié):實(shí)時(shí)同步把鍵盤輸入的BCD碼數(shù)組轉(zhuǎn)換成數(shù)值的液晶屏顯示程序
從業(yè)近十年!手把手教你單片機(jī)程序框架 第84講
開場(chǎng)白:
鍵盤直接輸入的是帶小數(shù)點(diǎn)的BCD碼數(shù)組,要把它們轉(zhuǎn)換成具體的數(shù)值才可以更好的在程序里運(yùn)算或者處理。如何把BCD碼數(shù)組實(shí)時(shí)同步轉(zhuǎn)換成數(shù)值?這一節(jié)主要跟大家講這方面的算法程序。另外,有一個(gè)地方值得注意:上一節(jié)鍵盤輸入的小數(shù)點(diǎn)個(gè)數(shù)可以限制成最大2位,但是整數(shù)部分沒有限制。這節(jié)為了也能限制整數(shù)部分的最大個(gè)數(shù)為3位,我修改了上一節(jié)的void set_data(…)函數(shù)。所以這節(jié)的void set_data(…)函數(shù)跟上一節(jié)的void set_data(…)函數(shù)有點(diǎn)不一樣,需要特別注意。
具體內(nèi)容,請(qǐng)看源代碼講解。
(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鍵。小數(shù)鍵對(duì)應(yīng)S11,清零鍵對(duì)應(yīng)S16,其它按鍵不用。
(2) 實(shí)現(xiàn)功能:
用矩陣鍵盤輸入任意數(shù)字或小數(shù)點(diǎn)。小數(shù)點(diǎn)不能超過2位,一旦超過2位,再按其它按鍵則輸入無效。整數(shù)部分不能超過3位,一旦超過3位,再按其它按鍵則輸入無效。想重新輸入,必須按S16清零按鍵才能重新輸入。每次鍵盤輸入的第一行BCD碼數(shù)組會(huì)同步更新顯示在第二行的數(shù)值上。
(3)源代碼講解如下:
總結(jié)陳詞:
這節(jié)講了把BCD碼數(shù)組同步實(shí)時(shí)轉(zhuǎn)換成數(shù)值的算法程序,相反,把數(shù)值轉(zhuǎn)換成BCD碼數(shù)組的逆運(yùn)算程序應(yīng)該怎么寫?欲知詳情,請(qǐng)聽下回分解----實(shí)時(shí)同步把加減按鍵輸入的數(shù)值轉(zhuǎn)換成BCD碼數(shù)組的液晶屏顯示程序。