版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 計算機與信息工程系</b></p><p><b> 《脈沖與數(shù)字電路》</b></p><p><b> 課程設(shè)計報告</b></p><p> 專業(yè) 通信工程 </p><p> 班級
2、 </p><p> 學(xué)號 </p><p> 姓名 </p><p> 報告完成日期 2011/06/24 </p><p> 指導(dǎo)教師 </p><p> 任務(wù)和設(shè)計要求設(shè)計
3、具有時、分、秒計數(shù)顯示,以24小時循環(huán)計時的時鐘電路,帶有清零和校準(zhǔn)功能;</p><p> 設(shè)計原理采用硬件描述語言Verilog 進(jìn)行編程,實現(xiàn)20MHZ晶振到1HZ的分頻;采用verilog語言實現(xiàn)數(shù)字表功能實現(xiàn)的各個模塊;通過各個模塊的代碼生成相應(yīng)的模塊原理圖;再將各個模塊生成的原理圖進(jìn)行疊加組成一個數(shù)字表系統(tǒng);</p><p> 系統(tǒng)設(shè)計設(shè)計的數(shù)字表有6個輸入,16個
4、輸出;6個輸入中,有一個是時鐘信號,開發(fā)板上的28號引腳輸入的50MHZ的時鐘信號;一個清零端,當(dāng)數(shù)字表正常顯示時,按下清零端可以實現(xiàn)數(shù)字鐘整體電路圖:</p><p><b> 各個模塊設(shè)計</b></p><p> 基于EP1C6Q240C8的數(shù)字鐘設(shè)計,有6個模塊組成:</p><p><b> Fdiv分頻模
5、塊</b></p><p> Control 模式選擇模塊</p><p> Tune校正模塊</p><p> Zoushi時間正常運行模塊</p><p> Saomiao數(shù)碼管動態(tài)掃描模塊;</p><p> DecoderBCD譯碼模塊;</p><p&g
6、t;<b> Fdiv 模塊:</b></p><p> 功能:實現(xiàn)20MHZ的時鐘信號分成10KHZ的信號和1HZ的信號;</p><p> 輸入:clk為20MHZ的時鐘信號;</p><p> 輸出:f10000HZ 為10KH的時鐘信號;</p><p> F1HZ 為1HZ的時鐘信號;</p
7、><p> Fdiv 模塊代碼:</p><p> module fdiv(clk,f10000Hz,f1Hz);</p><p> output f10000Hz,f1Hz;</p><p> input clk;</p><p> reg f10000Hz,f1Hz;</p><p
8、> integer CNT1=0,CNT2=0;</p><p> always@(posedge clk)</p><p><b> begin</b></p><p> if(CNT1<1999)</p><p><b> begin</b></p><
9、p> CNT1=CNT1+1;</p><p> f10000Hz<=1'b0;</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p&
10、gt;<b> CNT1=0;</b></p><p> f10000Hz<=1'b1;</p><p><b> end</b></p><p><b> end </b></p><p> always@(posedge f10000Hz)</
11、p><p><b> begin</b></p><p> if(CNT2<9999)</p><p><b> begin</b></p><p> CNT2=CNT2+1;</p><p> f1Hz<=1'b0;</p><
12、p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p><b> CNT2=0;</b></p><p> f1Hz<=1'b1; </p&
13、gt;<p><b> end</b></p><p><b> end </b></p><p><b> endmodule</b></p><p> fdiv 模塊波形仿真:</p><p> 由于實際的分頻波形仿真中,由于要將20MHZ的分成1H
14、Z的,需要將信號縮小20 000 000倍,因此,此處采用將20HZ的先分成10HZ,然后再將10HZ的分成1HZ的時鐘信號;在仿真中這樣整,在實際演示中再改下代碼,實現(xiàn)真正的20MHZ到1HZ的分頻;它們只是一個倍數(shù)關(guān)系而已;</p><p> Control 模塊:</p><p> 功能:實現(xiàn)電子表的正常顯示及時間校正模式的轉(zhuǎn)換;</p><p> 輸
15、入:key 模式修改鍵,每來一個高電平,mode加一次。如果mode 的值為2,則mode被賦值為 1;</p><p> Reset 復(fù)位鍵,如果reset 為 1,則mode 被賦值為0;</p><p> 輸出:mode 用于輸出到下一級模塊,進(jìn)行模式判斷;</p><p> Control 模塊源代碼:</p><p> mo
16、dule control(mode,key,reset);</p><p> input key,reset;</p><p> output[1:0] mode;</p><p> reg[1:0] mode;</p><p> always@(posedge key)</p><p><b>
17、begin</b></p><p><b> if(reset)</b></p><p><b> begin </b></p><p> mode<=2'b00;</p><p><b> end</b></p><p&g
18、t;<b> else </b></p><p><b> begin</b></p><p> mode<=mode+2'b01;</p><p> if(mode==2)</p><p><b> begin </b></p><
19、p> mode<=2'b00;</p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p><b> endmodule</b></p&g
20、t;<p> Control 模塊波形仿真</p><p><b> Tune 模塊</b></p><p> 功能:實現(xiàn)秒分時的校正;</p><p> 輸入:Mode 為模式選擇,mode為0時是正常顯示時間模式;mode 為1時,是秒、分、時加一模式。Mode為2時,是時分秒減一模式;</p>&l
21、t;p> Ht為時調(diào)節(jié)輸入;</p><p> mt為分調(diào)節(jié)輸入;</p><p> St為秒調(diào)節(jié)輸入;</p><p> 輸出:Aa 為秒的個位;</p><p><b> Ba 為秒的十位;</b></p><p> Da 為分鐘的個位;</p><
22、;p> Ea 為分鐘的十位;</p><p> Ga 為小時的個位;</p><p> Ha 為小時的十位;</p><p> Tune 調(diào)時模塊源代碼:</p><p> module tune(mode,ht,mt,st,aa,ba,da,ea,ga,ha);</p><p> input[1:
23、0] mode;</p><p><b> input ht;</b></p><p><b> input mt;</b></p><p><b> input st;</b></p><p> output[3:0] aa;</p><p>
24、 output[2:0] ba;</p><p> output[3:0] da;</p><p> output[2:0] ea;</p><p> output[3:0] ga;</p><p> output[1:0] ha;</p><p> reg[3:0] aa,da,ga;</p>
25、<p> reg[2:0] ba,ea;</p><p> reg[1:0] ha;</p><p> always@(posedge st)</p><p><b> begin</b></p><p> if(mode==1)</p><p><b> be
26、gin </b></p><p><b> aa<=aa+1;</b></p><p> if(aa==9) </p><p><b> begin </b></p><p><b> ba<=ba+1;</b></p><p
27、><b> aa<=0; </b></p><p><b> end</b></p><p> if(ba==5&&aa==9) </p><p><b> ba<=0;</b></p><p><b> end</b
28、></p><p> else if(mode==2)</p><p><b> begin </b></p><p><b> aa<=aa-1;</b></p><p> if(aa==0) </p><p><b> begin <
29、/b></p><p><b> ba<=ba-1;</b></p><p><b> aa<=9; </b></p><p><b> end</b></p><p> if(ba==0&&aa==0) </p><
30、;p><b> ba<=5;</b></p><p><b> end</b></p><p><b> end</b></p><p> always@(posedge mt)</p><p><b> begin</b></
31、p><p> if(mode==1)</p><p><b> begin </b></p><p><b> da<=da+1;</b></p><p> if(da==9) </p><p><b> begin </b></p&g
32、t;<p><b> ea<=ea+1;</b></p><p><b> da<=0; </b></p><p><b> end</b></p><p> if(ea==5&&da==9) </p><p><b>
33、; ea<=0;</b></p><p><b> end</b></p><p> else if(mode==2)</p><p><b> begin </b></p><p><b> da<=da-1;</b></p>
34、<p> if(da==0) </p><p><b> begin </b></p><p><b> ea<=ea-1;</b></p><p><b> da<=9; </b></p><p><b> end</b>
35、</p><p> if(ea==0&&da==0) </p><p><b> ea<=5;</b></p><p><b> end</b></p><p><b> end</b></p><p> always@(
36、posedge ht)</p><p><b> begin</b></p><p> if(mode==1)</p><p><b> begin </b></p><p><b> ga<=ga+1;</b></p><p> if(
37、ga==9) </p><p><b> begin </b></p><p><b> ha<=ha+1;</b></p><p><b> ga<=0; </b></p><p><b> end</b></p>&l
38、t;p> if(ha==2&&ga==3) </p><p><b> begin </b></p><p><b> ha<=0;</b></p><p><b> ga<=0;</b></p><p><b> end&
39、lt;/b></p><p><b> end</b></p><p> else if(mode==2)</p><p><b> begin </b></p><p><b> ga<=ga-1;</b></p><p> if
40、(ga==0) </p><p><b> begin </b></p><p><b> ha<=ha-1;</b></p><p><b> ga<=9;</b></p><p><b> end</b></p>&l
41、t;p> if(ga==0&&ha==0)</p><p><b> begin</b></p><p><b> ga<=3;</b></p><p><b> ha<=2;</b></p><p><b> end<
42、;/b></p><p><b> end</b></p><p><b> end</b></p><p> endmodule Tune </p><p><b> 調(diào)時模塊仿真波形:</b></p><p> Mode 為0 時
43、,ht,mt,st均不起作用;</p><p> Mode 為1時,小時加到23,ht再來一個上升沿,小時變?yōu)?;</p><p> Mode 為1時, 秒、分加到59,st、mt再來一個上升沿,秒、分變成0;</p><p> Mode 為2時,小時減到0,ht再來一個上升沿,小時變?yōu)?3;</p><p> Mode 為2時, 秒
44、、分減到0,st、mt再來一個上升沿,秒、分變成59;</p><p> Zou shi模塊:</p><p> 功能:實現(xiàn)時間的正常顯示及校正顯示;</p><p> 正常顯示,當(dāng)秒加到59時,1HZ的脈沖信號CLK1再來一個上升沿,秒變?yōu)?,同時分加一;</p><p> 當(dāng)正常顯示時,復(fù)位端來一個上升沿的脈沖,顯示變成輸入端輸入
45、的數(shù)據(jù);</p><p> Mode 變成模式1時,顯示變成輸入端輸入的數(shù)據(jù);</p><p> Mode 變成模式2時,顯示變成輸入端輸入的數(shù)據(jù);</p><p> Sao miao模塊:</p><p> 功能:實現(xiàn)數(shù)碼管的動態(tài)掃描;</p><p> 輸入:clk10K 輸入10KHZ的時鐘信號作為數(shù)
46、碼管的動態(tài)掃描時鐘信號;</p><p> a[3..0] 上一級輸出的秒的個位;</p><p> b[2..0] 上一級輸出的秒的十位;</p><p> c[3..0] 上一級輸出的分秒之間的標(biāo)志位;</p><p> d[3..0] 上一級輸出的分的個位;</p><p> e[2..0] 上一級輸出
47、的分的十位;</p><p> f[2..0] 上一級輸出的秒的時分之間的標(biāo)志位;</p><p> g[3..0] 上一級輸出的時的個位;</p><p> h[2..0] 上一級輸出的時的個位;</p><p> 輸出:zx[3..0]數(shù)碼管將要顯示的4位BCD碼;</p><p> Zw[7..0]八位
48、數(shù)碼管動態(tài)掃描輸出;</p><p> Sao miao 數(shù)碼管掃描模塊源代碼:</p><p> module saomiao(a,b,c,d,e,f,g,h,f10000HZ,zx,zw);</p><p> input f10000HZ;</p><p> input[3:0] a,d,g,c,f;</p><
49、;p> input[2:0] b,e;</p><p> input[1:0] h;</p><p> output[3:0] zx;</p><p> output[7:0] zw;</p><p> reg[3:0] zx;</p><p> reg[7:0] zw;</p><
50、;p> reg[2:0] slip;</p><p> always@(posedge f10000HZ)</p><p><b> begin</b></p><p> if(slip==100)</p><p> slip<=4'b000;</p><p><
51、;b> else</b></p><p> slip<=slip+1'b1;</p><p><b> end</b></p><p> always@(slip)</p><p><b> begin</b></p><p> c
52、ase(slip)</p><p> 4'd0:begin zw=8'b11111110;zx=a; end</p><p> 4'd1:begin zw=8'b11111101;zx=b; end</p><p> 4'd2:begin zw=8'b11111011;zx=c; end</p>&
53、lt;p> 4'd3:begin zw=8'b11110111;zx=d; end</p><p> 4'd4:begin zw=8'b11101111;zx=e; end</p><p> 4'd5:begin zw=8'b11011111;zx=f; end</p><p> 4'd6:beg
54、in zw=8'b10111111;zx=g; end</p><p> 4'd7:begin zw=8'b01111111;zx=h; end</p><p> default:zw=8'bx;</p><p><b> endcase</b></p><p><b>
55、 end</b></p><p><b> endmodule</b></p><p> Sao miao 數(shù)碼管掃描模塊仿真波形:</p><p> Zx顯示的是上一級輸出的4位BCD碼,此處是以十進(jìn)制的形式顯示的;</p><p> Decoder 模塊:</p><p>
56、 功能:將上一級輸出的4為BCD碼轉(zhuǎn)換成數(shù)碼管能正常顯示的數(shù)據(jù);</p><p> 輸入:zx[3..0]上一級輸出的4位BCD碼;</p><p> 輸出:seg[6..0]數(shù)碼管能正常顯示的數(shù)據(jù);</p><p> Decoder 譯碼模塊源代碼:</p><p> module decoder(zx,seg);</p&g
57、t;<p> input[3:0] zx;</p><p> output[6:0] seg;</p><p> reg[6:0] seg;</p><p> always@(zx)</p><p><b> begin</b></p><p><b> cas
58、e(zx)</b></p><p> 4'b0000: seg<=7'b0111111;</p><p> 4'b0001: seg<=7'b0000110;</p><p> 4'b0010: seg<=7'b1011011;</p><p> 4
59、9;b0011: seg<=7'b1001111;</p><p> 4'b0100: seg<=7'b1100110;</p><p> 4'b0101: seg<=7'b1101101;</p><p> 4'b0110: seg<=7'b1111101;</p>
60、<p> 4'b0111: seg<=7'b0000111;</p><p> 4'b1000: seg<=7'b1111111;</p><p> 4'b1001: seg<=7'b1101111;</p><p> 4'b1010: seg<=7'b100
61、0000;</p><p> default:seg<=7'bx;</p><p><b> endcase</b></p><p><b> end</b></p><p><b> endmodule</b></p><p>
62、 Decoder 譯碼模塊仿真波形:</p><p> 輸入的4位BCD碼從0~10,則數(shù)碼管顯示0~9和一橫標(biāo)志位;</p><p><b> 系統(tǒng)調(diào)試與性能分析</b></p><p> 在第一次做好之后,下載到開發(fā)板里面,出現(xiàn)了問題,不能下載成功;最初認(rèn)為是下載器的驅(qū)動沒有安裝好,后來經(jīng)過認(rèn)真的分析是因為在選擇芯片的時候,選錯了芯片
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計--基于fpga的數(shù)字鐘設(shè)計
- eda課程設(shè)計---基于fpga的數(shù)字鐘設(shè)計
- 基于fpga的多功能數(shù)字鐘課程設(shè)計
- 數(shù)字鐘課程設(shè)計
- 數(shù)字鐘課程設(shè)計
- 數(shù)字鐘課程設(shè)計
- 數(shù)字鐘課程設(shè)計
- 數(shù)字鐘課程設(shè)計
- 脈沖與數(shù)字電路課程設(shè)計報告--基于fpga的數(shù)字鐘
- 數(shù)字鐘課程設(shè)計
- 數(shù)字鐘課程設(shè)計
- 基于fpga的數(shù)字鐘設(shè)計
- 基于fpga的數(shù)字鐘設(shè)計
- 課程設(shè)計-- 數(shù)字鐘的設(shè)計
- 課程設(shè)計---數(shù)字鐘的設(shè)計
- 數(shù)字電子課程設(shè)計---數(shù)字鐘
- 數(shù)字鐘課程設(shè)計 (2)
- 課程設(shè)計數(shù)字鐘
- eda數(shù)字鐘課程設(shè)計
- 數(shù)字鐘課程設(shè)計 (2)
評論
0/150
提交評論