6位LED動態(tài)顯示接口電路
表1 控制符號
段選2 | 段選1 | ||||||||||
a | b | c | d | e | f | g | dp | Led1 | led2 | led3 | |
第1次 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
第2次 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
第3次 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
第4次 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
第5次 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |
第6次 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
第7次 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
第8次 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
表2 共陽型字符表
字形 | a | b | c | d | e | f | g | dp | 編碼 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | FC |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 60 |
2 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | DA |
3 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | F2 |
4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 66 |
5 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | B6 |
6 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | BE |
7 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | E0 |
8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | FE |
9 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | F6 |
由于所有6位選線皆由一個I/O口控制,因此,在每一瞬間,6位LED會顯示相同的字符。要想每位顯示不同的字符,就必須采用掃描方***流點(diǎn)亮各位LED,即在每一瞬間只使某一位顯示字符。在此瞬間,段選控制I/O口輸出相應(yīng)字符段選碼(字型碼),而位選則控制I/O口在該顯示相應(yīng)字符。如此輪流,使每位分時顯示該位應(yīng)顯示字符,根據(jù)人眼視覺特性,當(dāng)LED所加信號頻率大于50Hz時,人眼不能感覺其變化,所以每位顯示的間隔不能超過20ms,也就是說要在20ms之內(nèi)分時的點(diǎn)亮所有LED,LED越多所分的時間越短,亮度就會不足;如果增加點(diǎn)亮?xí)r間,又會使掃描頻率下降,有閃爍感容易造成人眼的彼勞,這種方式就是我們大家常用的動態(tài)掃描方式,這種掃描方式僅適用于LED不超過10個時的場合。如果現(xiàn)在需要24個甚至更多,是否一定得采用專門驅(qū)動電路?能否在不增加硬件開銷又能解決問題?這就是本文介紹的一種全新的思路,電路連接如圖示2。其硬件電路與常規(guī)的動態(tài)掃描方式完全一樣,主要差別就是在控制方法的不同。
若LED為共陽型,段選2的控制信號先使a段為低電平,其余b、c、d、e、f、g、dp段全為高電平,這樣led1、led2....led23、led24是否要點(diǎn)亮其中的a劃還要受段選1的控制,段選1又是由待顯示的數(shù)據(jù)控制,然后段選2的控制信號再輪流使b、c、d、e、f、g、dp為低電平,依次掃描,即每個字是一筆一筆受控是否需要點(diǎn)亮,這樣只要8次循環(huán),就可完成一次顯示,而不必考慮接入LED的個數(shù)。如要顯示3個數(shù)字為1、2、3(led1、led2、led3),則加入的控制信號見表1,共陽型字符表見表2。
某項目控制系統(tǒng)需要顯示24個數(shù)字,考慮到單片機(jī)I/O資源有限,按常規(guī)方法必需擴(kuò)展I/O,這樣就使電路復(fù)雜又增加了硬件成本,能否以軟代硬就成為設(shè)計的關(guān)鍵所在。圖3所示的電路中采用上面介紹的方法,用軟件方式顯示24個數(shù)字,電路采用了4片74LS164,1片MC1413(ULN2003),單片機(jī)只需通過RXD、TXD就可控制顯示,軟件流程圖如圖4所示。
評論