數(shù)字日歷設計_第1頁
數(shù)字日歷設計_第2頁
數(shù)字日歷設計_第3頁
數(shù)字日歷設計_第4頁
數(shù)字日歷設計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 XXXXX學院EDA技術與應用實訓報告數(shù)字日歷設計學 號 XX 姓 名 XX 指導教師: xx 題目:數(shù)字日歷電路的設計1 概述通過EDA項目設計,使用Quartus軟件進行數(shù)字日歷電路的設計,能夠?qū)崿F(xiàn)最基本的日期,時間顯示功能,并在此基礎上進行相應的功能創(chuàng)新,使設計項目擁有更豐富的功能。1.1設計要求1.1.1設計任務用EDA的方法設計一個數(shù)字日歷1.1.2性能指標 用EDA實訓儀的I/O設備和PLD芯片實現(xiàn)數(shù)字日歷的設計。 數(shù)字日歷能夠顯示年、月、日、時、分和秒。 用EDA實訓儀上的8只八段數(shù)碼管分兩屏分別顯示年、月、日和時、分、秒,即在一定時間段內(nèi)顯示年、月、日(如20080101),

2、然后在另一時間段內(nèi)顯示時、分、秒(如00123625),兩個時間段能自動倒換。 數(shù)字日歷具有復位和校準年、月、日、時、分、秒的按鈕,但校年和校時同用一個按鈕,即在顯示年、月、日時用此按鈕校年,在顯示時、分、秒時則用此按鈕校時,依此類推。1.2總體設計基本原理及框圖1.2.1基本原理首先設計要實現(xiàn)年月日和時分秒的顯示,再設計定時和整點報時模塊,以及校準模塊。此外,還要使其具備星期顯示功能,則要設計星期模塊。最后,就是將這些底層模塊連接起來實現(xiàn)整體功能。那么,就需要控制模塊,校準模塊,顯示控制模塊等等。1.2.2總體框圖2 系統(tǒng)軟件設計分析2.1時分秒計時器模塊:分秒模塊程序:module cnt

3、60(clk,clrn,j,q,cout);input clk,clrn,j;output reg7:0 q;output reg cout;always (posedge clkj or negedge clrn)begin if (clrn) q=0;else beginif (q='h59)q=0;else q=q+1;if (q3:0='ha)beginq3:0=0;q7:4=q7:4+1;endif (q='h59)cout=1;else cout=0;endendendmodule小時模塊程序:module cnt24(clk,clrn,j,q,cout);

4、input clk,clrn,j;output reg 7:0 q;output reg cout;always(posedge clkj or negedge clrn)beginif(clrn)q=0;else beginif(q='h23) q=0;else q=q+1;if(q3:0='ha) beginq3:0=0;q7:4=q7:4+1;endif(q='h23) cout=1;else cout=0;endendendmodule2.2年月日模塊module nyr2016(clrn,clk,jn,jy,jr,qn,qy,qr); /年月日模塊 input

5、 clrn,clk,jn,jy,jr; output 15:0 qn; output 7:0qy,qr; reg 15:0 qn; reg 7:0qy,qr; reg clkn,clky; reg 7:0date; reg clkn1,clkn2,clkn3;initial begin clkn1=1;clkn2=1;clkn3=1;endinitial begin qn='h2000;qy=1;qr=1;end always (posedge (clkjr) or negedge clrn) / 日計時模塊begin if (clrn) qr=1;else begin if (qr=

6、date) qr=1; else qr=qr+1; if (qr3:0='ha) begin qr3:0=0; qr7:4=qr7:4+1;endif (qr=date)clky = 1;else clky = 0;end endalways (posedge clkyjy or negedge clrn) /月計時模塊begin if (clrn) qy=1;else begin if (qy='h12) qy=1; else qy=qy+1; if (qy3:0='ha) begin qy3:0=0;qy7:4=qy7:4+1;endif (qy='h12)

7、clkn = 1;else clkn = 0;end endalways begincase (qy)'h01: date='h31;'h02:begin if (qn%4=0)&(qn%100 != 0)|(qn%400=0) date='h29;else date='h28; end'h03: date='h31;'h04: date='h30;'h05: date='h31; 'h06: date='h30;'h07: date='h31;'h08: d

8、ate='h31;'h09: date='h30;'h10: date='h31;'h11: date='h30;'h12: date='h31;default :date='h30;endcase endalways (posedge (clknjn) or negedge clrn ) /年計時模塊begin if (clrn) qn3:0=0; else begin if(qn3:0=9) qn3:0=0; else qn3:0=qn3:0+1; if (qn3:0=9) clkn1=0; else clkn

9、1=1;end endalways (posedge clkn1 or negedge clrn )begin if (clrn) qn7:4=0; else begin if(qn7:4=9) qn7:4=0; else qn7:4=qn7:4+1; if (qn7:4=9) clkn2=0; else clkn2=1;end endalways (posedge clkn2 or negedge clrn )begin if (clrn) qn11:8=0; else begin if(qn11:8=9) qn11:8=0; else qn11:8=qn11:8+1; if (qn11:8

10、=9) clkn3=0; else clkn3=1;end endalways (posedge clkn3 or negedge clrn )begin if (clrn) qn15:12=2; else if(qn15:12=9) qn15:12=0; else qn15:12=qn15:12+1; endendmodule2.3控制模塊module contr(clk,k1,k2,k);input clk,k1,k2;output reg k;reg 3:0 qc;reg rc;always (posedge clk) begin qc=qc+1; if (qc<8) rc=0;

11、else rc=1; case (k1,k2) 0:k=rc; 1:k=0; 2:k=1; 3:k=rc; endcase endendmodule2.4校準模塊module mux_4(k,jm,jf,js,jr,jy,jn,j1,j2,j3);input k,j1,j2,j3;output reg jm,jf,js,jr,jy,jn;always begin if (k=0) jm,jf,js=j1,j2,j3; else jr,jy,jn=j1,j2,j3; endendmodule2.5星期模塊module xinqishumaguan(clk,qn,qy,qr,z);input cl

12、k;input 15:0 qn;input 7:0 qy,qr;output reg 3:0 z;reg 3:0 y;always begin if (qn%4=0)&(qn%100 != 0)|(qn%400=0) begin case (qy) 'h01:y=0; /該月對應數(shù) 'h02:y=3; 'h03:y=4; 'h04:y=0; 'h05:y=2; 'h06:y=5; 'h07:y=0; 'h08:y=3; 'h09:y=6; 'h10:y=1; 'h11:y=4; 'h12:y

13、=6; endcase;end else begin case (qy) 'h01:y=0; 'h02:y=3; 'h03:y=3; 'h04:y=6; 'h05:y=1; 'h06:y=4; 'h07:y=6; 'h08:y=2; 'h09:y=5; 'h10:y=0; 'h11:y=3; 'h12:y=5; endcase;end end always if (qn%4=0)&(qn%100 != 0)|(qn%400=0) z=(qn-1+(qn/4)+(qn/400)-(qn/100

14、)%7-1+qr+y)%7;/閏年計算公式 else z=(qn+(qn/4)+(qn/400)-(qn/100)%7-1+qr+y)%7;/平年計算公式endmodule2.6報時模塊module baoshi(qs,qf,fLED,qm,off);input off;input7:0 qm, qs,qf;output fLED;reg fLED;always beginif (qs='h07&&qf='h01) | (qm=0&&qf=0) /7:01和整點時彩燈亮起,蜂鳴器響 fLED=1; else fLED=0; if(off=1) f

15、LED=0; / 在任意時刻都可以關掉彩燈亮,蜂鳴器endendmodule2.7數(shù)碼管顯示模塊module mux_xianshi_2(k,qm,qf,qs,qr,qy,qn,q,z); input k; input 7:0 qm,qf,qs,qr,qy; input 15:0 qn; input 3:0 z; output reg 31:0 q; always begin if (k=0) begin q31:28=z; q27:24=0; q23:0=qs,qf,qm;end else q=qn,qy,qr; end endmodule 2.8分頻模塊module fenping(clk

16、,newclk);input clk;output reg newclk;reg24:0 cnter;always (posedge clk) begin if(cnter<20000000) cnter=cnter+1; else cnter=0; if (cnter<10000000) newclk=1;else newclk=0; end endmodule3 系統(tǒng)測試(調(diào)試) 3.1 測試儀器與設備 裝有quartus軟件的計算機,EDA實驗箱一臺。3.2 性能指標測試系統(tǒng)能夠完成基礎功能即日期時間的計時顯示功能,并能實現(xiàn)報時,星期的顯示功能。3.2.1軟件測試時分秒仿真:

17、 如仿真所示:可以進行自動時分秒計數(shù),并且在校準時,可以有效的進數(shù)。準確的實現(xiàn)時分秒計數(shù)功能。年月日仿真:仿真出程序可以進行正常的年月日自動計數(shù)功能,并且在校準有效時可以進行正確的進數(shù),實現(xiàn)校準功能??刂颇K仿真: 如圖所示:當k1,k2=0或3時,k會出現(xiàn)前8秒為0,后8秒為1的自動切換;當k1,k2=2時,k顯示為1;當k1,k2=1時,k會顯示為0。校準模塊仿真:如圖所示:當k=0時,顯示時分秒狀態(tài),此時可以對時分秒進行校準;當k=1時,顯示年月日狀態(tài),此時可以對年月日進行校準。報時模塊仿真: 如圖:整點0時0分0秒和7時0分0秒時LED會亮起(注:電路設計時是將蜂鳴器和LED并聯(lián)的,所

18、以是一起工作的,這里只進行一個輸出設計),起到整點報時的功能;在設定的鬧鐘7時1分時,LED工作(設計是進行1Hz的閃爍),起到鬧鐘功能,給off高電平時,關掉鬧鐘。星期模塊仿真:如圖為顯示年月日后對應的星期,在2015年7月2日輸出Z顯示星期三;在2016年7月2日輸出Z顯示星期六。顯示模塊仿真: 如圖:仿真同時給定年月日和時分秒(包括輸入星期)輸入,在k=1時只顯示年月日;在k=0時只顯示星期和時分秒。整個日歷仿真測試: 在k1=0,k2=0和k1=1,k2=1兩種狀態(tài)時顯示每隔8秒進行年月日和時分秒的自動切換;在k1=1,k2=0時,只顯示年月日,并可以進行有效的校準;在k1=0,k2=

19、1時,只顯示年月日,并可以進行有效的校準;當?shù)竭_整點時蜂鳴器尖端性響起和LED會亮,當?shù)竭_定時間7時1分時會進行鬧鈴(蜂鳴器尖端性響起和LED會閃爍);off=1時,會關掉鬧鈴。3.2.2硬件測試軟件仿真后,查看試驗箱手冊進行引腳鎖定: 將仿真測試好的程序通過計算機下載到試驗箱,進行硬件測試:3.3 結果分析 經(jīng)過程序設計,軟件測試和硬件測試日歷能夠完全實現(xiàn)預定設計的功能,因此設計成功完成。4 波形發(fā)生器的設計 設計函數(shù)發(fā)生器,可以通過兩個按鈕進行選擇輸出4個波形(鋸齒波、三角波、方波和正弦波)中的一個。4.1 設計原理框圖 如下設計原理圖,ipm rom0為鋸齒波,ipm rom1為正弦波,ipm rom2為三角波,ipm rom3為方波;inst7為四選一選擇模塊,s1、s2為選擇輸入端。4.2 測試與仿真4.2.1 ModelSim仿真:如圖為四選一波形選擇,仿真在同一截面上:s1、s2為00時,顯示鋸齒波;s1、s2為01時顯示三角波;s1

溫馨提示

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

評論

0/150

提交評論