基于AT89C51單片機16×16 LED漢字滾動顯示屏的設(shè)計
為了弄清楚漢字的點陣組成規(guī)律,首先通過列掃描方法獲取漢字的代碼。漢字可拆分為上部和下部,上部由8×16點陣組成,下部也由8×16點陣組成。本例通過列掃描方法首先顯示左上角的第一列的上半部分,即第0列的P00~P07口,方向為P00到P07,顯示漢字“我”時,為全滅,第一列的下半部分也為全滅。第二列的上半部分P06、點亮,由上往下排列,為:PO.0滅,PO.1滅,P0.2滅PO.3滅,PO.4滅,P0.5滅,P0.6亮,P0.7滅。即二進制00000010,轉(zhuǎn)換為十六進制為02h。上半部第二列完成后,繼續(xù)掃描下半部的第二列,為了接線的方便,我們?nèi)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/設(shè)計">設(shè)計成由上往下掃描,即從P27向P20方向掃描,從圖3可以看到,這一列P23亮,即為00001000,十六進制則為08h。依照這個方法轉(zhuǎn)向第三列、第四列,……,直至第十六列的掃描,一共掃描32個8位,可以得出漢字“我”的掃描代碼為:
00H,02H,08H,06H,28H,02H,24H,22H
0FCH,3FH,24H,2 1H,20H,10H,3CH,08H
0E2H,07H,20H,0AH,0E4H,11H,0A8H,20H
20H,30H,00H,00H,00H,00H,00H,00H
由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出他的掃描代碼從而顯示在屏幕上。上述方法雖然能夠讓我們弄清楚漢字點陣代碼的獲取過程,但是依靠人工方法獲取漢字代碼是一件非常繁瑣的事情。為此,我們經(jīng)常采用字庫軟件查找字符代碼,軟件打開后輸入漢字,點“檢取”,十六進制數(shù)據(jù)的漢字代碼即可自動生成,把我們所需要的豎排數(shù)據(jù)復制到程序中即可,如圖3所示。
可見,漢字點陣顯示一般有點掃描、行掃描和列掃描3種。為了符合視覺暫留要求,點掃描方法的掃描頻率必須大于16×64—1 024 Hz,周期小于1 ms即可。行掃描和列掃描方法的掃描頻率必須大于16×8一128 Hz,周期小于7.8 ms即可,但是一次驅(qū)動一列或一行(8顆LED)時需外加驅(qū)動電路提高電流,否則LED亮度會不足。
3 在Keil環(huán)境中程序設(shè)計與調(diào)試
軟件程序主要由開始、初始化、主程序、字庫組成。其中主程序的流程圖如圖4所示。下面的程序能夠用來實現(xiàn)滾動顯示“我愛你一一祖國”。漢字的顯示。程序清單如下:
51單片機相關(guān)文章:51單片機教程
led顯示器相關(guān)文章:led顯示器原理
上拉電阻相關(guān)文章:上拉電阻原理
評論