

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 大規(guī)模數(shù)字邏輯課程設(shè)計</p><p><b> 題目:流水燈設(shè)計</b></p><p> 學(xué) 號: XXX </p><p> 姓 名: XXX </p><p> 班 級: XXX </p><
2、p><b> 目錄</b></p><p> 1.流水燈控制的實驗要求與思路3</p><p><b> 1.1實驗要求3</b></p><p><b> 1.2實驗思路3</b></p><p> 2.系統(tǒng)邏輯設(shè)計:4</p>&l
3、t;p><b> 3.源程序代碼4</b></p><p> (1)分頻器部分4</p><p><b> (2)控制模塊5</b></p><p><b> 4.實驗步驟:7</b></p><p> 5. 實驗原理圖:7</p>&l
4、t;p><b> 6.分配管腳8</b></p><p><b> 7.運行界面:8</b></p><p> 8.總結(jié)與體會10</p><p><b> 9.參考文獻(xiàn)10</b></p><p> 流水燈控制的實驗要求與思路</p>&
5、lt;p><b> 1.1實驗要求</b></p><p> 在流水燈控制系統(tǒng)中,要求開發(fā)板上的8個LED燈依次以0.5S的時間間隔從上到下再下到上的順序點亮,然后分別以1S、1.5S、2S的時間間隔和相同順序點亮8個LED燈,以此為一個循環(huán),重復(fù)以上四個步驟就可以實現(xiàn)流水燈系統(tǒng)的自動循環(huán)運作。</p><p><b> 1.2實驗思路</
6、b></p><p> 根據(jù)時鐘信號的脈沖輸入,我們以改變每個LED點亮狀態(tài)的保持的時間來改變LED的變換間隔時間,根據(jù)LED的循環(huán)點亮和時間間隔的改變設(shè)計成為一個直觀的LED流水燈自動循環(huán)系統(tǒng),由此思路我們就可以很容易的著手流水燈控制程序的設(shè)計。</p><p><b> 系統(tǒng)邏輯設(shè)計:</b></p><p> 根據(jù)以上的設(shè)計要
7、求,運用模塊化的設(shè)計思路,我們在Quartus II8.0 軟件系統(tǒng)中設(shè)計了LED流水燈控制模塊、分頻器模塊,并通過各個模塊程序之間的端口合理連接和協(xié)調(diào),成功設(shè)計出LED流水燈燈控制電路,得到邏輯結(jié)構(gòu)原理圖,即為整個流水燈控制電路的邏輯結(jié)構(gòu)。使用VerilogHDL語言設(shè)計相應(yīng)的模塊。</p><p><b> 3.源程序代碼</b></p><p> (1)//
8、 分頻器部分 ,獲得便于試驗觀察的時鐘信號</p><p> module clk_div(clk_out,clk_in);</p><p> input clk_in;</p><p> output clk_out;</p><p> reg clk_out;</p><p> integer count
9、er; </p><p> parameter cnt=25_000_000; </p><p> always @(posedge clk_in)</p><p><b> begin</b></p><p> counter<=counter+1;</p><p> if(c
10、ounter==cnt/2-1)</p><p><b> begin</b></p><p> clk_out<=!clk_out;</p><p> counter<=0;</p><p><b> end</b></p><p><b>
11、 end</b></p><p><b> endmodule</b></p><p> ?。?)//控制模塊:</p><p> module lsd(clk,led);</p><p> input clk;</p><p> output [7:0]led;// 輸出端口
12、定義為寄存器型</p><p> reg [7:0] count;</p><p> reg [7:0] count1;</p><p> reg [7:0] count2;</p><p> reg [7:0] led;</p><p> reg [3:0] state; </p><p
13、> always @(posedge clk)// always語句,表示每當(dāng)CLK的上升沿到來時,完成begin-end之間語句的操作</p><p><b> begin</b></p><p> count<=count+1;</p><p> if(count<17)</p><p>
14、 begin </p><p> state = state + 4'b0001; // one clk,one state</p><p> case(state)</p><p> 4'b0000: led <= 8'b00000001; //the 1st state</p>
15、<p> 4'b0001: led <= 8'b00000010; </p><p> 4'b0010: led <= 8'b00000100;</p><p> 4'b0011: led <= 8'b00001000;</p><p> 4'b0100: led <=
16、 8'b00010000;</p><p> 4'b0101: led <= 8'b00100000;</p><p> 4'b0110: led <= 8'b01000000;</p><p> 4'b0111: led <= 8'b10000000;</p><p
17、> 4'b1000: led <= 8'b10000000;</p><p> 4'b1001: led <= 8'b01000000;</p><p> 4'b1010: led <= 8'b00100000;</p><p> 4'b1011: led <= 8'
18、;b00010000;</p><p> 4'b1100: led <= 8'b00001000;</p><p> 4'b1101: led <= 8'b00000100;</p><p> 4'b1110: led <= 8'b00000010;</p><p>
19、4'b1111: led <= 8'b00000001;</p><p> default: state = 4'b0000; // default,8'b00000001</p><p><b> endcase</b></p><p><b> end</b></p
20、><p> else if(count<49)</p><p><b> begin</b></p><p> if(count%2==0)</p><p><b> begin</b></p><p> state = state + 4'b0001;
21、 // one clk,one state</p><p> case(state)</p><p> 4'b0000: led <= 8'b00000001; //the 2st state</p><p> 4'b0001: led <= 8'b00000010; </p><p>
22、 4'b0010: led <= 8'b00000100;</p><p> 4'b0011: led <= 8'b00001000;</p><p> 4'b0100: led <= 8'b00010000;</p><p> 4'b0101: led <= 8'b001
23、00000;</p><p> 4'b0110: led <= 8'b01000000;</p><p> 4'b0111: led <= 8'b10000000;</p><p> 4'b1000: led <= 8'b10000000;</p><p> 4'
24、;b1001: led <= 8'b01000000;</p><p> 4'b1010: led <= 8'b00100000;</p><p> 4'b1011: led <= 8'b00010000;</p><p> 4'b1100: led <= 8'b00001000;
25、</p><p> 4'b1101: led <= 8'b00000100;</p><p> 4'b1110: led <= 8'b00000010;</p><p> 4'b1111: led <= 8'b00000001;</p><p> default: st
26、ate = 4'b0000; // default,8'b00000001</p><p><b> endcase</b></p><p><b> end</b></p><p><b> end</b></p><p> else if(cou
27、nt<97)</p><p><b> begin</b></p><p> count1<=count1+1;</p><p> if(count1%3==0)</p><p><b> begin</b></p><p> state = state
28、 + 4'b0001; // one clk,one state</p><p> case(state)</p><p> 4'b0000: led <= 8'b00000001; //the 3st state</p><p> 4'b0001: led <= 8'b00000010; </p
29、><p> 4'b0010: led <= 8'b00000100;</p><p> 4'b0011: led <= 8'b00001000;</p><p> 4'b0100: led <= 8'b00010000;</p><p> 4'b0101: led
30、<= 8'b00100000;</p><p> 4'b0110: led <= 8'b01000000;</p><p> 4'b0111: led <= 8'b10000000;</p><p> 4'b1000: led <= 8'b10000000;</p>
31、<p> 4'b1001: led <= 8'b01000000;</p><p> 4'b1010: led <= 8'b00100000;</p><p> 4'b1011: led <= 8'b00010000;</p><p> 4'b1100: led <=
32、8'b00001000;</p><p> 4'b1101: led <= 8'b00000100;</p><p> 4'b1110: led <= 8'b00000010;</p><p> 4'b1111: led <= 8'b00000001;</p><p&
33、gt; default: state = 4'b0000; // default,8'b00000001</p><p><b> endcase</b></p><p><b> end</b></p><p> end </p><p> else i
34、f(count<161)</p><p><b> begin</b></p><p> count2<=count2+1;</p><p> if(count2%4==0)</p><p><b> begin</b></p><p> state =
35、 state + 4'b0001; // one clk,one state</p><p> case(state)</p><p> 4'b0000: led <= 8'b00000001; //the 4st state</p><p> 4'b0001: led <= 8'b00000010;
36、</p><p> 4'b0010: led <= 8'b00000100;</p><p> 4'b0011: led <= 8'b00001000;</p><p> 4'b0100: led <= 8'b00010000;</p><p> 4'b0101
37、: led <= 8'b00100000;</p><p> 4'b0110: led <= 8'b01000000;</p><p> 4'b0111: led <= 8'b10000000;</p><p> 4'b1000: led <= 8'b10000000;</p
38、><p> 4'b1001: led <= 8'b01000000;</p><p> 4'b1010: led <= 8'b00100000;</p><p> 4'b1011: led <= 8'b00010000;</p><p> 4'b1100: led
39、<= 8'b00001000;</p><p> 4'b1101: led <= 8'b00000100;</p><p> 4'b1110: led <= 8'b00000010;</p><p> 4'b1111: led <= 8'b00000001;</p>
40、<p> default: state = 4'b0000; // default,8'b00000001</p><p><b> endcase</b></p><p><b> end</b></p><p><b> end</b></p>
41、<p> else count<=0; </p><p><b> end</b></p><p><b> endmodule</b></p><p><b> 4.實驗步驟:</b></p><p> 將MODUL_SEL撥碼開關(guān)組合為1,2
42、,8撥上3,4,5,6,7撥下,是數(shù)碼管顯示為C1.</p><p> 建立工程,對建立的工程命名、文件命名,選擇相應(yīng)的芯片及配置,然后在打開的工程下建立VerilogHDL語言編寫的文件:文件名分別是lsd.v、clk_div.v,將這兩個文件同時加入此工程內(nèi)。</p><p> 將相應(yīng)的文件轉(zhuǎn)換為符號文件,并創(chuàng)建一個block,生成電路原理圖,然后將此文件保存到當(dāng)前工程下,并將文件
43、名命名為lsdblock,然后將其設(shè)置為頂層實體。</p><p> 將步驟2中生成的Block文件先進(jìn)行綜合,待綜合無誤之后進(jìn)行管腳分配,之后進(jìn)行全編譯生成我們需要下載到開發(fā)板上的lsd.sof文件,然后加入下載界面,選擇相應(yīng)的設(shè)置,且在JTAG模式下,然后下載該sof文件來觀察開發(fā)板上LED的變化現(xiàn)象。</p><p><b> 5. 實驗原理圖:</b>&l
44、t;/p><p><b> 6.分配管腳</b></p><p><b> 運行界面:</b></p><p> ?。?)根據(jù)lsd.v文件代碼創(chuàng)建符號文件:</p><p> ?。?)根據(jù)clk_div.v文件代碼創(chuàng)建符號文件:</p><p><b> (3)
45、綜合時顯示框</b></p><p> ?。?)全編譯時顯示框</p><p> ?。?)下載文件的界面:</p><p><b> 8.總結(jié)與體會</b></p><p> 此次課程設(shè)計,學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨立思考解決問題,出現(xiàn)差錯的隨機應(yīng)變,和與人合作共同提高,都受益非淺,通過這次的課程
46、設(shè)計,使我對基礎(chǔ)知識加深了理解,熟練了軟件Qutars II8.0的基本操作,并且對一個設(shè)計中的流程有所了解,知道了每個操作步驟的具體作用,這樣可以使自己更加明白的去操作每一步。在課程設(shè)計中不僅知道了自己的不足之處,而且更加的了解了編程對學(xué)習(xí)的重要性,自己編程的水平直接制約了設(shè)計的進(jìn)展,所以在以后的學(xué)生生活之中一定要對編程加以鞏固保證不會拖自己的后腿;平時看課本時,有時問題老是弄不懂,做完課程設(shè)計,那些問題就迎刃而解了,而且還可以記住很
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大規(guī)模數(shù)字邏輯課程設(shè)計---交通燈設(shè)計
- 流水燈課程設(shè)計
- 流水燈課程設(shè)計
- 流水燈課程設(shè)計
- 流水燈課程設(shè)計
- 數(shù)字邏輯課程設(shè)計說明書-多功能流水燈設(shè)計
- 花樣流水燈課程設(shè)計
- plc課程設(shè)計--流水燈
- 流水燈課程設(shè)計告
- 流水燈課程設(shè)計 (2)
- 花樣流水燈課程設(shè)計
- 課程設(shè)計---流水燈設(shè)計報告
- eda課程設(shè)計----流水燈設(shè)計
- 簡易音樂流水燈課程設(shè)計
- 課程設(shè)計--流水燈設(shè)計與制作
- eda流水燈電路課程設(shè)計
- 心形流水燈課程設(shè)計
- 十位流水燈課程設(shè)計
- 課程設(shè)計--多功能流水燈
- 單片機流水燈課程設(shè)計
評論
0/150
提交評論