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

LED分批漢字顯示屏的Proteus仿真設計

2010-04-12 00:00:00
現代電子技術 2010年12期

摘 要:介紹了一種利用嵌入式系統仿真軟件Proteus實現對16×16 LED點陣漢字分批顯示的仿真設計。詳細介紹點陣漢字分批顯示的硬軟件設計原理,給出了主要的C語言源程序,并給出了仿真運行結果。該LED顯示屏系統結構簡潔、功耗低、成本低、擴展性能好。通過Proteus軟件的前期仿真,LED顯示系統設計大大縮短了實際開發周期,降低開發成本。

關鍵詞:LED點陣; 分批顯示; Proteus; AT89C51

中圖分類號:TP312 文獻標識碼:B

文章編號: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顯示屏由于具有亮度高,壽命長,功耗小,性能穩定,驅動簡單以及可視距離遠等優點[1],已經成為新一代的信息傳播媒體工具。目前,LED顯示屏應用十分廣泛,如證券交易顯示、金融信息顯示、體育場館顯示比賽信息、廣告,城市廣場群顯示、道路交通信息顯示等領域。顯示漢字信息時,一般需要多個LED點陣顯示組合,最常見的組合方式有8×8,16×16,32×16等。由于顯示屏的顯示信息有限,當顯示信息較多時,一般需要進行分批顯示或者滾動顯示。

Proteus是目前最先進、最完整的多種型號微處理器系統的仿真設計平臺,由ISIS和ARES 兩個構成,其中ISIS是一款智能電路原理圖輸入系統軟件,可作為電子系統仿真平臺,ARES是一款高級布線編輯軟件,用于制作PCB印制電路板。開發者可以在無硬件條件下直接使用Proteus進行電路設計和仿真調試,真正實現了在計算機中完成電路原理圖設計、電路分析與仿真、系統測試到形成印制電路板的完整電子設計、研發過程[2]。因此,本課題利用AT89C51單片機作為主控制器,采用Proteus軟件實現對16×16 LED點陣漢字的分批顯示,仿真運行通過后再進行點陣顯示電路制作,大大縮減實際開發周期,節約了開發成本。

1 硬件電路設計

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

該硬件電路的核心是利用單片機讀取顯示字型碼,通過驅動電路對16×16共陰極 LED 點陣進行動態列掃描,以實現點陣漢字的分批顯示。設計選用的單片機為Atmel公司的AT89C51,它是一種低功耗,高性能CMOS 8位單片機,片內含4 KB可反復擦寫的FLASH ROM,采用Atmel公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及8051引腳結構,內置看門狗電路。功能強大的AT89C51可為許多嵌入式控制應用系統提供高性價比的解決方案。時鐘電路用于產生單片機工作時所必需的時鐘信號,其中晶振頻率為12 MHz。上電復位電路可保證單片機的在程序運行出錯或操作錯誤使系統處于死鎖狀態時,重啟運行。

顯示單元是LED漢字顯示屏,由2片16×16 LED 點陣模塊組成。但由于Proteus 軟件目前版本中還沒有16×16 點陣模塊,設計中采用Proteus 軟件中的4個8×8點陣模塊組合成1個16×16 點陣模塊[3-4]。點陣漢字的陽極驅動是由單片機的P0口和P2口各自經過一片輸出緩沖器74LS273向4個8×8 LED點陣輸出字型碼作為行驅動信號;點陣的陰極驅動由P1.0~P1.3經過4-16線譯碼器74HC154譯碼后輸出列選信號[5],對4個8×8點陣進行列掃描,從而控制LED點陣的相應像素點亮。2個LED點陣漢字中的列選信號則分別由P3.0和P3.1控制來選擇相應的74HC154,因此需要兩片74HC154譯碼器。RP1為排阻,含有8個電阻,作為P0口各位的上拉電阻,以保證P0口能夠輸出高電平。

圖1 硬件電路原理圖

2 點陣漢字分批顯示原理與軟件設計

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

在進行漢字分批輸出顯示時采用動態掃描驅動方式,可按行或列進行掃描。當按“列”掃描時,需要建立列的掃描代碼表如下:

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

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

主要的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,//“機”

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)//延時函數

{uint i;

for (i;i

void main( )//主函數

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

ucharr,t=0;

P0=0x00;

P3=0xff;//初始化設置

while(1)

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

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;} //判斷是否顯示完兩個漢字的各自16列

q=q+64; //指向下一批漢字字符,準備顯示

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

3 程序調試與仿真

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

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

圖2 程序流程圖

圖3 仿真效果圖

4 結 語

在嵌入式系統仿真平臺Proteus 的基礎上,實現對16×16 LED點陣漢字分批顯示的仿真設計,實現了“單片機仿真! ”六個漢字的分批顯示,達到了良好的設計效果。該仿真電路接近于實際電路,再使用Proteus ARES軟件在仿真原理圖的基礎上直接繪制PCB電路板,即可以制作出實際的點陣式LED 分批漢字顯示屏。該顯示屏電路結構簡潔,可靠性高,成本低且易于實現,軟件通過適當修改即可實現其他顯示功能如滾動顯示等[10],顯示靈活,適用領域廣泛。通過Proteus的前期仿真為LED顯示屏系統的設計開發大大縮短了開發周期,降低了開發成本,同時也為單片機應用系統、電子電 路的開發設計等提供了一種嶄新的設計方法和有效手段。

參考文獻

[1]靳桅,鄔芝權,李騏,等.基于51系列單片機的LED顯示屏開發技術[M].北京:北京航空航天大學出版社,2009.

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

[3]鐘蔚,袁臣虎.點陣LED滾動漢字顯示屏的Proteus仿真設計[J].微計算機信息,2008,24(6):106-107.

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

[5]游達章,黃勁.簡易LED點陣漢字顯示控制模塊設計[J].現代顯示,2008(5):43-45.

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

[7]汪建,張麗娟.嵌入式LED點陣漢字顯示系統的驅動與編碼[J].微處理機,2007(1):119-121.

[8]朱清慧,王志奎.Proteus在LED點陣滾動顯示屏設計中的應用[J].液晶與顯示,2009,24(2):232-235.

[9]丁明亮,唐前輝.51單片機應用設計與仿真 基于Keil C與Proteus [M].北京:北京航天航空大學出版社,2009.

[10]遠飛.基于Proteus的LED滾幕設計與仿真[J].電子元器件應用,2009,11(6):38-40.

主站蜘蛛池模板: аv天堂最新中文在线| 久久国产拍爱| 久草青青在线视频| 精品伊人久久大香线蕉网站| 色噜噜久久| 一本视频精品中文字幕| 亚洲AV色香蕉一区二区| 中文字幕av一区二区三区欲色| 99久久精品免费看国产电影| 国产精品国产三级国产专业不| 国产第八页| 乱人伦视频中文字幕在线| 秋霞国产在线| 日韩欧美综合在线制服| 国产精品欧美在线观看| 四虎永久在线视频| 国产激爽大片高清在线观看| 性视频久久| www.亚洲色图.com| 在线亚洲精品自拍| 国产成人91精品免费网址在线| 青青青国产视频手机| 新SSS无码手机在线观看| 欧美一区二区啪啪| 四虎成人免费毛片| 中文字幕在线观| 亚洲欧洲日韩久久狠狠爱| 国产精品区视频中文字幕 | 国产在线98福利播放视频免费| 亚洲国语自产一区第二页| 日韩成人在线一区二区| 成年女人a毛片免费视频| 扒开粉嫩的小缝隙喷白浆视频| 免费AV在线播放观看18禁强制| av无码一区二区三区在线| 亚洲不卡av中文在线| 天天躁夜夜躁狠狠躁图片| 波多野结衣一二三| 国产网友愉拍精品| 精品無碼一區在線觀看 | 色妞永久免费视频| 99re视频在线| 亚洲成人黄色在线| 国产精品亚洲五月天高清| 午夜福利网址| 狠狠色综合久久狠狠色综合| 欧美国产日韩在线| 久久综合干| 亚国产欧美在线人成| 国产精品福利在线观看无码卡| 欧美一级高清片欧美国产欧美| 国产自在自线午夜精品视频| 亚洲AV无码不卡无码| 亚洲成人网在线观看| 一区二区三区精品视频在线观看| 91极品美女高潮叫床在线观看| 国产精品极品美女自在线| julia中文字幕久久亚洲| 亚洲伊人电影| 国产精品久久久久无码网站| 久久毛片网| 毛片基地美国正在播放亚洲 | 内射人妻无套中出无码| 国产网友愉拍精品| a级毛片免费播放| 亚洲色成人www在线观看| 伊人天堂网| 婷婷综合亚洲| 精品视频免费在线| 永久在线精品免费视频观看| YW尤物AV无码国产在线观看| 无码免费视频| 国产精品成人第一区| 婷婷色中文| 欧美日韩国产在线人成app| 国产一级视频在线观看网站| 国产美女在线免费观看| 亚洲永久色| 欧美啪啪网| 国产精品lululu在线观看 | 中文字幕在线一区二区在线| 国产午夜无码专区喷水|