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