LED分批漢字顯示屏的Proteus仿真設(shè)計(jì)
引言
近年來,LED顯示屏由于具有亮度高,壽命長(zhǎng),功耗小,性能穩(wěn)定,驅(qū)動(dòng)簡(jiǎn)單以及可視距離遠(yuǎn)等優(yōu)點(diǎn),已經(jīng)成為新一代的信息傳播媒體工具。目前,LED顯示屏應(yīng)用十分廣泛,如證券交易顯示、金融信息顯示、體育場(chǎng)館顯示比賽信息、廣告,城市廣場(chǎng)群顯示、道路交通信息顯示等領(lǐng)域。顯示漢字信息時(shí),一般需要多個(gè)LED點(diǎn)陣顯示組合,最常見的組合方式有8x8,16×16,32×16等。由于顯示屏的顯示信息有限,當(dāng)顯示信息較多時(shí),一般需要進(jìn)行分批顯示或者滾動(dòng)顯示。
Proteus是目前最先進(jìn)、最完整的多種型號(hào)微處理器系統(tǒng)的仿真設(shè)計(jì)平臺(tái),由ISIS和ARES兩個(gè)構(gòu)成,其中ISIS是一款智能電路原理圖輸入系統(tǒng)軟件,可作為電子系統(tǒng)仿真平臺(tái),ARES是一款高級(jí)布線編輯軟件,用于制作PCB印制電路板。開發(fā)者可以在無硬件條件下直接使用Pro-teus進(jìn)行電路設(shè)計(jì)和仿真調(diào)試,真正實(shí)現(xiàn)了在計(jì)算機(jī)中完成電路原理圖設(shè)計(jì)、電路分析與仿真、系統(tǒng)測(cè)試到形成印制電路板的完整電子設(shè)計(jì)、研發(fā)過程。因此,本課題利用AT89C5l單片機(jī)作為主控制器,采用Proteus軟件實(shí)現(xiàn)對(duì)16×16 LED點(diǎn)陣漢字的分批顯示.仿真運(yùn)行通過后再進(jìn)行點(diǎn)陣顯示電路制作,大大縮減實(shí)際開發(fā)周期,節(jié)約了開發(fā)成本。
1 硬件電路設(shè)計(jì)
在很多LED顯示的場(chǎng)合,需要實(shí)現(xiàn)一系列LED點(diǎn)陣漢字的分批顯示,為簡(jiǎn)化設(shè)計(jì),每批只顯示2個(gè)漢字,分若干次完成全部顯示。利用Proteus ISIS平臺(tái)畫出的硬件電路如圖l所示。
該硬件電路的核心是利用單片機(jī)讀取顯示字型碼,通過驅(qū)動(dòng)電路對(duì)16×16共陰極LED點(diǎn)陣進(jìn)行動(dòng)態(tài)列掃描,以實(shí)現(xiàn)點(diǎn)陣漢字的分批顯示。設(shè)計(jì)選用的單片機(jī)為Atrnel公司的AT89C51,它是一種低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4 KB可反復(fù)擦寫的FLASH ROM,采用Atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8051引腳結(jié)構(gòu),內(nèi)置看門狗電路。功能強(qiáng)大的AT89C5l可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。時(shí)鐘電路用于產(chǎn)生單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào),其中晶振頻率為12 MHz。上電復(fù)位電路可保證單片機(jī)的在程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),重啟運(yùn)行。
顯示單元是LED漢字顯示屏,由2片16×16 LED點(diǎn)陣模塊組成。但由于Proteus軟件目前版本中還沒有16×16點(diǎn)陣模塊,設(shè)計(jì)中采用Pro-teus軟件中的4個(gè)8×8點(diǎn)陣模塊組合成1個(gè)16×16點(diǎn)陣模塊。點(diǎn)陣漢字的陽極驅(qū)動(dòng)是由單片機(jī)的PO口和P2口各自經(jīng)過一片輸出緩沖器74LS273向4個(gè)8×8 LED點(diǎn)陣輸出字型碼作為行驅(qū)動(dòng)信號(hào);點(diǎn)陣的陰極驅(qū)動(dòng)由P1.0~P1.3經(jīng)過4-16線譯碼器74HCl54譯碼后輸出列選信號(hào),對(duì)4個(gè)8×8點(diǎn)陣進(jìn)行列掃描,從而控制LED點(diǎn)陣的相應(yīng)像素點(diǎn)亮。2個(gè)LED點(diǎn)陣漢字中的列選信號(hào)則分別由P3.O和P3.1控制來選擇相應(yīng)的74HCl54,因此需要兩片74HCl54譯碼器。RP1為排阻,含有8個(gè)電阻,作為PO口各位的上拉電阻,以保證PO口能夠輸出高電平。
2 點(diǎn)陣漢字分批顯示原理與軟件設(shè)計(jì)
16×16共陰極LED點(diǎn)陣由4個(gè)8×8點(diǎn)陣構(gòu)成,需要顯示漢字字符串“單片機(jī)仿真!”,可通過建立數(shù)據(jù)表格的形式進(jìn)行。通過16×16點(diǎn)陣漢字字模提取軟件,可提取各顯示漢字的字模數(shù)據(jù),詳見程序設(shè)計(jì)中的顯示字符代碼表1。
在進(jìn)行漢字分批輸出顯示時(shí)采用動(dòng)態(tài)掃描驅(qū)動(dòng)方式,可按行或列進(jìn)行掃描。當(dāng)按“列”掃描時(shí),需要建立列的掃描代碼表如下:
現(xiàn)以列掃描為例,闡述16×16 LED點(diǎn)陣漢字分批顯示原理。在初始化設(shè)置(關(guān)顯示)后,首先,P1送出第1列掃描代碼,同時(shí)使P3=0xFD選中U2的74HCl54和U4,對(duì)P0輸出段碼給左邊漢字上半部的第1列以驅(qū)動(dòng)相應(yīng)段點(diǎn)亮;接著,使P3=OxFA選中U2的74HCl54和U5,對(duì)P2輸出段碼值給左邊漢字下半部的第1列以驅(qū)動(dòng)相應(yīng)段點(diǎn)亮,即送出了第一個(gè)漢字“單”的第1列的字模數(shù)據(jù)(16位段碼值);再設(shè)置P3=0xF5選中U3的74HC-l54和U4,對(duì)P0輸出段碼給右邊漢字的上半部的第1列以驅(qū)動(dòng)相應(yīng)段點(diǎn)亮。接著,使P3=OxF9亦選中U3的74HCl54和U5,對(duì)P2輸出段碼值給由邊漢字下半部的第1列以驅(qū)動(dòng)相應(yīng)段點(diǎn)亮,即送出了第2個(gè)漢字“片”的第1列的字模數(shù)據(jù)(16位段碼值)。然后,給P1送第2列的掃描代碼,同理再送出第1個(gè)漢字“單”、第2個(gè)漢字“片”的各自第2列的字模數(shù)據(jù),…如此進(jìn)行,經(jīng)過16次列掃描,分時(shí)送完兩個(gè)漢字的各自16個(gè)段碼值,就可顯示第1批漢字“單”、“片”;再進(jìn)行第2批漢字“機(jī)”、“仿”的顯示;…,直到漢字字符串顯示完成。若字符顯示完畢,又從頭開始循環(huán)顯示。LED點(diǎn)陣漢字分批顯示的程序流程如2所示。在某一時(shí)刻,只有1行或1列發(fā)光二極管被對(duì)應(yīng)的字模數(shù)據(jù)驅(qū)動(dòng)點(diǎn)亮,但只要掃描間隔時(shí)間合適(一般為數(shù)毫秒),利用人眼的視覺暫留特性,看上去整批字符就顯示在LED點(diǎn)陣顯示器上。
圖2程序流程圖
更多相關(guān): AV集成
©版權(quán)所有。未經(jīng)許可,不得轉(zhuǎn)載。