基于Proteus的漢字點(diǎn)陣顯示電路設(shè)計(jì)
0 引言
本文引用地址:http://www.ex-cimer.com/article/191485.htm
一般情況下要完全顯示出常用漢字至少需要16×16點(diǎn)陣,但由于Proteus元件庫(kù)中沒(méi)有16×16LED模塊,為了達(dá)到顯示要求,每個(gè)漢字可由四塊8×8 LED模塊組成。組合方式為先對(duì)每個(gè)8×8模塊行列引腳連接好總線,然后四個(gè)單色模塊組合緊密。欲了解更多信息請(qǐng)登錄電子發(fā)燒友網(wǎng)(http://www.elecfans.com)
驅(qū)動(dòng)電路采用動(dòng)態(tài)掃描驅(qū)動(dòng)方式,設(shè)計(jì)中行驅(qū)動(dòng)信號(hào)采用了16個(gè)同向驅(qū)動(dòng)器7407,并在每根信號(hào)線上接上拉電阻;列驅(qū)動(dòng)信號(hào)先接-4-16譯碼器74HCl54,然后十六個(gè)列驅(qū)動(dòng)信號(hào)接16個(gè)反向驅(qū)動(dòng)器7406,并每根信號(hào)線接上拉電阻。
單片機(jī)上電復(fù)位后,當(dāng)按列掃描時(shí),四個(gè)漢字的第一個(gè)字由Pl口輸出列信號(hào),首先第l列輸出“1”,第l列字模數(shù)據(jù)由16行輸出(P0、P2口);然后延時(shí)一定時(shí)間后,第2列輸出“l”,第2列字模數(shù)據(jù)再由16行輸出;……;如此循環(huán),直至第16列;16列掃描完成后,再進(jìn)行下一次循環(huán)掃描。所以在某一時(shí)刻,只有一行或一列LED被對(duì)應(yīng)的字模數(shù)據(jù)驅(qū)動(dòng)點(diǎn)亮。只要掃描間隔時(shí)間合適,利用人眼的視覺(jué)暫留特性,看上去整個(gè)字符就顯示在LED點(diǎn)陣顯示器上。
2 漢字顯示程序設(shè)計(jì)
根據(jù)以上硬件電路和單片機(jī)控制原理,編程思路如圖2所示。
完整的程序代碼如下:
MOV DPTR,#WORDTAB;初始化
MOV Rl,#0
MOV R2,#0
MOV R3,#16
MOV R4,#100
MOV R5,#4
LOOP:SETB P1.4
MOV A,R1 :查表取出字模數(shù)據(jù)經(jīng)P0口輸出
MOVC A,@A+DPTR
CPLA
MOVP0,A
INC R1 ;字模數(shù)據(jù)索引值加1
MOVA,R1 ;查表取出字模數(shù)據(jù)經(jīng)P2口輸出
評(píng)論