EDA跑馬燈設計_第1頁
EDA跑馬燈設計_第2頁
EDA跑馬燈設計_第3頁
EDA跑馬燈設計_第4頁
EDA跑馬燈設計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄任務書第一章系統(tǒng)分析與設計方案11.1 設計原理1第二章 子模塊設計及程序22.1 分頻器22.2顯示模式模塊42.3 顯示LED燈模塊6第三章 調(diào)試仿真及結(jié)果73.1頂層原理圖73.2 仿真圖73.2.1 引腳鎖定圖73.2.2 波形仿真圖8第四章 心得體會11第一章 系統(tǒng)分析與設計方案1.1 設計原理在掌握常用數(shù)字電路功能和原理的基礎上,根據(jù)EDA技術(shù)課程所學知識,以及平時實驗的具體操作內(nèi)容,利用硬件描述語言HDL,EDA軟件Quartus進行一個簡單的電子系統(tǒng)設計,本次試驗我所完成的內(nèi)容是跑馬燈的設計,下面我簡單的進行一下原理的闡述。跑馬燈課程設計的要求是控制8個LED進行花樣顯示,

2、設計四種顯示模塊:第一種顯示是從左向右逐個點亮LED。第二種顯示:從右向左逐個點亮LED。第三種顯示:從兩邊向中間逐個點亮LED。第四種顯示:從中間到兩邊逐個點亮LED。四種顯示模式循環(huán)切換,并帶有一位復位鍵控制系統(tǒng)的運行停止。為了完成要求的效果顯示,由于要求比較簡單,所以不用分為很多模塊來具體控制,所以我先擇利用賦值語句來完成燈的點亮,根據(jù)了解我們實驗箱上的LED燈屬于共陰極接法,當給于高電平時點亮,那么當我們需要點亮某位LED燈時,只需在該位上賦予高電平即可,比如:如果我們要實現(xiàn)8個數(shù)碼燈從左到右依次點亮,那么我們就可以給這8個數(shù)碼燈分別賦值10000000,經(jīng)過一段時間的延時后再給其賦值

3、01000000,再經(jīng)過一段時間延時后再給其賦值00100000,依次類推,則最后一種賦值狀態(tài)為00000001,這樣就得到了相應的現(xiàn)象。同理,要實現(xiàn)數(shù)碼燈從右向左依次點亮,從中間向兩端依次點亮,從兩端向中間依次點亮都可以采用這樣賦值的方法。在延時的程序編寫的過程中,我們采用計數(shù)時鐘脈沖個數(shù)的方式來實現(xiàn)。結(jié)合具體程序來說就是,在每個時鐘上升沿將clk_cnt變量加一,當達到499999后,就進入顯示進程做下一步的賦值操作以顯示相應接續(xù)的狀態(tài)。為了達到四種顯示模式循環(huán)切換的目的,可以將以上的所有賦值語句以順序語句的形式置于進程中,這樣在完成了一種顯示方式后就會自動進入下一種設定好的顯示模式,如此

4、反復循環(huán)。當需要程序復位時,只需按下rst鍵即可,程序不管走都那里,執(zhí)行那條語句,只要確定復位鍵按下時,程序立刻返回到程序執(zhí)行語句的第一步,程序接著進行新的循環(huán)點亮。系統(tǒng)工作流程如下圖所示,在沒有外界輸入控制時,中央控制器將反復循環(huán)輸入預先設定的編碼,因此8個數(shù)碼燈將在四種顯示模式中循環(huán)顯示。若復位端被置0,則系統(tǒng)被重置,無論當前處于什么狀態(tài),都重新從最開始的狀態(tài)開始重新執(zhí)行。 圖1 總體設計框圖第二章 子模塊設計及程序2.1 分頻器 輸入一個CLK信號,通過分頻器模塊分別輸送到顯示模式模塊和顯示LED模塊生成分頻器程序:module FPQ(rst,clk,sel,fp); input cl

5、k,rst;input 1:0sel;output fp;reg1:0temp;reg fp;always(posedge clk or negedge rst)if(!rst) begintemp<=0;fp<=0; endelsecase(sel)2'b00:if(temp=2)beginfp<=1;temp<=0;endElse begintemp<=temp+1;fp<=0; end2'b01:if(temp=3)beginfp<=1;temp<=0;endElse begintemp<=temp+1;fp<=

6、0;end2'b10:if(temp=1) beginfp<=1;temp<=0;endElse begintemp<=temp+1;fp<=0;end2'b11:fp<=clk;endcaseendmodule圖2 分頻器模塊2.2顯示模式模塊 在實驗箱上顯示彩燈運行的模式,分別有1-4種模式生成數(shù)碼管顯示程序:module moshi(state,led,rst,clk,);input 1:0 state;input rst,clk;output7:0 led;reg 7:0led;reg 2:0temp;always(posedge clk

7、or negedge rst)if(!rst) temp<=0;else if(temp=3'b111)temp<=3'b000;elsetemp<=temp+1;always(posedge clk)case(state)2'b00:begincase(temp)3'b000:led<=8'b10000000;3'b001:led<=8'b01000000;3'b010:led<=8'b00100000;3'b011:led<=8'b00010000;3'

8、b100:led<=8'b00001000;3'b101:led<=8'b00000100;3'b110:led<=8'b00000010;3'b111:led<=8'b00000001;endcaseend2'b01:begincase(temp)3'b000:led<=8'b00000001;3'b001:led<=8'b00000010;3'b010:led<=8'b00000100;3'b011:led<=8'b

9、00001000;3'b100:led<=8'b00010000;3'b101:led<=8'b00100000;3'b110:led<=8'b01000000;3'b111:led<=8'b10000000;endcaseend2'b10:begincase(temp)3'b000:led<=8'b10000001;3'b001:led<=8'b01000010;3'b010:led<=8'b00100100;3'b011:

10、led<=8'b00011000;3'b100:led<=8'b10000001;3'b101:led<=8'b01000010;3'b110:led<=8'b00100100;3'b111:led<=8'b00011000;endcaseend2'b11: begincase(temp)3'b000:led<=8'b00011000;3'b001:led<=8'b00100100;3'b010:led<=8'b0100

11、0010;3'b011:led<=8'b10000001;3'b100:led<=8'b00011000;3'b101:led<=8'b00100100;3'b110:led<=8'b01000010;3'b111:led<=8'b10000001;endcaseendendcaseendmodule圖3 顯示模式模塊2.3 顯示LED燈模塊 通過8個LED燈顯示4種顯示模式:1模式,從左到右逐個點亮LED;2模式,從右到左逐個點亮LED;3模式,從兩邊到中間逐個點亮LED;4模式,從

12、中見到兩邊逐個點亮LED。生成LED燈模塊程序:module SEG7(ms,clk,rst,seg7);input clk,rst;input 1:0ms;output 6:0seg7;reg6:0seg7;always(posedge clk or negedge rst)if(!rst)seg7<=7'b0111111;else case(ms)2'b00:seg7<=7'b0000110;2'b01:seg7<=7'b1011011;2'b10:seg7<=7'b1001111;2'b11:seg7

13、<=7'b1100110; endcaseendmodule圖4 顯示LED模塊第三章 調(diào)試仿真及結(jié)果3.1頂層原理圖原理圖如下:圖5原理圖3.2 仿真圖3.2.1 引腳鎖定圖圖6 引腳鎖定圖3.2.2 波形仿真圖圖7 從左到右燈依次點亮圖8 從右到左燈依次熄滅圖9 中間兩個燈先亮圖10從中間兩個燈向兩邊同時點亮圖11 從兩邊向中間燈逐一同時熄滅根據(jù)引腳鎖定,完成實驗箱硬件電路部分的線路連接。 再次編譯,設定好編程下載方式后,將導線與相應數(shù)碼管及開關(guān)諒解好就可以進行硬件下載測試了。最后,將程序下載入芯片后,觀察硬件運行結(jié)果,即數(shù)碼燈顯示情況。經(jīng)測試,所編寫的程序完全達到了課程設計

14、的要求,并得要了相應的結(jié)果。第一種顯示是從左向右逐個點亮LED。第二種顯示:從右向左逐個點亮LED。第三種顯示:從兩邊向中間逐個點亮LED。第四種顯示:從中間到兩邊逐個點亮LED。在每個顯示模式之間都有一次8位led全亮,接著全滅的顯示過程,四種顯示模式通過手動切換,并帶有一位復位鍵控制系統(tǒng)的運行停止。當rst按鍵按下時,led停止顯示,保持按下前的狀態(tài),如過不按rst,八位led燈四種模式通過手動控制模式顯示。 第四章 心得體會在這為期近一周的EDA課程設計過程中,從剛開始看到題目大腦一片空白,沒有一點思路,因為這門課真的沒有仔細學過。然后聽武老師講了一下數(shù)字音節(jié)發(fā)生器設計的大致思路后我回到

15、宿舍就上網(wǎng)開始查了起來。通過大量的查閱資料,最后終于弄出了程序,并得到了想要的結(jié)果。這次的EDA課設我學到了并不僅僅只是狀態(tài)機流程思路的設計,在此次的課設中不僅對書本知識有了更全面更深刻的理解,還重新熟悉了一下Quartus這款軟件,更加熟練地畫出了原理圖、在整個課設過程中遇到了很多的困難,引腳的設定,頂層文件的建立,畫圖中連線的區(qū)分,都是小細節(jié),但都必須注意,否則就會影響整個設計的實驗的過程使我明白了,要想避免實驗中走彎路,首先程序要邏輯清晰,簡潔明了,避免不必要的嵌套與條用,其次要適當?shù)亟o程序加上注解文字,提高可讀性,以方便之后的程序出錯時進行查找,最后充分利用仿真軟件提供的各項編譯工具與

溫馨提示

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

評論

0/150

提交評論