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