版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程設(shè)計(jì)名稱:電子系統(tǒng)綜合課程設(shè)計(jì)</p><p> 課程設(shè)計(jì)題目:頻率計(jì)</p><p> 頻率計(jì)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告</p><p><b> 一、設(shè)計(jì)任務(wù)要求</b></p><p><b> 基本要求:<
2、/b></p><p> 設(shè)計(jì)一個(gè)3位十進(jìn)制數(shù)字顯示的數(shù)字式頻率計(jì),其頻率測(cè)量范圍在1MHz內(nèi)。量程分別為10kHz,100kHz和1MHz三檔,即最大讀數(shù)分別為9.99kHz,99.9kHz和999kHz。這里要求量程能夠自動(dòng)轉(zhuǎn)換,具體要求如下:</p><p> 1)、當(dāng)讀數(shù)大于999時(shí),頻率計(jì)處于超量程狀態(tài),此時(shí)顯示器發(fā)出溢出指示(最高位顯示F,其余各位不顯示數(shù)字),下一次
3、測(cè)量時(shí),量程自動(dòng)增大一檔。</p><p> 2)、當(dāng)讀數(shù)小于099時(shí),頻率計(jì)處于欠量程狀態(tài),下一次測(cè)量時(shí),量程自動(dòng)減小一檔。</p><p> 3)、采用記憶顯示方式,即計(jì)數(shù)過(guò)程中不顯示數(shù)據(jù),待計(jì)數(shù)過(guò)程結(jié)束以后,顯示測(cè)頻結(jié)果,并將此顯示結(jié)果保持到下一次計(jì)數(shù)結(jié)束,顯示時(shí)間不小于1s。</p><p> 4)、小數(shù)點(diǎn)位置隨量程變更自動(dòng)移位。</p>
4、<p><b> 二、設(shè)計(jì)方案</b></p><p> 1、系統(tǒng)功能(基本功能和附加功能)</p><p> 基本功能:顯示待測(cè)頻率,LED燈顯示小數(shù)點(diǎn),顯示待測(cè)頻率的量程。</p><p> 附加功能:實(shí)現(xiàn)量程自由變化,通過(guò)撥碼開(kāi)關(guān)控制待測(cè)頻率大小。</p><p> 2、系統(tǒng)設(shè)計(jì)方案說(shuō)明<
5、;/p><p> 1、分頻模塊:由于測(cè)頻時(shí)不同量程檔需要不同的時(shí)基信號(hào),分頻模塊是必不可少的。系統(tǒng)通過(guò)試驗(yàn)箱給定的50MHZ的頻率通過(guò)分頻變成0.5HZ,即1秒鐘得計(jì)數(shù)時(shí)間,通過(guò)1秒鐘的記數(shù)時(shí)間里待測(cè)頻率上升沿的數(shù)量實(shí)現(xiàn)頻率測(cè)定,待測(cè)頻率通過(guò)分頻,多路器等實(shí)現(xiàn)各頻率的測(cè)定</p><p> 2 計(jì)數(shù)模塊:想要實(shí)現(xiàn)頻率的測(cè)定,其實(shí)就是在1秒鐘的計(jì)數(shù)時(shí)間里對(duì)待測(cè)頻率信號(hào)上升沿進(jìn)行計(jì)數(shù),所以計(jì)數(shù)
6、模塊是不可缺少的,本計(jì)數(shù)器需輸出指示超量程和欠量程狀態(tài)的信號(hào)。</p><p> 3 量程控制模塊:對(duì)待測(cè)頻率的量程進(jìn)行判斷,確定量程以后,根據(jù)不同的量程,在試驗(yàn)箱上顯示,我們的設(shè)計(jì)是4個(gè)量程(1,2,3量程和超量程)。:</p><p> 4 BCD譯碼模塊:用到實(shí)驗(yàn)箱SOPC上的6個(gè)靜態(tài)共陽(yáng)數(shù)碼管中的后三個(gè)數(shù)碼管,并且試驗(yàn)箱內(nèi)部有譯碼器,只需要輸入4位數(shù)就可以在數(shù)碼管上顯示。<
7、;/p><p> 三、各模塊程序如下:</p><p> 1、 分頻模塊程序:</p><p> 1)百分頻模塊程序:</p><p> module plj(clk,dingshi);</p><p> input clk;</p><p> output dingshi;</
8、p><p> reg [40:0] counter;</p><p> reg dingshi;</p><p> always @(posedge clk)</p><p><b> begin </b></p><p> if (counter==49)
9、 //計(jì)數(shù)時(shí)鐘上升沿?cái)?shù)量,100次時(shí)鐘周期</p><p> begin //輸出一周期信號(hào),得到100分頻信號(hào)。</p><p> dingshi<=~dingshi;</p><p> counter<=0;</p><p><b> end</b&
10、gt;</p><p><b> else</b></p><p><b> begin</b></p><p> counter<=counter+1;</p><p><b> end</b></p><p><b> en
11、d</b></p><p><b> endmodule</b></p><p> 給定時(shí)鐘頻率,時(shí)鐘周期過(guò)100次,輸出一個(gè)周期信號(hào)。得到原信號(hào)的100分頻信號(hào);</p><p> 2)十分頻模塊程序:</p><p> module FP_SHI(clk,dingshi);</p>
12、<p> input clk;</p><p> output dingshi;</p><p> reg [40:0] counter;</p><p> reg dingshi;</p><p> always @(posedge clk)</p><p><b> begin &
13、lt;/b></p><p> if (counter==4) //計(jì)數(shù)時(shí)鐘上升沿?cái)?shù)量,10次時(shí)鐘周</p><p> begin //期,輸出一次周期信號(hào),得到10</p><p> dingshi<=~dingshi;
14、 //分頻信號(hào)</p><p> counter<=0;</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> counter<
15、=counter+1;</p><p><b> end</b></p><p><b> end</b></p><p><b> endmodule</b></p><p> 給定時(shí)鐘頻率,時(shí)鐘周期過(guò)10次,輸出一個(gè)周期信號(hào)。得到原信號(hào)的10分頻信號(hào);</p&
16、gt;<p> 3)2分頻模塊程序:module FP_wu(clk,dingshi);</p><p> input clk;</p><p> output dingshi; //在時(shí)鐘信號(hào)的上升沿,輸出翻轉(zhuǎn)一次,得到時(shí)鐘的</p><p> reg dingshi; //2分頻信號(hào)</p>&
17、lt;p> always @(posedge clk)</p><p><b> begin </b></p><p> dingshi<=~dingshi;</p><p><b> end</b></p><p><b> endmodule</b>&
18、lt;/p><p> 給定時(shí)鐘頻率,時(shí)鐘周期過(guò)5次,輸出一個(gè)周期信號(hào)。得到原信號(hào)的5分頻信號(hào);</p><p><b> 2.計(jì)數(shù)模塊程序:</b></p><p> module jishu(clk,shuruxinhao,shuchu);</p><p> input clk,shuruxinhao;</p
19、><p> output [40:0] shuchu;</p><p> reg [40:0] shuchu;</p><p> reg [40:0] counter,counter2;</p><p><b> reg i;</b></p><p> always @(posedge sh
20、uruxinhao)</p><p><b> begin </b></p><p> if(clk==1) </p><p> begin //如果輸入信號(hào)有變化,而且時(shí)鐘來(lái)了上升沿,則計(jì)數(shù)器加1;</p><p> counter<=counter+1; </p><
21、;p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> if (counter!=0) //如果時(shí)鐘電平為低電平,而且counter不是低電</p><p> shuchu&
22、lt;=counter; //平,把計(jì)數(shù)的值往下一模塊傳遞,然后把計(jì)數(shù)</p><p> counter<=0; //器的值清零。 </p><p><b> end</b></p><p><b> end </b></p><p><b>
23、; endmodule</b></p><p> 在定時(shí)信號(hào)的高電平,數(shù)待測(cè)信號(hào)的上升沿的數(shù)量。在輸出管腳輸出1秒鐘待測(cè)信號(hào)的上升沿?cái)?shù)量,即是待測(cè)頻率的頻率。</p><p> 3.量程控制模塊程序:</p><p> module liangcheng(shuru,shuchu,clk,liangcheng); //clk high
24、frequency</p><p> input [40:0]shuru;</p><p> input clk;</p><p> output liangcheng,shuchu;</p><p> reg [1:0] liangcheng;</p><p> reg [40:0] shuchu;
25、</p><p> always @(clk)</p><p><b> begin </b></p><p> if (shuru<10000) //如果頻率<10000,量程00;</p><p> begin //如果10000<頻
26、率<100000,量程01;</p><p> liangcheng<=2'b00; //如果100000<頻率<1000000,量程10;</p><p> shuchu<=shuru; //如果頻率大于1M,量程為11;</p><p><b> end</b>
27、</p><p> else if (shuru >= 10000 && shuru<100000)</p><p><b> begin </b></p><p> liangcheng<=2'b01;</p><p> shuchu<=shuru;</p
28、><p><b> end</b></p><p> else if (shuru>=100000 && shuru<=1000000)</p><p><b> begin </b></p><p> liangcheng<=2'b10;</p&
29、gt;<p> shuchu<=shuru;</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> liangcheng<=2'b11;&
30、lt;/p><p> shuchu<=shuru;</p><p><b> end</b></p><p><b> end</b></p><p> endmodule </p><p> 輸入9800 顯示量程00,輸入12000顯示量程01。,輸入1200
31、00量程顯示10</p><p><b> 4.顯示模塊程序:</b></p><p> module xianshi(liangcheng,x1,x2,x3,shuru,clk,point1,point2,led3);</p><p> input clk;</p><p> input [40:0] shur
32、u;</p><p> output [3:0] led3;</p><p> reg [3:0] led3;</p><p> input [1:0] liangcheng;</p><p> output x1,x2,x3,point1,point2;</p><p> reg [4:0] x1,x
33、2,x3;</p><p> reg point1,point2;</p><p> reg [40:0] temp1,temp2;</p><p> always @(clk)</p><p><b> begin </b></p><p> if (liangcheng==2'
34、;b00) //量程1;</p><p><b> begin </b></p><p> if (shuru>1000) //頻率大于1000,則用K做單位</p><p><b> begin </b></p><p> x1<=shuru/1000;</p&g
35、t;<p> temp1<=shuru%1000;</p><p> x2<=temp1/100;</p><p> temp2<=temp1%100;</p><p> x3<=temp2/10;</p><p> point1<=0;</p><p> poi
36、nt2<=1;</p><p> led3<=4'b0001;</p><p><b> end </b></p><p> else //頻率小于1000,顯示三位,不用K做單位</p><p><b> begin</b></p><p&
37、gt; x1<=shuru/100;</p><p> temp1<=shuru%100;</p><p> x2<=temp1/10;</p><p> temp2<=temp1%10;</p><p> x3<=temp2;</p><p> point1<=1;&l
38、t;/p><p> point2<=1;</p><p> led3<=4'b0001;</p><p><b> end</b></p><p><b> end</b></p><p> else if (liangcheng==2'b0
39、1) //量程2</p><p><b> begin </b></p><p> x1<=shuru/10000; //分出3位顯示,并顯示小數(shù)點(diǎn)2</p><p> temp1<=shuru%10000;</p><p> x2<=temp1/1000;</p>
40、<p> temp2<=temp1%1000;</p><p> x3<=temp2/100;</p><p> point1<=1;</p><p> point2<=0;</p><p> led3<=4'b0010;</p><p><b>
41、 end</b></p><p> else if (liangcheng==2'b10) //量程3</p><p> begin //分出3位顯示,并不顯示小數(shù)點(diǎn)</p><p> x1<=shuru/100000;</p><p> temp1<=s
42、huru%100000;</p><p> x2<=temp1/10000;</p><p> temp2<=temp1%10000;</p><p> x3<=temp2/1000;</p><p> point1<=1;</p><p> point2<=1;</p&g
43、t;<p> led3<=4'b0011;</p><p><b> end</b></p><p> else if (liangcheng==2'b11) //量程4</p><p> begin //超過(guò)量程,顯示FFF;</p>&
44、lt;p> led3<=4'b0100;</p><p><b> end</b></p><p><b> end</b></p><p><b> endmodule</b></p><p> 量程00,測(cè)得待測(cè)信號(hào)頻率1200HZ,X1顯示1
45、,X2顯示2,X3顯示0;point1低電平,point2高電平。</p><p><b> 5.譯碼模塊:</b></p><p> module decode(x,liangcheng,clk,led);</p><p> input clk;</p><p> input [1:0] liangcheng;
46、</p><p> input [4:0] x;</p><p> output led;</p><p> reg [3:0] led;</p><p> always @(clk)</p><p><b> begin</b></p><p> if (l
47、iangcheng==2'b00 || liangcheng ==2'b01 || liangcheng == 2'b10)</p><p><b> begin</b></p><p><b> case (x)</b></p><p> 4'b1001: led=4'b10
48、01;</p><p> 4'b1000: led=4'b1000;</p><p> 4'b0111: led=4'b0111;</p><p> 4'b0110: led=4'b0110;</p><p> 4'b0101: led=4'b0101; //根據(jù)傳遞
49、來(lái)的數(shù)據(jù),決定是直接顯示數(shù)據(jù)</p><p> 4'b0100: led=4'b0100; //還是顯示FFF; </p><p> 4'b0011: led=4'b0011;</p><p> 4'b0010: led=4'b0010;</p><p> 4
50、9;b0001: led=4'b0001;</p><p> 4'b0000: led=4'b0000;</p><p> default:led=4'b0000;</p><p><b> endcase</b></p><p><b> end</b>&l
51、t;/p><p> else if (liangcheng==2'b11)</p><p><b> begin</b></p><p> led<=4'b1111;</p><p><b> end</b></p><p><b> e
52、nd</b></p><p><b> endmodule</b></p><p><b> 6.選頻模塊程序:</b></p><p> module xuanpin(a,b,c,d,e,f,g,h,p,q,r,HZout);</p><p> input a,b,c,d,e,
53、f,g,h,p,q,r;</p><p> output HZout;</p><p> reg HZout;</p><p> always @(a or b or c or d or e or f or g or h)</p><p><b> begin </b></p><p>
54、 case ({p,q,r})</p><p> 3'b000: HZout<=a;</p><p> 3'b001: HZout<=b; //根據(jù)撥碼開(kāi)關(guān)p,q,r決定選擇哪一個(gè)頻率。</p><p> 3'b010: HZout<=c; </p><p> 3'b01
55、1: HZout<=d;</p><p> 3'b100: HZout<=e;</p><p> 3'b101: HZout<=f;</p><p> 3'b110: HZout<=g;</p><p> 3'b111: HZout<=h;</p><p
56、> default:HZout<=a;</p><p><b> endcase</b></p><p><b> end </b></p><p><b> endmodule</b></p><p> p,q,r高低電平組合決定HZout選擇的頻率源(
57、a,b,c,d,e,f,g,h)</p><p> 四、調(diào)試過(guò)程分析、遇到的問(wèn)題及解決方法:</p><p> 對(duì)于技術(shù)模塊的總數(shù)據(jù)的傳輸控制,之前由于控制條件沒(méi)有寫(xiě)好,傳輸時(shí)總是把數(shù)據(jù)清零了,然后傳輸,這樣傳輸來(lái)的數(shù)據(jù)總是0,得不到我們想要的結(jié)果,經(jīng)過(guò)思考,改變了控制條件(counter!=0)然后傳遞值,counter清零,這樣得到我們想要的計(jì)數(shù)值。 而且一旦待測(cè)信號(hào)頻率改變,能及
58、時(shí)更新結(jié)果。</p><p> 剛開(kāi)始以為需要一個(gè)譯碼器,來(lái)用7段數(shù)碼管顯示數(shù)字,于是寫(xiě)了一個(gè)譯碼器,后來(lái)發(fā)現(xiàn)不用譯碼,能直接顯示2進(jìn)制數(shù)字,于是把譯碼模塊改為傳遞值的模塊,省去了做大的改動(dòng)的麻煩。</p><p><b> 五、設(shè)計(jì)總結(jié):</b></p><p> 通過(guò)此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)Quartus II軟件,重新
59、學(xué)習(xí)了我們忘記的Verilog HDL語(yǔ)言,使我們對(duì)EDA的知識(shí)重新鞏固了。也暴露出了前期我在這方面的知識(shí)欠缺和經(jīng)驗(yàn)不足。實(shí)踐出真知,通過(guò)親自動(dòng)手制作,使我們掌握的知識(shí)不再是紙上談兵。實(shí)驗(yàn)過(guò)程中,也對(duì)團(tuán)隊(duì)精神的進(jìn)行了考察,讓我們?cè)诤献髌饋?lái)更加默契,在成功后一起體會(huì)喜悅的心情。果然是團(tuán)結(jié)就是力量,只有互相之間默契融洽的配合才能換來(lái)最終完美的結(jié)果。此次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦
60、思考,動(dòng)手實(shí)踐,就沒(méi)有弄不懂的知識(shí),收獲頗豐</p><p><b> 六、參考資料</b></p><p> 書(shū)名 出版社 作者名</p><p> EDA課程設(shè)計(jì)教程與應(yīng)用 人民郵電出版社 王金明</p>
61、;<p> EDA數(shù)字系統(tǒng)設(shè)計(jì)教程 北京航空航天大學(xué)出版社 安金立</p><p> EDA程序設(shè)計(jì)與應(yīng)用 人民郵電出版社 陳佳 </p><p> Verilog HDL設(shè)計(jì)實(shí)踐與指導(dǎo) 機(jī)械工業(yè)出版社 劉秋云 王維 </p><p> Verilog
62、HDL實(shí)驗(yàn)與應(yīng)用系統(tǒng)設(shè)計(jì) 北京航空航天大學(xué)出版社 常小明 </p><p><b> 附件1 原理電路圖</b></p><p><b> 附件2 管腳分配圖</b></p><p><b> 附件3 頻率列表</b></p><p> 0 500HZ
63、 第一位顯示量程 1</p><p> 1 2.5K 第一位顯示量程 1</p><p> 2 5K 第一位顯示量程 1</p><p> 3 25K 第一位顯示量程
64、 2</p><p> 4 50K 第一位顯示量程 2</p><p> 5 250K 第一位顯示量程 3</p><p> 6 500K 第一位顯示量程 3</p><p>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)單頻率計(jì)課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告---頻率計(jì)
- eda頻率計(jì)課程設(shè)計(jì)報(bào)告
- 頻率計(jì)課程設(shè)計(jì)
- 頻率計(jì)課程設(shè)計(jì)
- 簡(jiǎn)易頻率計(jì)畢業(yè)課程設(shè)計(jì)報(bào)告
- 數(shù)電課程設(shè)計(jì)報(bào)告頻率計(jì)
- eda課程設(shè)計(jì)--頻率計(jì)
- 簡(jiǎn)易頻率計(jì)課程設(shè)計(jì)
- 頻率計(jì)課程設(shè)計(jì) (2)
- 數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告---數(shù)字頻率計(jì)的設(shè)計(jì)與制作
- 數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 數(shù)字頻率計(jì)--課程設(shè)計(jì)報(bào)告
- 數(shù)字頻率計(jì)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告---頻率計(jì)
- 智能儀器頻率計(jì)課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--頻率計(jì)
- 基于arm頻率計(jì)課程設(shè)計(jì)
- 電子技術(shù)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-自動(dòng)換擋型數(shù)字頻率計(jì)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論