999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LED分批漢字顯示屏的Proteus仿真設(shè)計(jì)

2010-04-12 00:00:00
現(xiàn)代電子技術(shù) 2010年12期

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

關(guān)鍵詞:LED點(diǎn)陣; 分批顯示; Proteus; AT89C51

中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:B

文章編號(hào):1004-373X(2010)12-0029-04

Proteus Design and Simulation of LED Chinese-Character Display in Batches

LI Ping

(Zhejiang Water Conservancy and Hydropower College,Hangzhou 310018,China)

Abstract:The simulation of 16 × 16 LED dot-matrix display of Chinese character in batches with an embedded system simulation software Proteus is introduced. The hardware and software design principles about dot-matrix Chinese character display in batches are proposed in detail, the main C-language source codes and the simulation results are given. The LED display system has simple architecture, low power consumption, low cost and good scalability. LED display system significantly reduces the actual development cycle and the development cost through the pre-simulation on Proteus.

Keywords:LED dot matrix; batch display; Proteus; AT89C51

0 引 言

近年來,LED顯示屏由于具有亮度高,壽命長(zhǎng),功耗小,性能穩(wěn)定,驅(qū)動(dòng)簡(jiǎn)單以及可視距離遠(yuǎn)等優(yōu)點(diǎn)[1],已經(jīng)成為新一代的信息傳播媒體工具。目前,LED顯示屏應(yīng)用十分廣泛,如證券交易顯示、金融信息顯示、體育場(chǎng)館顯示比賽信息、廣告,城市廣場(chǎng)群顯示、道路交通信息顯示等領(lǐng)域。顯示漢字信息時(shí),一般需要多個(gè)LED點(diǎn)陣顯示組合,最常見的組合方式有8×8,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ā)者可以在無硬件條件下直接使用Proteus進(jìn)行電路設(shè)計(jì)和仿真調(diào)試,真正實(shí)現(xiàn)了在計(jì)算機(jī)中完成電路原理圖設(shè)計(jì)、電路分析與仿真、系統(tǒng)測(cè)試到形成印制電路板的完整電子設(shè)計(jì)、研發(fā)過程[2]。因此,本課題利用AT89C51單片機(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)畫出的硬件電路如圖1所示。

該硬件電路的核心是利用單片機(jī)讀取顯示字型碼,通過驅(qū)動(dòng)電路對(duì)16×16共陰極 LED 點(diǎn)陣進(jìn)行動(dòng)態(tài)列掃描,以實(shí)現(xiàn)點(diǎn)陣漢字的分批顯示。設(shè)計(jì)選用的單片機(jī)為Atmel公司的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)大的AT89C51可為許多嵌入式控制應(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ì)中采用Proteus 軟件中的4個(gè)8×8點(diǎn)陣模塊組合成1個(gè)16×16 點(diǎn)陣模塊[3-4]。點(diǎn)陣漢字的陽極驅(qū)動(dòng)是由單片機(jī)的P0口和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線譯碼器74HC154譯碼后輸出列選信號(hào)[5],對(duì)4個(gè)8×8點(diǎn)陣進(jìn)行列掃描,從而控制LED點(diǎn)陣的相應(yīng)像素點(diǎn)亮。2個(gè)LED點(diǎn)陣漢字中的列選信號(hào)則分別由P3.0和P3.1控制來選擇相應(yīng)的74HC154,因此需要兩片74HC154譯碼器。RP1為排阻,含有8個(gè)電阻,作為P0口各位的上拉電阻,以保證P0口能夠輸出高電平。

圖1 硬件電路原理圖

2 點(diǎn)陣漢字分批顯示原理與軟件設(shè)計(jì)

16×16共陰極LED點(diǎn)陣由4個(gè)8×8點(diǎn)陣構(gòu)成,需要顯示漢字字符串“單片機(jī)仿真!”,可通過建立數(shù)據(jù)表格的形式進(jìn)行[6]。通過16×16點(diǎn)陣漢字字模提取軟件,可提取各顯示漢字的字模數(shù)據(jù)[2,7],詳見程序設(shè)計(jì)中的顯示字符代碼表1。

在進(jìn)行漢字分批輸出顯示時(shí)采用動(dòng)態(tài)掃描驅(qū)動(dòng)方式,可按行或列進(jìn)行掃描。當(dāng)按“列”掃描時(shí),需要建立列的掃描代碼表如下:

const uchar tab2[ ]={0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08}

現(xiàn)以列掃描為例,闡述16×16 LED點(diǎn)陣漢字分批顯示原理。在初始化設(shè)置(關(guān)顯示)后,首先,P1送出第1列掃描代碼,同時(shí)使P3=0xFD選中U2的74HC154和U4,對(duì)P0輸出段碼給左邊漢字上半部的第1列以驅(qū)動(dòng)相應(yīng)段點(diǎn)亮;接著,使P3=0xFA選中U2的74HC154和U5,對(duì)P2輸出段碼值給左邊漢字下半部的第1列以驅(qū)動(dòng)相應(yīng)段點(diǎn)亮,即送出了第一個(gè)漢字“單”的第1列的字模數(shù)據(jù)(16位段碼值);再設(shè)置P3=0xF5選中U3的74HC154和U4,對(duì)P0輸出段碼給右邊漢字的上半部的第1列以驅(qū)動(dòng)相應(yīng)段點(diǎn)亮。接著,使P3=0xF9亦選中U3的74HC154和U5,對(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)陣顯示器上。

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

#include \"reg51.h\"

#define uint unsigned int

#define uchar unsigned char

code uchar tab1[ ]={ //顯示的字符代碼表

0x00,0x10,0x00,0x10,0x1f,0xd0,0x14,0x90, //“單”

0x94,0x90,0x74,0x90,0x54,0x90,0x1f,0xff,

0x14,0x90,0x34,0x90,0xd4,0x90,0x54,0x90,

0x1f,0xd0,0x00,0x10,0x00,0x10,0x00,0x00,

0x00,0x01,0x00,0x02,0x00,0x0c,0x7f,0xf0, //“片”

0x08,0x80,0x08,0x80,0x08,0x80,0x08,0x80,

0x08,0x80,0xF8,0x80,0x08,0x80,0x08,0xff,

0x08,0x00,0x18,0x00,0x08,0x00,0x00,0x00,

0x10,0x20,0x10,0xc0,0x03,0x00,0xff,0xff,//“機(jī)”

0x12,0x00,0x11,0x82,0x10,0x0C,0x00,0x30,

0x7F,0xc0,0x40,0x00,0x40,0x00,0x40,0x00,

0x7F,0xfc,0x00,0x02,0x00,0x1e,0x00,0x00,

0x02,0x00,0x04,0x00,0x08,0x00,0x37,0xfe, //“仿”

0xe0,0x02,0x50,0x04,0x10,0x18,0x10,0x60,

0x9f,0x80,0x51,0x08,0x71,0x04,0x11,0x02,

0x11,0x04,0x33,0xf8,0x11,0x00,0x00,0x00,

… }; “真”,“!”字符代碼此處略

const uchar tab2[]={0x07,0x06,0x05,0x04,0x03,//掃描代碼表

0x02,0x01,0x00,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08};

void delay(uint n)//延時(shí)函數(shù)

{uint i;

for (i;i

void main( )//主函數(shù)

{int j=0,q=0,y=0;

ucharr,t=0;

P0=0x00;

P3=0xff;//初始化設(shè)置

while(1)

{for(r=0;r<200;r++) //控制每批字符顯示的時(shí)間

for (j=q;j<32+q;j++)

{ P1=tab2[t]; //輸出列掃描碼

P3=0xf6;

P0=tab1[j]; //選中U2和U4,輸出段碼給左邊漢字的上半部某列

j++;

P3=0xfa;

P2=tab1[j];//選中U2和U5,輸出段碼給左邊漢字的下半部某列

delay(250);

y=j+31;

P3=0xf5;

P0=tab1[y]; //選中U3和U4,輸出段碼給右邊漢字的上半部某列

y++;

P3=0xf9;

P2=tab1[y]; //選中U3和U5,輸出段碼給右邊漢字的下半部某列

t++;

delay(250);

if(t==16)t=0;} //判斷是否顯示完兩個(gè)漢字的各自16列

q=q+64; //指向下一批漢字字符,準(zhǔn)備顯示

if(q==192) q=0; }}//判斷是否顯示完該字符串

3 程序調(diào)試與仿真

(1) 生成目標(biāo)代碼文件。利用Proteus 平臺(tái)在進(jìn)行仿真時(shí),需要加載程序到單片機(jī)中,加載的程序?yàn)槟繕?biāo)代碼文件.HEX。方法是:利用單片機(jī)軟件仿真系統(tǒng)Keil UVsion3,在新建項(xiàng)目中選擇AT89C51單片機(jī)作為CPU,同時(shí)將創(chuàng)建C語言源程序文件并將其加載到新建項(xiàng)目中。在“Project”下拉菜單中,選擇“Options for Target”對(duì)話框,在對(duì)話框中選中“Output”選項(xiàng)卡中的“Create HEX File”選項(xiàng)。在“Project”下拉菜單中選擇“Rebuild all Target Files”選項(xiàng),編譯成功后將生成.HEX目標(biāo)代碼文件[8]。

(2) 調(diào)試與仿真: 在Proteus ISIS 平臺(tái)中,按圖1畫出硬件電路,單擊鼠標(biāo)右鍵將AT89C51單片機(jī)選中并單擊鼠標(biāo)左鍵,彈出“Edit Component”對(duì)話框,在其中的“Clock Frequency”欄中設(shè)置單片機(jī)晶振頻率為12 MHz,在“Program File”欄選擇生成的.HEX文件。保存設(shè)計(jì),生成.DSN文件。在“Debug”菜單中選擇“Execute”,可得到仿真運(yùn)行效果[9]。仿真調(diào)試成功后,可看見“單片機(jī)仿真!”點(diǎn)陣漢字的分批顯示。顯示次序?yàn)椤皢纹?機(jī)仿-真!”,其中“機(jī)仿”如圖3所示。通過Keil 與Proteus 的聯(lián)合調(diào)試取得了良好的效果。

圖2 程序流程圖

圖3 仿真效果圖

4 結(jié) 語

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

參考文獻(xiàn)

[1]靳桅,鄔芝權(quán),李騏,等.基于51系列單片機(jī)的LED顯示屏開發(fā)技術(shù)[M].北京:北京航空航天大學(xué)出版社,2009.

[2]侯玉寶,陳忠平,李成群,等.基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社, 2008.

[3]鐘蔚,袁臣虎.點(diǎn)陣LED滾動(dòng)漢字顯示屏的Proteus仿真設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(6):106-107.

[4]王猛,陳林.基于Proteus的LED大屏幕的設(shè)計(jì)與仿真[J].微計(jì)算機(jī)信息,2008,24(6):233-235.

[5]游達(dá)章,黃勁.簡(jiǎn)易LED點(diǎn)陣漢字顯示控制模塊設(shè)計(jì)[J].現(xiàn)代顯示,2008(5):43-45.

[6]楊延寧,劉立軍,張志勇.基于Proteus的單片機(jī)漢字點(diǎn)陣顯示電路設(shè)計(jì)[J].液晶與顯示,2009,24(1):98-102.

[7]汪建,張麗娟.嵌入式LED點(diǎn)陣漢字顯示系統(tǒng)的驅(qū)動(dòng)與編碼[J].微處理機(jī),2007(1):119-121.

[8]朱清慧,王志奎.Proteus在LED點(diǎn)陣滾動(dòng)顯示屏設(shè)計(jì)中的應(yīng)用[J].液晶與顯示,2009,24(2):232-235.

[9]丁明亮,唐前輝.51單片機(jī)應(yīng)用設(shè)計(jì)與仿真 基于Keil C與Proteus [M].北京:北京航天航空大學(xué)出版社,2009.

[10]遠(yuǎn)飛.基于Proteus的LED滾幕設(shè)計(jì)與仿真[J].電子元器件應(yīng)用,2009,11(6):38-40.

主站蜘蛛池模板: 国产jizzjizz视频| 国产精品第5页| 欧美精品亚洲二区| 91精品国产一区| 欧美日韩国产精品综合| 波多野结衣一区二区三区88| 色网站在线视频| 国国产a国产片免费麻豆| 国产青青草视频| 亚洲狠狠婷婷综合久久久久| 国产杨幂丝袜av在线播放| 人妻精品全国免费视频| 国产流白浆视频| 亚洲开心婷婷中文字幕| 情侣午夜国产在线一区无码| 又黄又湿又爽的视频| 国产精品无码制服丝袜| 精品无码日韩国产不卡av | 在线国产毛片手机小视频| 日韩欧美国产另类| 亚洲成年人网| 国产小视频在线高清播放| 欧美成一级| 成人免费网站久久久| 国产SUV精品一区二区| 久久这里只有精品国产99| 福利视频一区| 爆操波多野结衣| 在线视频亚洲色图| 丁香六月综合网| 亚洲精选无码久久久| 亚洲二区视频| 波多野一区| 亚洲欧美日韩成人在线| 一级毛片免费观看不卡视频| 香蕉精品在线| 国产精品女主播| 老汉色老汉首页a亚洲| 国产精选小视频在线观看| 玖玖免费视频在线观看| 久久综合久久鬼| 亚洲一区无码在线| 国产精品视频第一专区| 精品一区二区久久久久网站| 成人小视频网| 成人va亚洲va欧美天堂| 亚洲视屏在线观看| 婷婷久久综合九色综合88| 国产草草影院18成年视频| 亚洲精品视频免费| 欧美一道本| 亚洲无限乱码| 爆乳熟妇一区二区三区| 国产午夜福利亚洲第一| 国产精品久久久免费视频| 国产乱子伦精品视频| 一区二区三区高清视频国产女人| 欧美一区二区三区国产精品| 国产在线观看一区精品| 青青青国产视频手机| 精品亚洲欧美中文字幕在线看| 久久久久国产一级毛片高清板| 国产精品成| 色综合国产| 丁香五月婷婷激情基地| 天天操天天噜| 67194亚洲无码| 日韩色图在线观看| 伊人精品视频免费在线| 亚洲天堂网站在线| 成年女人18毛片毛片免费| 国产色图在线观看| 国产成人亚洲精品蜜芽影院| 亚洲AⅤ综合在线欧美一区| 欧美色亚洲| 日韩午夜福利在线观看| 97se亚洲综合| 无码aaa视频| 嫩草国产在线| 欧美视频免费一区二区三区| 久久国产精品77777| 亚洲日本中文字幕天堂网|