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