日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 點陣式漢字LED顯示屏的原理與制作

          點陣式漢字LED顯示屏的原理與制作

          作者: 時間:2016-10-07 來源:網(wǎng)絡(luò) 收藏

            漢字廣泛應(yīng)用與汽車報站器,廣告屏等。本文介紹一種實用的漢字的制作,考慮到電路元件的易購性,沒有使用8*8的點陣發(fā)光管模塊, 而是直接使用了256個高量度發(fā)光管,組成了16行16列的發(fā)光點陣。同時為了降低制作難度, 僅作了一個字的輪流顯示,實際使用時可根據(jù)這個原理自行擴充顯示的字?jǐn)?shù)。

          本文引用地址:http://yuyingmama.com.cn/article/201610/310906.htm

            1漢字顯示的原理:

            我們以UCDOS中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國標(biāo)漢字庫中的每一個字均由256點陣來表示。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字, 也可以顯示在256像素

            范圍內(nèi)的任何圖形。

            

           

            我們以顯示漢字“大”為例,來說明其掃描原理:

            在UCDOS中文宋體字庫中,每一個字由16行16列的點陣組成顯示。如果用

            8位的AT89C51單片機控制, 由于單片機的總線為8位,一個字需要拆分為2個部分。

            一般我們把它拆分為上部和下部,上部由8*16點陣組成, 下部也由8*16點陣組成。

            在本例中單片機首先顯示的是左上角的第一列的上半部分,即第0列的p00---p07口。方向為p00到p07 ,顯示漢字“大”時,p05點亮,由上往下排列,為p0.0 滅,p0.1 滅, p0.2 滅p0.3 滅, p0.4 滅, p0.5 亮,p0.6 滅,p0.7 滅。即二進(jìn)制00000100,轉(zhuǎn)換為16進(jìn)制為 04h.。

            上半部第一列完成后,繼續(xù)掃描下半部的第一列,為了接線的方便,我們?nèi)栽O(shè)計成由上往下掃描,即從p27向p20方向掃描,從上圖可以看到,這一列全部為不亮, 即為00000000,16進(jìn)制則為00h。

            然后單片機轉(zhuǎn)向上半部第二列,仍為p05點亮,為00000100,即16進(jìn)制04h.

            這一列完成后繼續(xù)進(jìn)行下半部分的掃描,p21點亮,為二進(jìn)制00000010,即16進(jìn)制02h.

            依照這個方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個8位, 可以得出漢字“大”

            的掃描代碼為:

            04H,00H,04H,02H,04H,02H,04H,04H

            04H,08H,04H,30H,05H,0C0H,0FEH,00H

            05H,80H,04H,60H,04H,10H,04H,08H

            04H,04H,0CH,06H,04H,04H,00H,00H

            由這個原理可以看出, 無論顯示何種字體或圖像, 都可以用這個方法來分析出它的掃描代碼從而顯示在屏幕上。

            不過現(xiàn)在有很多現(xiàn)成的漢字字模生成軟件, 我們就不必自己去畫表格算代碼了。

            

           

            軟件打開后輸入漢字,點“檢取”,十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動生成,把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。

            我們把行列總線接在單片機的i0口,然后把上面分析到的掃描代碼送入總線, 就可以得到顯示的漢字了。 在這個例子里,由于一共用到16行,16列, 如果將其全部接入89c51單片機, 一共使用32條io口,這樣造成了io資源的耗盡,系統(tǒng)也再無擴充的余地。 實際應(yīng)用中我們使用4-16線譯碼器74ls154來完成列方向的顯示。 而行方向16條線則接在p0口和p2口。

            

           

            程序清單:

            ORG 00H

            LOOP: MOV A,#0FFH ;開機初始化,清除畫面

            MOV P0,A ;清除P0口

            ANL P2,#00 ;清除P2口

            MOV R2,#200

            D100MS: MOV R3,#250 ;延時100毫秒

            DJNZ R3,$

            DJNZ R2,D100MS

            MOV 20H,#00H ;取碼指針的初值

            l100: MOV R1,#100 ;每個字的停留時間

            L16: MOV R6,#16 ;每個字16個碼

            MOV R4,#00H ;掃描指針清零

            MOV R0,20H ;取碼指針存入R0

            L3: MOV A,R4 ;掃描指針存入A

            MOV P1,A ;掃描輸出

            INC R4 ;掃描指針加1,掃描下一個

            MOV A,R0 ; 取碼指針存入A

            MOV DPTR,#TABLE ;取數(shù)據(jù)表的上半部分的代碼

            MOVC A,@A+DPTR

            MOV P0,A ; 輸出到P0

            INC R0 ;取碼指針加1,取下一個碼。

            MOV A,R0

            MOV DPTR,#TABLE ;取數(shù)據(jù)表下半部份的代碼

            MOVC A,@A+DPTR

            MOV P2,A ;輸出到P2口

            INC R0

            MOV R3,#02 ;掃描1毫秒

            DELAY2: MOV R5,#248 ;

            DJNZ R5,$

            DJNZ R3,DELAY2

            MOV A,#00H ;清除屏幕

            MOV P0,A

            ANL P2,#00H

            DJNZ R6,L3 ;一個字16個碼是否完成?

            DJNZ R1,L16 ;每個字的停留時間是否到了?

            MOV 20H,R0 ;取碼指針存入20H

            CJNE R0,#0FFH,L100 ;8個字256個碼是否完成?

            JMP LOOP ;反復(fù)循環(huán)

            TABLE :

            ;漢字“倚”的代碼

            db 01H,00H,02H,00H,04H,00H,1FH,0FFH

            db 0E2H,00H,22H,00H,22H,0FCH,26H,88H

            db 2AH,88H,0F2H,88H,2AH,0FAH,26H,01H

            db 63H,0FEH,26H,00H,02H,00H,00H,00H

            ;以下分別輸入天,一,出, 寶,刀,屠,龍,的代碼,略。

            end

            電路中行方向由p0口和p2口完成掃描,由于p0口沒有上拉電阻,因此接一個4.7k*8的排阻上拉。 如沒有排阻,也可用8個普通的4.7k 1/8w電阻。為提供負(fù)載能力,接16個2n5551的NPN三極管驅(qū)動。

            列方向則由4—16譯碼器74LS154完成掃描,它由89C51的P1.0---P1.3控制。同樣,驅(qū)動部分則是16個2N5401的三極管完成的。

            電路的供電為一片LM7805三端穩(wěn)壓器,耗電電流為100Ma左右。

            采用一塊12*20cm的萬能電路板,應(yīng)當(dāng)選用質(zhì)量好些的發(fā)光管,(否則有壞點現(xiàn)象, 更換起來較麻煩)首先將256個發(fā)光管插入電路板,注意插入方向,同時使高度一致,行方向直接焊接起來, 列方向則搭橋架空焊接,完成后用萬用表測試一下如有不亮的更換掉。

            然后找一個電腦硬盤的數(shù)據(jù)線, 截取所需的長度,分別將行,列線引出至電路的相關(guān)管腳即可。原理圖為了簡潔,故只畫出了示意圖,行列方向只畫出了2個三極管,屏幕只畫出4個發(fā)光管, 實際上發(fā)光管為256只,三極管行列方向各16只,一共32只。焊接過程認(rèn)真仔細(xì)一天時間即可完成全部制作。將程序編譯后燒寫入89c51, 插入40pin Ic座,即可看到屏幕輪流顯示:“倚天一出寶刀屠龍”。

            當(dāng)然,你可將程序的漢字代碼部分更換為您所需要的代碼即可顯示你所需要的漢字。

            

           

            上圖為實物的照片

            元件清單:



          關(guān)鍵詞: LED 顯示屏

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉