這算是51單片機學(xué)習(xí)的一個入門知識點了,必須掌握的。
實現(xiàn)功能如下:
- 默認(rèn)上電運行0-9循環(huán)顯示
- 按左移/右移/上移/下移按鍵時,0-9按照對應(yīng)的方向移動顯示
- 按復(fù)位鍵時,恢復(fù)循環(huán)顯示模式
關(guān)鍵點在于:
- 點陣數(shù)據(jù)。有些初學(xué)者點陣數(shù)據(jù)都是網(wǎng)上找的,根本不知道為什么這些數(shù)據(jù)就能顯示0,1,2……這個一定要自己琢磨明白的,我這里就不多贅述了。明白原理后,這里推薦個方便的轉(zhuǎn)換數(shù)據(jù)工具:PCtoLCD2002,可以將想要顯示的字或者圖片轉(zhuǎn)換成對應(yīng)的數(shù)組代碼。
- 循環(huán)顯示是最簡單的,明白了點陣數(shù)據(jù)的來歷之后,將數(shù)組中的數(shù)據(jù)一個個順序調(diào)用就可以了。
- 上下左右移動,關(guān)鍵在于上一個字符的第一(或最后一)行(或列)消失的時候,下一個字符對應(yīng)的行(或列)要同時出現(xiàn)。這個大家看對應(yīng)的代碼自己改動其中的數(shù)字體驗一下就明白了。
- 每個顯示控制的子函數(shù)中都有好幾個break,這是檢測是否有按鍵按下,以便及時響應(yīng)的處理。當(dāng)然這并不是最優(yōu)的解決方法,大家可以找一下其他更好的方法。
Proteus原檔我就不放了,不同版本的可能會有些問題。有需要的,可以在Proteus上照抄原理圖,再把代碼復(fù)制進(jìn)去實際操作一下。
有問題歡迎評論區(qū)提問,謝謝!
閱讀全文