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