《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > LED分批漢字顯示屏的Proteus仿真設(shè)計(jì)
LED分批漢字顯示屏的Proteus仿真設(shè)計(jì)
摘要: LED分批漢字顯示屏的Proteus仿真設(shè)計(jì),介紹了一種利用嵌入式系統(tǒng)仿真軟件Proteus實(shí)現(xiàn)對16×16 LED點(diǎn)陣漢字分批顯示的仿真設(shè)計(jì),。詳細(xì)介紹點(diǎn)陣漢字分批顯示的硬軟件設(shè)計(jì)原理,給出了主要的C語言源程序,,并給出了仿真運(yùn)行結(jié)果,。該LED顯示屏系統(tǒng)結(jié)構(gòu)簡潔、功耗低,、成本低,、擴(kuò)展性能好。通過Proteus軟件的前期仿真,,LED顯示系統(tǒng)設(shè)計(jì)大大縮短了實(shí)際開發(fā)周期,,降低開發(fā)成本。
關(guān)鍵詞: Proteus 顯示屏 LED
Abstract:
Key words :

O 引言
    近年來,,LED顯示屏由于具有亮度高,,壽命長,功耗小,,性能穩(wěn)定,,驅(qū)動簡單以及可視距離遠(yuǎn)等優(yōu)點(diǎn),已經(jīng)成為新一代的信息傳播媒體工具,。目前,,LED顯示屏應(yīng)用十分廣泛,如證券交易顯示,、金融信息顯示,、體育場館顯示比賽信息、廣告,城市廣場群顯示,、道路交通信息顯示等領(lǐng)域,。顯示漢字信息時,一般需要多個LED點(diǎn)陣顯示組合,,最常見的組合方式有8x8,,16×16,32×16等,。由于顯示屏的顯示信息有限,,當(dāng)顯示信息較多時,一般需要進(jìn)行分批顯示或者滾動顯示,。
    Proteus是目前最先進(jìn),、最完整的多種型號微處理器系統(tǒng)的仿真設(shè)計(jì)平臺,由ISIS和ARES兩個構(gòu)成,,其中ISIS是一款智能電路原理圖輸入系統(tǒng)軟件,,可作為電子系統(tǒng)仿真平臺,ARES是一款高級布線編輯軟件,,用于制作PCB印制電路板,。開發(fā)者可以在無硬件條件下直接使用Pro-teus進(jìn)行電路設(shè)計(jì)和仿真調(diào)試,真正實(shí)現(xiàn)了在計(jì)算機(jī)中完成電路原理圖設(shè)計(jì),、電路分析與仿真,、系統(tǒng)測試到形成印制電路板的完整電子設(shè)計(jì)、研發(fā)過程,。因此,本課題利用AT89C5l單片機(jī)作為主控制器,,采用Proteus軟件實(shí)現(xiàn)對16×16 LED點(diǎn)陣漢字的分批顯示.仿真運(yùn)行通過后再進(jìn)行點(diǎn)陣顯示電路制作,,大大縮減實(shí)際開發(fā)周期,節(jié)約了開發(fā)成本,。

1 硬件電路設(shè)計(jì)
    在很多LED顯示的場合,,需要實(shí)現(xiàn)一系列LED點(diǎn)陣漢字的分批顯示,為簡化設(shè)計(jì),,每批只顯示2個漢字,,分若干次完成全部顯示。利用Proteus ISIS平臺畫出的硬件電路如圖l所示,。


    該硬件電路的核心是利用單片機(jī)讀取顯示字型碼,,通過驅(qū)動電路對16×16共陰極LED點(diǎn)陣進(jìn)行動態(tài)列掃描,以實(shí)現(xiàn)點(diǎn)陣漢字的分批顯示,。設(shè)計(jì)選用的單片機(jī)為Atrnel公司的AT89C51,,它是一種低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4 KB可反復(fù)擦寫的FLASH ROM,,采用Atmel公司的高密度,、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8051引腳結(jié)構(gòu),,內(nèi)置看門狗電路,。功能強(qiáng)大的AT89C5l可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。時鐘電路用于產(chǎn)生單片機(jī)工作時所必需的時鐘信號,,其中晶振頻率為12 MHz,。上電復(fù)位電路可保證單片機(jī)的在程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,重啟運(yùn)行,。
     顯示單元是LED漢字顯示屏,,由2片16×16 LED點(diǎn)陣模塊組成。但由于Proteus軟件目前版本中還沒有16×16點(diǎn)陣模塊,,設(shè)計(jì)中采用Pro-teus軟件中的4個8×8點(diǎn)陣模塊組合成1個16×16點(diǎn)陣模塊,。點(diǎn)陣漢字的陽極驅(qū)動是由單片機(jī)的PO口和P2口各自經(jīng)過一片輸出緩沖器74LS273向4個8×8 LED點(diǎn)陣輸出字型碼作為行驅(qū)動信號;點(diǎn)陣的陰極驅(qū)動由P1.0~P1.3經(jīng)過4-16線譯碼器74HCl54譯碼后輸出列選信號,,對4個8×8點(diǎn)陣進(jìn)行列掃描,,從而控制LED點(diǎn)陣的相應(yīng)像素點(diǎn)亮。2個LED點(diǎn)陣漢字中的列選信號則分別由P3.O和P3.1控制來選擇相應(yīng)的74HCl54,,因此需要兩片74HCl54譯碼器,。RP1為排阻,含有8個電阻,,作為PO口各位的上拉電阻,,以保證PO口能夠輸出高電平。

2 點(diǎn)陣漢字分批顯示原理與軟件設(shè)計(jì)
    16×16共陰極LED點(diǎn)陣由4個8×8點(diǎn)陣構(gòu)成,,需要顯示漢字字符串“單片機(jī)仿真!”,,可通過建立數(shù)據(jù)表格的形式進(jìn)行。通過16×16點(diǎn)陣漢字字模提取軟件,,可提取各顯示漢字的字模數(shù)據(jù),,詳見程序設(shè)計(jì)中的顯示字符代碼表1。
    在進(jìn)行漢字分批輸出顯示時采用動態(tài)掃描驅(qū)動方式,,可按行或列進(jìn)行掃描,。當(dāng)按“列”掃描時,需要建立列的掃描代碼表如下:

    現(xiàn)以列掃描為例,,闡述16×16 LED點(diǎn)陣漢字分批顯示原理,。在初始化設(shè)置(關(guān)顯示)后,首先,,P1送出第1列掃描代碼,,同時使P3=0xFD選中U2的74HCl54和U4,,對P0輸出段碼給左邊漢字上半部的第1列以驅(qū)動相應(yīng)段點(diǎn)亮;接著,,使P3=OxFA選中U2的74HCl54和U5,,對P2輸出段碼值給左邊漢字下半部的第1列以驅(qū)動相應(yīng)段點(diǎn)亮,即送出了第一個漢字“單”的第1列的字模數(shù)據(jù)(16位段碼值),;再設(shè)置P3=0xF5選中U3的74HC-l54和U4,,對P0輸出段碼給右邊漢字的上半部的第1列以驅(qū)動相應(yīng)段點(diǎn)亮。接著,,使P3=OxF9亦選中U3的74HCl54和U5,,對P2輸出段碼值給由邊漢字下半部的第1列以驅(qū)動相應(yīng)段點(diǎn)亮,即送出了第2個漢字“片”的第1列的字模數(shù)據(jù)(16位段碼值),。然后,,給P1送第2列的掃描代碼,同理再送出第1個漢字“單”,、第2個漢字“片”的各自第2列的字模數(shù)據(jù),,…如此進(jìn)行,經(jīng)過16次列掃描,,分時送完兩個漢字的各自16個段碼值,,就可顯示第1批漢字“單”、“片”,;再進(jìn)行第2批漢字“機(jī)”,、“仿”的顯示;…,,直到漢字字符串顯示完成,。若字符顯示完畢,又從頭開始循環(huán)顯示,。LED點(diǎn)陣漢字分批顯示的程序流程如2所示,。在某一時刻,只有1行或1列發(fā)光二極管被對應(yīng)的字模數(shù)據(jù)驅(qū)動點(diǎn)亮,,但只要掃描間隔時間合適(一般為數(shù)毫秒),利用人眼的視覺暫留特性,,看上去整批字符就顯示在LED點(diǎn)陣顯示器上,。


    主要的C語言源程序如下:

   

3 程序調(diào)試與仿真
    (1)生成目標(biāo)代碼文件。利用Proteus平臺在進(jìn)行仿真時,,需要加載程序到單片機(jī)中,,加載的程序?yàn)槟繕?biāo)代碼文件.HEX。方法是:利用單片機(jī)軟件仿真系統(tǒng)Keil UVsion3,,在新建項(xiàng)目中選擇AT89C51單片機(jī)作為CPU,,同時將創(chuàng)建C語言源程序文件并將其加載到新建項(xiàng)目中,。在“P-roject”下拉菜單中,選擇“Options for Target”對話框,,在對話框中選中“Output”選項(xiàng)卡中的“Create HEX File”選項(xiàng),。在“Proje-ct”下拉菜單中選擇“RebuiId all Target Files”選項(xiàng),編譯成功后將生成.HEX目標(biāo)代碼文件,。
    (2)調(diào)試與仿真:在Proteus ISIS平臺中,,按圖1畫出硬件電路,單擊鼠標(biāo)右鍵將AT89C51單片機(jī)選中并單擊鼠標(biāo)左鍵,,彈出“Edit Comp-onent”對話框,,在其中的“Clock Freqlaency”欄中設(shè)置單片機(jī)晶振頻率為12 MHz,在“Program File”欄選擇生成的.HEX文件,。保存設(shè)計(jì),,生成.DSN文件。在“Debug”菜單中選擇“Execute”,,可得到仿真運(yùn)行效果,。仿真調(diào)試成功后,可看見“單片機(jī)仿真!”點(diǎn)陣漢字的分批顯示,。顯示次序?yàn)?ldquo;單片-機(jī)仿-真!”,,其中“機(jī)仿”如圖3所示。通過Keil與Proteus的聯(lián)合調(diào)試取得了良好的效果,。



4 結(jié)語
    在嵌入式系統(tǒng)仿真平臺Proteus的基礎(chǔ)上,,實(shí)現(xiàn)對16×16 LED點(diǎn)陣漢字分批顯示的仿真設(shè)計(jì),實(shí)現(xiàn)了“單片機(jī)仿真!”六個漢字的分批顯示,,達(dá)到了良好的設(shè)計(jì)效果,。該仿真電路接近于實(shí)際電路,再使用ProteusARES軟件在仿真原理圖的基礎(chǔ)上直接繪制PCB電路板,,即可以制作出實(shí)際的點(diǎn)陣式LED分批漢字顯示屏,。該顯示屏電路結(jié)構(gòu)簡潔,可靠性高,,成本低且易于實(shí)現(xiàn),,軟件通過適當(dāng)修改即可實(shí)現(xiàn)其他顯示功能如滾動顯示等,顯示靈活,,適用領(lǐng)域廣泛,。通過Proteus的前期仿真為LED顯示屏系統(tǒng)的設(shè)計(jì)開發(fā)大大縮短了開發(fā)周期,降低了開發(fā)成本,,同時也為單片機(jī)應(yīng)用系統(tǒng),、電子電路的開發(fā)設(shè)計(jì)等提供了一種嶄新的設(shè)計(jì)方法和有效手段。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。