Proteus的LED滾屏設(shè)計(jì)與仿真
本文以40×16的小屏幕為例來(lái)介紹滾動(dòng)屏幕的制作方法。該設(shè)計(jì)基于英國(guó)Labcenter Electronics公司開(kāi)發(fā)的仿真軟件Proteus,在產(chǎn)品開(kāi)發(fā)的初期,使用這個(gè)軟件無(wú)疑是一種提高效率和降低成本的好辦法。
LED電子屏在日常生活中隨處可見(jiàn),尺寸有大有小,屏幕顯示的內(nèi)容有靜態(tài)的和動(dòng)態(tài)的,動(dòng)態(tài)的大多采用滾動(dòng)和閃爍等方式。無(wú)論是顯示數(shù)字的小屏幕還是顯示文字或圖像的幾平方米的大屏幕,其顯示原理都是類似的。
1 硬件電路設(shè)計(jì)
1.1 點(diǎn)陣式LED
本文設(shè)計(jì)的LED滾動(dòng)屏幕由8×8點(diǎn)陣式LED模塊組成,因此40×16(16行40列)的屏幕共需要10片8×8的LED模塊。其組成形式如圖1所示。圖中8×8點(diǎn)陣式LED由8行8列共64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管放置在行線和列線的交叉點(diǎn)上.當(dāng)對(duì)應(yīng)的某一列置1電平,某一行置0電平時(shí),其相應(yīng)交叉點(diǎn)的二極管發(fā)光。
1.2 仿真軟件Proteus
Proteus的ISIS是一款Labcenter出品的電路分析實(shí)物仿真系統(tǒng),它可仿真各種電路和IC,并支持單片機(jī),且元件庫(kù)齊全,使用方便,是不可多得的專業(yè)單片機(jī)軟件仿真系統(tǒng)。目前Proteus軟件可支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。
1.3 電路設(shè)計(jì)
圖2是LED滾動(dòng)屏幕的電路原理圖。該屏幕由10片8×8LED模塊組成,分兩排,每排5片。由于8×8LED模塊只能顯示數(shù)字,不能顯示漢字,且顯示一個(gè)漢字至少需要16×16點(diǎn)陣,所以,本設(shè)計(jì)采用4片8×8LED模塊,可以同時(shí)顯示2.5個(gè)漢字,圖1中屏幕顯示的是“動(dòng)屏”兩個(gè)字和“幕”字的左半邊。滾動(dòng)屏幕的顯示由AT89C51來(lái)控制,屏幕不停地向左滾動(dòng)顯示“滾動(dòng)屏幕設(shè)計(jì)”六個(gè)字。由于該屏幕有16行40列,其行和列引腳信號(hào)均由AT89C51控制,但AT89C51只有32個(gè)I/O口,所以,設(shè)計(jì)中使用了5片74LS138譯碼器來(lái)提供列控制信號(hào),而行方向的16條引腳則接在AT89C51的P0口和P2口。74LS138的地址輸入端和片選輸入端由AT89C51的P1口控制。
2 軟件設(shè)計(jì)
本文設(shè)計(jì)的LED滾動(dòng)屏幕是通過(guò)AT89C51來(lái)進(jìn)行控制的,而可實(shí)現(xiàn)向左滾動(dòng)顯示“滾動(dòng)屏幕設(shè)計(jì)”六個(gè)文字的顯示,其程序使用匯編語(yǔ)言來(lái)編寫完成,流程圖如圖3所示。設(shè)計(jì)時(shí)先由控制器的P0口和P2口送1~16行掃描碼,由P1口來(lái)控制譯碼器送列控制碼。在顯示完第l列后,列控制碼加1,再顯示第2列,直到40列顯示完,即顯示完一屏。然后重新顯示1~40列,反復(fù)顯示10次,這樣可使文字顯示的時(shí)間更久些。當(dāng)顯示完第1屏,取碼指針就加2(每一列是16位,兩個(gè)字節(jié)),接著顯示第2屏,即第2屏的第1列是第1屏的第2列,第3屏的第1列是第1屏的第3列,如此循環(huán)就出現(xiàn)了屏幕滾動(dòng)顯示的效果。直到6個(gè)文字全部顯示完畢,再循環(huán)顯示。
3 仿真設(shè)計(jì)
本設(shè)計(jì)在Proteus ISIS中命名為40X16,匯編語(yǔ)言程序命名為40X16.a(chǎn)sm,點(diǎn)擊菜單Source的下拉菜單第一條Add/Remove Source Files,在彈出的對(duì)話框中點(diǎn)擊New,選擇40X16.a(chǎn)sm。然后在CodeGereration tool一欄的下拉框中選擇ASM51,點(diǎn)擊OK。這樣,菜單Source的下拉菜單中就多了個(gè)40X16.a(chǎn)sm。點(diǎn)擊菜單Source的下拉菜單BuildAll,如果編譯成功,會(huì)彈出BUILD LOG提示沒(méi)有錯(cuò)誤,如果程序中有錯(cuò)誤,則編譯失敗,BUILDLOG也會(huì)對(duì)錯(cuò)誤進(jìn)行提示。編譯完成后生成40X16.hex文件,在原理圖中右鍵點(diǎn)擊AT89C51,再點(diǎn)擊左鍵,會(huì)彈出Edit Component對(duì)話框中,如圖4所示,對(duì)其設(shè)置完后再點(diǎn)擊OK,就可以進(jìn)行仿真了。
4結(jié)束語(yǔ)
本文利用Proteus ISIS完成了40×16點(diǎn)陣式LED滾動(dòng)屏幕的設(shè)計(jì),屏幕左向滾動(dòng)顯示“滾動(dòng)屏幕設(shè)計(jì)”六個(gè)字,仿真效果良好。本設(shè)計(jì)電路原理簡(jiǎn)單易行,程序簡(jiǎn)潔高效,因此對(duì)于大屏幕的制作有很好的參考價(jià)值。
評(píng)論