新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 運(yùn)用Proteus及匯編語言的漢字點(diǎn)陣動(dòng)態(tài)顯示

運(yùn)用Proteus及匯編語言的漢字點(diǎn)陣動(dòng)態(tài)顯示

作者: 時(shí)間:2012-01-04 來源:網(wǎng)絡(luò) 收藏

英國Labcenter公司開發(fā)的 ISIS是一個(gè)非常不錯(cuò)的電路分析與實(shí)物仿真軟件。軟件由ISIS和ARES兩部分構(gòu)成,其中ISIS是一款便捷的電子系統(tǒng)原理設(shè)計(jì)和仿真平臺(tái)軟件,ARES是一款高級(jí)的PCB布線編輯軟件。它不僅具有具有和其他EDA工具一樣的原理圖編輯、印刷電路板(PCB)設(shè)計(jì)及電路仿真功能,最大的特色是其電路仿真的交互化和可視化。通過軟件的VSM(虛擬仿真模式),用戶可以對(duì)模擬電路、數(shù)字電路、模數(shù)混合電路、單片機(jī)及外圍元器件等電子線路進(jìn)行系統(tǒng)仿真。Proteus一種操作簡(jiǎn)便而又功能強(qiáng)大的原理圖編輯工具。Proteus ISIS運(yùn)行于Windows 98/2000/XP環(huán)境,對(duì)PC的配置要求不高,一般的配置就能滿足要求。運(yùn)行Proteus ISIS的執(zhí)行程序后,即進(jìn)入Proteus ISIS編輯環(huán)境。該軟件有著以下幾個(gè)特點(diǎn):

本文引用地址:http://butianyuan.cn/article/149904.htm

1 提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVisiON2等軟件。

2 具有強(qiáng)大的原理圖繪制功能。

3 實(shí)現(xiàn)了單片機(jī)仿真和 SPICE電路仿真相結(jié)合。具有模擬電路、數(shù)字電路仿真、單片機(jī)及其外圍電路的仿真、各種虛擬儀器,如示波器等功能。

4 實(shí)現(xiàn)了單片機(jī)仿真和 SPICE電路仿真相結(jié)合。具有模擬電路、數(shù)字電路仿真、單片機(jī)及其外圍電路的仿真、各種虛擬儀器,如示波器等功能。

5 支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。

總的淶說Proteus是一款集單片機(jī)和SPICE分析于一身的電路設(shè)計(jì)和仿真軟件,功能極其強(qiáng)大。該軟件的使用徹底改變了傳統(tǒng)單片機(jī)學(xué)習(xí)和開發(fā)方式,初學(xué)者可以在沒有實(shí)驗(yàn)硬件條件下進(jìn)行仿真實(shí)驗(yàn),開發(fā)者可以直接用Proteus進(jìn)行電路設(shè)計(jì)和仿真運(yùn)行程序,運(yùn)行成功后再制作產(chǎn)品,縮短開發(fā)周期,節(jié)約開發(fā)成本。電路設(shè)計(jì)時(shí),部分應(yīng)用16×16字模提取軟件,這里我們以提取“廣東工貿(mào)”的字模數(shù)據(jù),通過查表取出字模數(shù)據(jù)送輸出顯示。   

1 顯示電路設(shè)計(jì)

我們采用AT89C51單片機(jī)來做漢字的控制電路,硬件電路由單片機(jī)接口電路、LED顯示屏行列驅(qū)動(dòng)電路、LED點(diǎn)陣顯示屏三部分組成,如圖1所示,電路用Proteus軟件畫出,具體畫法這里就不給出了,相信很多地方都有詳細(xì)的過程介紹。如果真的一點(diǎn)都不了解最好去看看相關(guān)畫法介紹,看了對(duì)Proteus軟件就會(huì)有更深入的了解了。

漢字顯示電路設(shè)計(jì)

在一般情況下要完全顯示出常用漢字至少需要16×16點(diǎn)陣,但由于Proteus元件庫中沒有16×16LED模塊,為了達(dá)到顯示要求,每個(gè)漢字是由四塊8×8 LED模塊組成。效果不會(huì)比16×16點(diǎn)陣的差。組合方式為先對(duì)每個(gè)8×8模塊行列引腳連接好總線,然后四個(gè)單色模塊組合緊密。

驅(qū)動(dòng)電路采用掃描驅(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í)間合適,利用人眼的視覺暫留特性,看上去整個(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é)果

讓我們看下Proteus的仿真方法:

(1)在Keil C51仿真軟件下創(chuàng)建項(xiàng)目,并把上述源程序添加到項(xiàng)目中,通過編譯產(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)陣中顯示出來,設(shè)定每個(gè)字顯示1秒,下秒將顯示“工”字,“廣東工貿(mào)”四個(gè)字循環(huán)顯示。四個(gè)字顯示出來如圖3所示。

仿真圖

結(jié)論

通過以上的,Proteus是單片機(jī)應(yīng)用產(chǎn)品靈活、高效、正確的設(shè)計(jì)與仿真平臺(tái),為單片機(jī)應(yīng)用產(chǎn)品研發(fā)提供了完整的虛擬實(shí)驗(yàn)室,改革了單片機(jī)應(yīng)用產(chǎn)品的研發(fā)過程,為廣大單片機(jī)初學(xué)者及工程技術(shù)人員提供了單片機(jī)開發(fā)輔助手段。同時(shí),Proteus也給漢字顯示電路的設(shè)計(jì)、平板顯示的驅(qū)動(dòng)電路設(shè)計(jì)等提供了一種新的方法。

上拉電阻相關(guān)文章:上拉電阻原理


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉