LED顯示屏工作原理及驅(qū)動(dòng)程序發(fā)表時(shí)間:2021-07-24 16:08 幾年前本人得到一塊雙色LED顯示屏,因?yàn)闆]有控制器,所以對(duì)顯示屏的工作原理進(jìn)行了一番研究,利用手頭上的元件,搭了一塊電路板,編寫了一段程序就放置一邊了,這幾天有時(shí)間,把原來的89C51匯編程序改了一下,改為AT89C2051和STC11F04E單片機(jī)能用的程序,放到博客上希望有興趣的同行可以參考一下。下面是顯示效果圖: 工作原理:這塊顯示屏是分為上下共32行LED點(diǎn)陣,水平有4塊16*16點(diǎn)陣,所以能顯示16*16點(diǎn)陣8個(gè)漢字。工作原理是用74ls138做為行掃描,列用74ls595控制,當(dāng)138掃描到某一行時(shí),595決定哪一列該亮,就這樣快速掃描,就形成了圖像了。參見下圖:
以單色單元板為例走線方式如下圖: 各信號(hào)走向如下: l JP1排針16腳信號(hào)A->74HC245的第2腳(信號(hào)放大)->74HC245的第18腳->74HC138的第1腳->JP2排針16腳 l JP1排針15腳信號(hào)B->74HC245的第3腳(信號(hào)放大)->74HC245的第17腳->74HC138的第2腳->JP2排針15腳 l JP1排針1腳信號(hào)OE->74HC245的第4腳(信號(hào)放大)->74HC245的第16腳->74HC04D的第1腳->74HC04D的2腳-> ①74HC138的第5腳->② 74HC04D的3腳->74HC04D的4腳->JP2排針1腳 l JP1排針11腳信號(hào)R->74HC245的第9腳(信號(hào)放大)->74HC245的第11腳->最左上角74HC595-1的第14腳->74HC595-1的9腳->74HC595-2的14腳->74HC595-2的9腳->最右下角74HC595-16的14腳->74HC595-16的9腳->JP2排針11腳 我現(xiàn)在用的是雙色板,JP1各端口含義如下: ABCD是顯示屏電路板上的74LS138地址譯碼端, 單片機(jī)寄存器R3控制行掃描,當(dāng)R3從00000000到00010000增加時(shí)ABCD的變化給138譯碼,當(dāng)R3=0FH時(shí)正好掃描16行,當(dāng)進(jìn)位到10時(shí)掃描結(jié)束,OE是138的片選使能端,低電平有效。G1,G2是給595送綠色數(shù)據(jù),R1R2是給595送紅色數(shù)據(jù)的,ST是595數(shù)據(jù)鎖存脈沖,SC是595時(shí)鐘輸入端。所有11個(gè)接線端都要通過74HC244總線驅(qū)動(dòng)器接入。正常工作時(shí)因?yàn)榘葱袙呙瑁紫葤呙?*行和第17行同時(shí)進(jìn)行,依次掃描到第16行和32行結(jié)束,所以送數(shù)據(jù)時(shí),要把“黑龍江省哈爾濱市”8個(gè)漢字分成上面4個(gè)和下面4個(gè),首先取“黑”字的16*16點(diǎn)陣數(shù)據(jù)的**行**個(gè)字節(jié)(一個(gè)漢字32個(gè)字節(jié))存入單片機(jī)寄存器R6中,再取“哈” 字的16*16點(diǎn)陣數(shù)據(jù)的**行**個(gè)字節(jié)存入單片機(jī)寄存器R4中,調(diào)用送字節(jié)子程序送出到595中,接下來再取“黑”字的16*16點(diǎn)陣數(shù)據(jù)的**行第二個(gè)字節(jié)存入單片機(jī)寄存器R6中,接著取“哈” 字的16*16點(diǎn)陣數(shù)據(jù)的**行第二個(gè)字節(jié)存入單片機(jī)寄存器R4中,調(diào)用送字節(jié)子程序送出到595中,如此共取8次,用R2控制,這樣就掃描完了**行和第17行,用R3控制ABCD共掃描16行(因?yàn)橐淮螔呙?行)就完成一屏的數(shù)據(jù)顯示。為了配合這種掃描方式,8個(gè)漢字的點(diǎn)陣數(shù)據(jù)要進(jìn)行重新排列才行,這在后續(xù)的程序中再說。 |