-
1 # 小飛飛66
-
2 # 玩轉嵌入式
8*8點陣是一種應用廣泛的顯示器件,像戶外的顯示屏、點陣屏都是由點陣拼接而成。而點陣其實是發光二極體LED的矩陣。在驅動點陣時,雖然具有專用的點陣驅動晶片,如MAX7219,但是該芯片價格比較高,所以應用並沒有很普遍。而74HC595和74HC138的組合來驅動點陣應用卻非常廣泛。我在上學階段,給公司有償設計過戶外點陣屏,使用的就是74HC595和74HC138。下面就介紹這種方案。點陣的實物圖如下圖所示。
18*8點陣的基本認識8*8點陣,故名思意就是由8*8總共64個發光二極體所構成的點陣矩陣,每行每列各8各發光二極體,點陣在使用時也區分共陽型和共陰型。這裡的共陽和共陰與數碼管的共陽共陰稍有區別。這裡的共陽和共陰其實是指行共陽和行共陰。
行共陽,第一行的發光二極體陽極作為公共端連在一起;
行共陰,第一行的發光二極體陰極作為公共端連在一起。如下圖所示。
28*8點陣的驅動方式熟悉了8*8點陣的基本原理,就可以驅動點陣了,驅動點陣的過程,其實就是分時點亮/熄滅發光二極體的過程。以共陰型點陣為例,可以使用74HC595和74HC138來驅動。
由於74HC138是低電平輸出,所以用來驅動列,用74HC595來驅動行。其硬體原理圖如下圖所示。
74HC595只需要佔用微控制器的3個GPIO口即可,74HC138也佔用3個GPIO口,所以使用6個GPIO口即可驅動一個8*8點陣。
38*8點陣的取模點陣的程式寫起來也並不複雜,在顯示文字或者圖形時,一般都藉助字模軟體來取模。所謂取模的過程就是畫點塗色的過程。比如要在8*8點陣中顯示一個“熱”字,則只需要將需要顯示的地方圖上顏色即可,而圖了顏色的圓點就用1來表示,不塗就用0來表示,這樣就可以取出“熱”的字模,著就是取模的原理。
4點陣的擴充套件8*8點陣由於畫素較少,所以顯示的內容存在較大失真,如果想要畫素高,就要擴充套件,點數越多,則畫素越高。行用74HC595來級聯,列用74HC138來級聯。用四片8*8點陣級聯成16*16點陣,級聯方式如下圖所示。
在擴充套件點陣時所遵循的原則就是行行相連,列列相連。上面兩個行行相連,下面兩個行行相連;左側兩個列列相連,右側兩個列列相連。這樣就可以完成四片8*8點陣級聯成16*16的點陣,總共需要兩片74HC595用來控制行,和兩片74HC138用來控制列。
74HC595和74HC138是一種低成本的控制方案,兩片晶片總共的價格大約為1.5元,而一片MAX7219就要5元,戶外屏點陣眾多,如果採用MAX7219無疑大大增加了成本。
回覆列表
如果是模擬是可以的。但做實物,一般的微控制器是不能直接驅動的。要是STC微控制器,用強推輓模式,最大電流可以達到20mA,你要清楚,為做行掃描的總電流是否會超過這個電流?再退一步說,要看你用什麼微控制器?直接驅動需要16個I/O腳,如果微控制器的I/O腳不足16個就不行了。如STC微控制器,有最小8腳封裝的。