8*8點(diǎn)陣是一種應(yīng)用廣泛的顯示器件,像戶外的顯示屏、點(diǎn)陣屏都是由點(diǎn)陣拼接而成。 而點(diǎn)陣其實(shí)是發(fā)光二極管LED的矩陣。 在驅(qū)動(dòng)點(diǎn)陣時(shí),雖然具有專用的點(diǎn)陣驅(qū)動(dòng)芯片,如MAX7219,但是該芯片價(jià)格比較高,所以應(yīng)用并沒有很普遍。 而74HC595和74HC138的組合來驅(qū)動(dòng)點(diǎn)陣應(yīng)用卻非常廣泛。 我在上學(xué)階段,給公司有償設(shè)計(jì)過戶外點(diǎn)陣屏,使用的就是74HC595和74HC138。 下面就介紹這種方案。 點(diǎn)陣的實(shí)物圖如下圖所示。
1 8*8點(diǎn)陣的基本認(rèn)識(shí) 8*8點(diǎn)陣,故名思意就是由8*8總共64個(gè)發(fā)光二極管所構(gòu)成的點(diǎn)陣矩陣,每行每列各8各發(fā)光二極管,點(diǎn)陣在使用時(shí)也區(qū)分共陽型和共陰型。 這里的共陽和共陰與數(shù)碼管的共陽共陰稍有區(qū)別。 這里的共陽和共陰其實(shí)是指行共陽和行共陰。 行共陽,第一行的發(fā)光二極管陽極作為公共端連在一起; 行共陰,第一行的發(fā)光二極管陰極作為公共端連在一起。 如下圖所示。 2 8*8點(diǎn)陣的驅(qū)動(dòng)方式 熟悉了8*8點(diǎn)陣的基本原理,就可以驅(qū)動(dòng)點(diǎn)陣了,驅(qū)動(dòng)點(diǎn)陣的過程,其實(shí)就是分時(shí)點(diǎn)亮/熄滅發(fā)光二極管的過程。 以共陰型點(diǎn)陣為例,可以使用74HC595和74HC138來驅(qū)動(dòng)。 由于74HC138是低電平輸出,所以用來驅(qū)動(dòng)列,用74HC595來驅(qū)動(dòng)行。 其硬件原理圖如下圖所示。
74HC595只需要占用單片機(jī)的3個(gè)GPIO口即可,74HC138也占用3個(gè)GPIO口,所以使用6個(gè)GPIO口即可驅(qū)動(dòng)一個(gè)8*8點(diǎn)陣。 3 8*8點(diǎn)陣的取模 點(diǎn)陣的程序?qū)懫饋硪膊⒉粡?fù)雜,在顯示文字或者圖形時(shí),一般都借助字模軟件來取模。 所謂取模的過程就是畫點(diǎn)涂色的過程。 比如要在8*8點(diǎn)陣中顯示一個(gè)“熱”字,則只需要將需要顯示的地方圖上顏色即可,而圖了顏色的圓點(diǎn)就用1來表示,不涂就用0來表示,這樣就可以取出“熱”的字模,著就是取模的原理。 4 點(diǎn)陣 的擴(kuò)展 8*8點(diǎn)陣由于像素較少,所以顯示的內(nèi)容存在較大失真,如果想要像素高,就要擴(kuò)展,點(diǎn)數(shù)越多,則像素越高。 行用74HC595來級(jí)聯(lián),列用74HC138來級(jí)聯(lián)。 用四片8*8點(diǎn)陣級(jí)聯(lián)成16*16點(diǎn)陣,級(jí)聯(lián)方式如下圖所示。
在擴(kuò)展點(diǎn)陣時(shí)所遵循的原則就是行行相連,列列相連。 上面兩個(gè)行行相連,下面兩個(gè)行行相連; 左側(cè)兩個(gè)列列相連,右側(cè)兩個(gè)列列相連。 這樣就可以完成四片8*8點(diǎn)陣級(jí)聯(lián)成16*16的點(diǎn)陣,總共需要兩片74HC595用來控制行,和兩片74HC138用來控制列。 74HC595和74HC138是一種低成本的控制方案,兩片芯片總共的價(jià)格大約為1.5元,而一片MAX7219就要5元,戶外屏點(diǎn)陣眾多,如果采用MAX7219無疑大大增加了成本。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!