FPGA課程設(shè)計(jì)匯本報(bào)告_第1頁(yè)
FPGA課程設(shè)計(jì)匯本報(bào)告_第2頁(yè)
FPGA課程設(shè)計(jì)匯本報(bào)告_第3頁(yè)
FPGA課程設(shè)計(jì)匯本報(bào)告_第4頁(yè)
FPGA課程設(shè)計(jì)匯本報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

...wd......wd......wd...漢字點(diǎn)陣的FPGA實(shí)現(xiàn)實(shí)習(xí)報(bào)告學(xué)院:電氣與信息工程學(xué)院姓名:龔妙專業(yè):電子信息科學(xué)與技術(shù)081學(xué)號(hào):08401500126指導(dǎo)教師:張學(xué)毅2011年11月11日漢字點(diǎn)陣顯示的FPGA實(shí)現(xiàn)引言隨著我國(guó)經(jīng)濟(jì)的高速開展,對(duì)公共場(chǎng)合發(fā)布信息的需求日益增長(zhǎng),利用LED點(diǎn)陣顯示漢字的出現(xiàn)正好適應(yīng)了這一市場(chǎng)需求,已經(jīng)成為信息傳播的一種重要手段。采用傳統(tǒng)方法設(shè)計(jì)的漢字顯示,通常需要使用單片機(jī)、存儲(chǔ)器和制約邏輯電路來進(jìn)展PCB板級(jí)的系統(tǒng)集成。盡管這種方案有單片機(jī)軟件的支持較為靈活,但是由于受硬件資源的限制,未來對(duì)設(shè)計(jì)的變更和升級(jí),總是難以防止要付出較多的研發(fā)經(jīng)費(fèi)和較長(zhǎng)投放市場(chǎng)周期的代價(jià)。隨著電子設(shè)計(jì)自動(dòng)化〔EDA〕技術(shù)的進(jìn)展,基于可編程FPGA器件進(jìn)展系統(tǒng)芯片集成的新設(shè)計(jì)方法,也正在快速地到代基于PCB板的傳統(tǒng)設(shè)計(jì)方式。因此,本文主要闡述基于FPGA和VHDL語言實(shí)現(xiàn)在16*16點(diǎn)陣上漢字的顯示問題。設(shè)計(jì)方案本文的LED點(diǎn)陣模塊,共有16*16個(gè)發(fā)光二極管組成,此次設(shè)計(jì)最大的難點(diǎn)在于如何顯示漢字。系統(tǒng)采用16路動(dòng)態(tài)分時(shí)掃描技術(shù)來實(shí)現(xiàn),將16*16數(shù)組的顯示模塊的列輸入端與FPGA的ROM的16位數(shù)據(jù)輸出端口相連,16個(gè)行控制端與一個(gè)4-16譯碼器的輸出端相連,譯碼器的輸入端又與FPGA內(nèi)的行掃描控制模塊的輸出sel3-sel0相連。圖1.1為硬件原理圖。圖1.1系統(tǒng)原理框圖LED的顯示原理16*16LED點(diǎn)陣的顯示原理如同單個(gè)LED顯示原理,當(dāng)順向一端接有高電平,另一端為低電平時(shí),對(duì)應(yīng)的LED就被點(diǎn)亮。16*16的點(diǎn)陣就是對(duì)應(yīng)于行或列為高電平時(shí),另一端為低電平,且為順接時(shí),他們穿插地方的LED就被點(diǎn)亮。點(diǎn)陣LED一般采用掃描方式顯示,包括1〕行掃描;2〕列掃描;3)點(diǎn)掃描。采用不同的掃描方式其對(duì)掃描頻率也有不同的要求。此次實(shí)驗(yàn)采用的是列掃描的方式。漢字的顯示漢字顯示使用的是16*16的點(diǎn)陣,EDA實(shí)驗(yàn)箱上有其接口,列選信號(hào)為sel0-sel3,經(jīng)4—16線譯碼器輸出16行,列選信號(hào)是由一個(gè)4位向量sel[3:0]控制,行選信號(hào)為q0-q15,每一行由一個(gè)單獨(dú)的位來控制,高電平有效。由于列是由一個(gè)向量決定的,而每一時(shí)刻的值只能有一個(gè)固定的值,因而只能使某一列的假設(shè)干個(gè)點(diǎn)亮,因此就決定了只能用逐列掃描的方法。編程思路本次設(shè)計(jì)的難點(diǎn)在于怎樣顯示漢字及如何動(dòng)態(tài)的變換漢字,從這方面入手,因?yàn)楸敬卧O(shè)計(jì)要顯示的漢字和數(shù)字較多,故可采取自動(dòng)切換的方法,即在字與字之間加一延時(shí)和循環(huán)即可實(shí)現(xiàn)漢字的動(dòng)態(tài)顯示,故用到了一個(gè)17進(jìn)制計(jì)數(shù)器〔共17個(gè)漢字和數(shù)字〕和一個(gè)16進(jìn)制的計(jì)數(shù)器,外加一延時(shí)單元和漢字字模單元幾局部組成。六、程序清單'defineUD#1moduledianzhen(sysclk,rst_b,led_data,led_sel);inputsysclk,rst_b;output[15:0led_data;output[3:0]led_sel;wiresysclk;wirerst_b;reg[15:0]led_data;reg[3:0]led_sel;reg[3:0]led_sel_n;reg[15:0]led_scan_cnt;reg[15:0]led_scan_cnt_n;reg[27:0]led_keep_cnt;reg[27:0]led_keep_cnt_n;reg[3:0]led_mode;reg[3:0]led_mode_n;parameterscan_led=16'h50;parameterscan_src=28'h100;always@(posedgesysclkornegedgerst_b)beginif(!rst_b)led_scan_cnt<='ud16'b0;elseled_scan_cnt<='udled_scan_cnt_n;endalways@(*)beginif(led_scan_cnt==scan_led)led_scan_cnt_n=16'h0;elseled_scan_cnt_n=led_scan_cnt+16'h1;endalways@(posedgesysclkornegedgerst_b)beginif(!rst_b)led_sel<='UD4'h0;elseled_sel<='UDled_sel_n;endalways@(*)beginif(led_sel_cnt==scan_led)led_sel_n=led_sel+4'h1;elseled_sel_n=led_sel;endalways@(posedgesysclkornegedgerst_b)beginif(!rst_b)led_keep_cnt<='UD28'h0;elseled_keep_cnt<='UDled_keep_cnt_n;endalways@(*)beginif(led_keep_cnt==scan_scr)led_keep_cnt_n=28'h0;elseled_keep_cnt_n=led_keep_cnt+28'h1;endalways@(posedgesysclkornegedgerst_b)beginif(!rst_b)led_mode<='UD4'h0;elseled_mode<='UDled_mode_n;endalways@(*)beginif(led_mode==4'he)led_mode_n=4'h0;elseif(led_keep_cnt==scan_scr)led_mode_n=led_mode+4'h1;elseled_mode_n=led_mode;endalways@(*)begincase(led_mode)4'h0:case(led_sel) 4'h0: led_data=16'h0000;//dian 4'h1: led_data=16'h7000; 4'h2: led_data=16'h4000; 4'h3: led_data=16'h4ff8; 4'h4: led_data=16'h4448; 4'h5: led_data=16'h4448; 4'h6: led_data=16'h4448; 4'h7: led_data=16'h4448; 4'h8: led_data=16'h3fff; 4'h9: led_data=16'h0448; 4'ha: led_data=16'h0448; 4'hb: led_data=16'h0448; 4'hc: led_data=16'h0448; 4'hd: led_data=16'h0ff8; 4'he: led_data=16'h0000; 4'hf: led_data=16'h0000;endcase4'h1:case(led_sel)4'h0: led_data=16'h0000;//ke 4'h1: led_data=16'h0100; 4'h2: led_data=16'h0100; 4'h3: led_data=16'hffff; 4'h4: led_data=16'h0200; 4'h5: led_data=16'h0200; 4'h6: led_data=16'h02cc; 4'h7: led_data=16'h0422; 4'h8: led_data=16'h0400; 4'h9: led_data=16'h0491; 4'ha: led_data=16'h0051; 4'hb: led_data=16'hffff; 4'hc: led_data=16'h0072; 4'hd: led_data=16'h0192; 4'he: led_data=16'h0212; 4'hf: led_data=16'h0410; endcase 4'h2:case(led_sel)4'h0: led_data=16'h0000;//0 4'h1: led_data=16'h07c0; 4'h2: led_data=16'h0ff0; 4'h3: led_data=16'h1830; 4'h4: led_data=16'h1018; 4'h5: led_data=16'h2008; 4'h6: led_data=16'h2008; 4'h7: led_data=16'h2008; 4'h8: led_data=16'h2008; 4'h9: led_data=16'h2008; 4'ha: led_data=16'h1010; 4'hb: led_data=16'h1830; 4'hc: led_data=16'h0ff0; 4'hd: led_data=16'h07c0; 4'he: led_data=16'h0000; 4'hf: led_data=16'h0000;endcase 4'h3:case(led_sel)4'h0: led_data=16'h0000;//8 4'h1: led_data=16'h0000; 4'h2: led_data=16'h0c70; 4'h3: led_data=16'h1e70; 4'h4: led_data=16'h1298; 4'h5: led_data=16'h2308; 4'h6: led_data=16'h2108; 4'h7: led_data=16'h2108; 4'h8: led_data=16'h2108; 4'h9: led_data=16'h2088; 4'ha: led_data=16'h2188; 4'hb: led_data=16'h21D8; 4'hc: led_data=16'h1270; 4'hd: led_data=16'h1e70; 4'he: led_data=16'h0C00; 4'hf: led_data=16'h0000;endcase4'h4:case(led_sel)4'h0: led_data=16'h0000;//1 4'h1: led_data=16'h0000; 4'h2: led_data=16'h0000; 4'h3: led_data=16'h2000; 4'h4: led_data=16'h2000; 4'h5: led_data=16'h2000; 4'h6: led_data=16'h2000; 4'h7: led_data=16'h3ff8; 4'h8: led_data=16'h3ff0; 4'h9: led_data=16'h2010; 4'ha: led_data=16'h2010; 4'hb: led_data=16'h2010; 4'hc: led_data=16'h2010; 4'hd: led_data=16'h0000; 4'he: led_data=16'h0000; 4'hf: led_data=16'h0000;endcase 4'h5:case(led_sel)4'h0:led_data=16'h1080;4'h1:led_data=16'h4410;4'h2:led_data=16'h2492;4'h3:led_data=16'h1c52;4'h4:led_data=16'ha732;4'h5:led_data=16'h251f;4'h6:led_data=16'h1224;4'h7:led_data=16'h3c12;4'h8:led_data=16'h1254;4'h9:led_data=16'h1fd4;4'ha:led_data=16'h4632;4'hb:led_data=16'h4452;4'hc:led_data=16'h7492;4'hd:led_data=16'h0010;4'he:led_data=16'h0100;4'hf:led_data=16'h0000;endcase4'h6:case(led_sel)4'h0:led_data=16'h4010;4'h1:led_data=16'h2210;4'h2:led_data=16'h15f0;4'h3:led_data=16'h081f;4'h4:led_data=16'h1610;4'h5:led_data=16'h21f0;4'h6:led_data=16'h8100;4'h7:led_data=16'h80c0;4'h8:led_data=16'h4038;4'h9:led_data=16'h4000;4'ha:led_data=16'h27ff;4'hb:led_data=16'h1000;4'hc:led_data=16'h0c08;4'hd:led_data=16'h0310;4'he:led_data=16'h0060;4'hf:led_data=16'h0000;endcase4'h7:case(led_sel)4'h0: led_data=16'h0000;//20 4'h1: led_data=16'h0fe0; 4'h2: led_data=16'h1010; 4'h3: led_data=16'h2008; 4'h4: led_data=16'h2008; 4'h5: led_data=16'h1010; 4'h6: led_data=16'h0fe0; 4'h7: led_data=16'h0000; 4'h8: led_data=16'h0000; 4'h9: led_data=16'h3070; 4'ha: led_data=16'h2188; 4'hb: led_data=16'h2208; 4'hc: led_data=16'h2408; 4'hd: led_data=16'h2808; 4'he: led_data=16'h3070; 4'hf: led_data=16'h0000;endcase 4'h8: case(led_sel) 4'h0: led_data=16'h0000;//11 4'h1: led_data=16'h0000; 4'h2: led_data=16'h2000; 4'h3: led_data=16'h2000; 4'h4: led_data=16'h3ff8; 4'h5: led_data=16'h2010; 4'h6: led_data=16'h2010; 4'h7: led_data=16'h0000; 4'h8: led_data=16'h0000; 4'h9: led_data=16'h0000; 4'ha: led_data=16'h2000; 4'hb: led_data=16'h2000; 4'hc: led_data=16'h3ff8; 4'hc: led_data=16'h2010; 4'he: led_data=16'h2010; 4'hc: led_data=16'h0000; endcase 4'h9: case(LED_SEL) 4'h0: led_data=16'h0000;//year 4'h1: led_data=16'h0400; 4'h2: led_data=16'h0402; 4'h3: led_data=16'h0422; 4'h4: led_data=16'h0422; 4'h5: led_data=16'h0422; 4'h6: led_data=16'h0422; 4'h7: led_data=16'hfffe; 4'h8: led_data=16'h0422; 4'h9: led_data=16'h0422; 4'ha: led_data=16'h0422; 4'hb: led_data=16'h07e3; 4'hc: led_data=16'h040C; 4'hd: led_data=16'h0410; 4'he: led_data=16'h0420; 4'hf: led_data=16'h0440; endcase 4'ha: case(led_sel) 4'h0: led_data=16'h0000;//11 4'h1: led_data=16'h0000; 4'h2: led_data=16'h2000; 4'h3: led_data=16'h2000; 4'h4: led_data=16'h3ff8; 4'h5: led_data=16'h2010; 4'h6: led_data=16'h2010; 4'h7: led_data=16'h0000; 4'h8: led_data=16'h0000; 4'h9: led_data=16'h0000; 4'ha: led_data=16'h2000; 4'hb: led_data=16'h2000; 4'hc: led_data=16'h3ff8; 4'hd: led_data=16'h2010; 4'he: led_data=16'h2010; 4'hf: led_data=16'h0000; endcase 4'hb: case(led_sel) 4'h0:led_data=16'h0000;//month 4'h1:led_data=16'h0000; 4'h2:led_data=16'h0000; 4'h3:led_data=16'h0000; 4'h4:led_data=16'h3fff; 4'h5:led_data=16'h4111; 4'h6:led_data=16'h2111; 4'h7:led_data=16'h0111; 4'h8:led_data=16'h0111; 4'h9:led_data=16'h0111; 4'ha:led_data=16'h03ff; 4'hb:led_data=16'h0C00; 4'hc:led_data=16'h1000; 4'hd:led_data=16'h2000; 4'he:led_data=16'h4000; 4'hf:led_data=16'h0000; endcase 4'hc:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論