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

下載本文檔

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

文檔簡(jiǎn)介

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

2、然后在另一時(shí)間段內(nèi)顯示時(shí)、分、秒(如00123625),兩個(gè)時(shí)間段能自動(dòng)倒換。 數(shù)字日歷具有復(fù)位和校準(zhǔn)年、月、日、時(shí)、分、秒的按鈕,但校年和校時(shí)同用一個(gè)按鈕,即在顯示年、月、日時(shí)用此按鈕校年,在顯示時(shí)、分、秒時(shí)則用此按鈕校時(shí),依此類(lèi)推。1.2總體設(shè)計(jì)基本原理及框圖1.2.1基本原理首先設(shè)計(jì)要實(shí)現(xiàn)年月日和時(shí)分秒的顯示,再設(shè)計(jì)定時(shí)和整點(diǎn)報(bào)時(shí)模塊,以及校準(zhǔn)模塊。此外,還要使其具備星期顯示功能,則要設(shè)計(jì)星期模塊。最后,就是將這些底層模塊連接起來(lái)實(shí)現(xiàn)整體功能。那么,就需要控制模塊,校準(zhǔn)模塊,顯示控制模塊等等。1.2.2總體框圖2 系統(tǒng)軟件設(shè)計(jì)分析2.1時(shí)分秒計(jì)時(shí)器模塊:分秒模塊程序: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小時(shí)模塊程序: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) / 日計(jì)時(shí)模塊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) /月計(jì)時(shí)模塊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 ) /年計(jì)時(shí)模塊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校準(zhǔn)模塊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; /該月對(duì)應(yīng)數(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;/閏年計(jì)算公式 else z=(qn+(qn/4)+(qn/400)-(qn/100)%7-1+qr+y)%7;/平年計(jì)算公式endmodule2.6報(bào)時(shí)模塊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和整點(diǎn)時(shí)彩燈亮起,蜂鳴器響 fLED=1; else fLED=0; if(off=1) f

15、LED=0; / 在任意時(shí)刻都可以關(guān)掉彩燈亮,蜂鳴器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)測(cè)試(調(diào)試) 3.1 測(cè)試儀器與設(shè)備 裝有quartus軟件的計(jì)算機(jī),EDA實(shí)驗(yàn)箱一臺(tái)。3.2 性能指標(biāo)測(cè)試系統(tǒng)能夠完成基礎(chǔ)功能即日期時(shí)間的計(jì)時(shí)顯示功能,并能實(shí)現(xiàn)報(bào)時(shí),星期的顯示功能。3.2.1軟件測(cè)試時(shí)分秒仿真:

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論