Proteus軟件的使用徹底改變了傳統(tǒng)單片機(jī)學(xué)習(xí)和開(kāi)發(fā)方式,初學(xué)者可以在沒(méi)有實(shí)驗(yàn)硬件條件下進(jìn)行仿真實(shí)驗(yàn),開(kāi)發(fā)者可以直接用Proteus進(jìn)行電路設(shè)計(jì)和仿真運(yùn)行程序,運(yùn)行成功后再制作產(chǎn)品,縮短開(kāi)發(fā)周期,節(jié)約開(kāi)發(fā)成本。
0 引言
Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它可以仿真、分析各種模擬器件和集成電路,該軟件的特點(diǎn)是:
a.實(shí)現(xiàn)了單片機(jī)仿真和 SPICE電路仿真相結(jié)合。具有模擬電路、數(shù)字電路仿真、單片機(jī)及其外圍電路的仿真、各種虛擬儀器,如示波器等功能。
b.支持主流單片機(jī)系統(tǒng)的仿真。
c.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。
d.具有強(qiáng)大的原理圖繪制功能。Proteus軟件的使用徹底改變了傳統(tǒng)單片機(jī)學(xué)習(xí)和開(kāi)發(fā)方式,初學(xué)者可以在沒(méi)有實(shí)驗(yàn)硬件條件下進(jìn)行仿真實(shí)驗(yàn),開(kāi)發(fā)者可以直接用Proteus進(jìn)行電路設(shè)計(jì)和仿真運(yùn)行程序,運(yùn)行成功后再制作產(chǎn)品,縮短開(kāi)發(fā)周期,節(jié)約開(kāi)發(fā)成本。漢字點(diǎn)陣顯示電路設(shè)計(jì)時(shí),顯示部分應(yīng)用16×16點(diǎn)陣字模提取軟件,提取“廣東工貿(mào)”顯示漢字的字模數(shù)據(jù),通過(guò)查表取出字模數(shù)據(jù)送輸出動(dòng)態(tài)顯示。
1 漢字顯示電路設(shè)計(jì)
漢字點(diǎn)陣的控制電路采用AT89C51單片機(jī),硬件電路由單片機(jī)接口電路、LED顯示屏行列驅(qū)動(dòng)電路、LED點(diǎn)陣顯示屏三部分組成,如圖1所示,電路用Proteus軟件畫出,具體畫法參見(jiàn)文獻(xiàn)。
一般情況下要完全顯示出常用漢字至少需要16×16點(diǎn)陣,但由于Proteus元件庫(kù)中沒(méi)有16×16LED模塊,為了達(dá)到顯示要求,每個(gè)漢字可由四塊8×8 LED模塊組成。組合方式為先對(duì)每個(gè)8×8模塊行列引腳連接好總線,然后四個(gè)單色模塊組合緊密。
驅(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(fā)”,第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口輸出
MOVC A,@A+DPTR
CPLA
MOVP2,A
INC R1 ;字模數(shù)據(jù)索引值加1
MOV P1,R2 ;列控制信號(hào)輸出
INC R2 ;列控制寄存器加1
LCALL DELAY;顯示延時(shí)
DJNZ R3,LOOP;判斷16列顯示完否
DJNZ R4,K1 ;判斷是否已顯示100次
MOV R4,#100 ;顯示次數(shù)寄存器重賦初值
SJMPK2
K1:CLRC ;字模數(shù)據(jù)索引值減32,列控制寄存器和列數(shù)寄存器重賦初值
3 仿真及結(jié)果
仿真方法是:
(1)在Keil C51仿真軟件下創(chuàng)建項(xiàng)目,并把上述源程序添加到項(xiàng)目中,通過(guò)編譯產(chǎn)生一個(gè)“.hex”為后綴的文件,此文件就是用于燒寫到Proteus軟件中AT89C51芯片的文件。
(2)把生成的“.hex”為后綴的文件添加到Proteus軟件中繪制的AT89C51芯片中作為控制程序。
(3)在Proteus軟件仿真電路圖中點(diǎn)擊左下角的運(yùn)行按鈕,則可在LED顯示點(diǎn)陣中看到“廣東工貿(mào)”四個(gè)漢字輪流顯示的結(jié)果。
從仿真圖中可以看到“東”字在LED顯示點(diǎn)陣中顯示出來(lái),設(shè)定每個(gè)字顯示1秒,下秒將顯示“工”字,“廣東工貿(mào)”四個(gè)字循環(huán)顯示。四個(gè)字顯示出來(lái)如圖3所示。
編輯:jq
-
led
+關(guān)注
關(guān)注
242文章
23321瀏覽量
661892 -
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
53文章
8263瀏覽量
146683 -
元件
+關(guān)注
關(guān)注
4文章
936瀏覽量
36744
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論