漢字顯示屏(píng)在日常(cháng)生活中應用相當廣泛,大量應用於各大(dà)汽(qì)車站、火車站、航班信息公告欄(lán),商鋪廣告,高速路路牌標示等。這裏介紹一種實用的漢字顯示屏製作方法。 同時為了降低製作難(nán)度, 僅作了一個字的輪流顯示,實際使用時(shí)可根據這個原理自行擴充顯示的字數。 漢字顯示的原理(lǐ): 以UCDOS中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國標漢字庫中的每一個字均由256點陣來表示。 91视频大全污污污可以把每一個點理解為(wéi)一個像素,而把每一個字(zì)的字形理解為一幅圖像(xiàng)。事實上這個漢字屏不僅可以顯示漢字, 也可以顯示在256像素範圍(wéi)內的任何圖形。 用8位的AT89C51單片機控製, 由於(yú)單片機的總(zǒng)線為8位,一個字需要拆分為2個(gè)部分。 一般91视频大全污污污(men)把它拆分為上部和下部,上部(bù)由8*16點陣組成, 下部也由8*16點陣組成。 在本例中單片機首先顯示的是左上角的第一列(liè)的上半(bàn)部分,即第0列的p00---p07口。方向為p00到p07 ,顯示漢字“大”時,p05點(diǎn)亮(liàng),由上往下排列(liè),為p0.0 滅,p0.1 滅, p0.2 滅p0.3 滅, p0.4 滅, p0.5 亮,p0.6 滅,p0.7 滅。即二(èr)進製00000100,轉換(huàn)為16進製為(wéi) 04h.。 上半(bàn)部第一列完成後,繼續掃描下半部的第一列,為了接線的方便(biàn),我(wǒ)們仍設計成由上往下(xià)掃描,即從p27向p20方向掃描,從上圖可以看到,這一列全部為不亮, 即為00000000,16進(jìn)製則為00h。 然後單片機(jī)轉(zhuǎn)向上半部第二列,仍為p05點亮,為00000100,即16進製04h. 這一(yī)列完成後(hòu)繼續進行下半部分的掃描(miáo),p21點亮,為二進製00000010,即16進製02h. 依照這個(gè)方法(fǎ),繼續(xù)進行下麵(miàn)的掃描,一共掃描32個(gè)8位(wèi), 可以得出漢字“大” 的掃描代碼為: 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 由這個原理可以看出, 無論顯示何種字體或(huò)圖(tú)像, 都可以用這個方法來分析出它的掃描代碼從而顯示(shì)在屏幕上。 不(bú)過現在(zài)有很多現成的(de)漢字字模生成軟件, 91视频大全污污污就不必自己去(qù)畫表(biǎo)格算(suàn)代(dài)碼了。 軟件打開後輸入漢字,點“檢取(qǔ)”,十六進製數據的漢字代碼即可自(zì)動生成,把我(wǒ)們所需要的(de)豎(shù)排數據複製到91视频大全污污污的程序中即(jí)可。91视频大全污污污把行列總線接在單片機的i0口(kǒu),然後把上麵分析(xī)到的掃描(miáo)代碼送入總線, 就(jiù)可以得到顯示的漢字了。 在這個例子裏,由(yóu)於一(yī)共(gòng)用到16行,16列, 如果將其全部接入89c51 單片機(jī), 一共使用32條io口,這樣(yàng)造成了io資源的耗盡,係統也再無擴充的餘(yú)地。 實際應用中91视频大全污污污使用4-16線譯碼器(qì)74ls154來完成列方向的顯(xiǎn)示。 而行方向16條線則接在p0口和p2口。 程序清單: 雙擊代碼全選 電路中(zhōng)行方(fāng)向(xiàng)由(yóu)p0口和p2口完(wán)成掃描,由於p0口沒有上拉電阻,因此(cǐ)接一個4.7k*8的排阻(zǔ)上拉。 如沒(méi)有(yǒu)排阻,也可用8個普通的4.7k 1/8w電阻。為提供負載能力(lì),接16個2n5551的(de)NPN三極管驅動。 列方向則由4—16譯碼器74LS154完(wán)成掃描,它由89C51的(de)P1.0---P1.3控製(zhì)。同樣,驅動部分則是16個2N5401的三極管完成的。 電路的供電為一片LM7805三端穩(wěn)壓器,耗電電流(liú)為100Ma左右。 |
-
上一(yī)篇:LED顯示屏進水之後應該如何解決?
- 返回列表