




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、廣東工業(yè)大學實驗報告信息工程 學院通信工程專業(yè)04 班成績評定 _學號 3205002894姓名 張鳳珠教師簽名 _預習情況操作情況考勤情況數(shù)據(jù)處理情況實驗題目用 Verilog HDL 設計電子鐘第17 周至 第 17周一、課程設計目的和要求目的:1. 學會使用 quantus軟件(編譯、仿真等) ,并利用它進行設計一些簡單的數(shù)字電路;2. 利用實驗室提供的 GW48 SOPC系統(tǒng)主板,結合 quantus軟件實現(xiàn)電子鐘的功能顯示。要求:電子鐘應實現(xiàn)如下功能:1時鐘顯示功能:,該電子鐘正常顯示小時、分鐘、秒,各用2 位數(shù)碼管(共6 位數(shù)碼管)顯示范圍為 023 時 59 分 59 秒,分辨率
2、為 1 秒,包括啟動與停止。2校時功能:包括小時校準和分鐘校準。3跑表:包括跑表清零、啟動計時、停止及繼續(xù)計時功能。二、實驗器件實驗室提供的 GW48 SOPC系統(tǒng)主板實驗箱三、設計方案和源程序代碼首先分析電子鐘要實現(xiàn)的三個功能,然后確定它的基本結構,因為設計時電子鐘的三個基本功能都要用到數(shù)碼管顯示,考慮到三者為了避免競爭數(shù)碼管資源的問題,因此設計時電子鐘有 3 個主要輸入按鍵 K1、K2、K3,分別為時間顯示、校時功能、跑表的啟動,而且是當任一個按鍵按下,其余兩個鍵都無效,即此時只有按下的鍵才有效,執(zhí)行該鍵所控制功能的啟動。其次,各個功能模塊的設計。A 、對于時間顯示模塊中,涉及到的是時分秒
3、各個計數(shù)器的設計 ,“秒計數(shù)器”采用60 進制計數(shù)器,每累計60 秒,發(fā)出一個“分脈沖”信號,該信號將被送到“分計數(shù)器”?!胺钟嫈?shù)器”采用 60 進制計數(shù)器,每累計 60 分,發(fā)出一個“分脈沖”信號,該信號被送到“時計數(shù)器” ?!皶r計數(shù)器”采用 24 進制計數(shù)器,可實現(xiàn) 24 小時的累計計數(shù)。 B 、對于校時模塊,同樣用到了上述的時分計數(shù)器,不過只是能實現(xiàn)校時分鐘和小時功能,分別用K4、K5 鍵控制,做法是每按下一次鍵,對應的計數(shù)器加一。C、 最后是跑表模塊,這相對于前面兩個模塊較為復雜,它有計時復位、啟動和計時停止三個功能,分別用 K6、 K8、K7 按鍵控制,這里用到了毫秒、秒、分鐘計數(shù)器
4、,其中“毫秒計數(shù)器”采用100 進制計數(shù)器,每累計100 毫秒產(chǎn)生一個“秒脈沖”信號,該信號將作為“秒計數(shù)器”的時鐘脈沖,其余同A 所述。百分秒、秒和分鐘信號用七段LED顯示。而復位信號是高電平有效,可以對整個跑表同步清0;當啟動 / 停止為高電平時跑表開始計時,為低電平時停止計時,變高后在原來的數(shù)值基礎上再計數(shù)。最后,就是整體的綜合。包括每個模塊用到的時鐘設置、按鍵顯示模塊和確定輸入輸出參數(shù);本次課程設計采用了一個輸入主時鐘源4096HZ,其余各個模塊用到的時鐘信號從此時鐘源分頻得到,因此專門設置了一個分頻小模塊。源程序代碼如下:module main(k1,k2,k3,k4,k5,k6,k
5、7,k8,clk_4096,LED1,LED2,LED3,LED4,LED5,LED6);input k1,k2,k3,k4,k5,k6,k7,k8,clk_4096;output3:0LED1,LED2,LED3,LED4,LED5,LED6;reg 3:0 LED1,LED2,LED3,LED4,LED5,LED6;reg 7:0 hour,minute,second;define hour1 hour3:0define hour2 hour7:4define min1 minute3:0define min2 minute7:4define sec1 second3:0define se
6、c2 second7:4reg 15:0 j1,j2,j3;reg clk1,clk2,clk3;always (posedge clk_4096) /輸入4096HZ時鐘源beginif(j1=40)beginj1=0;clk1=clk1;/100HZendelsej1=j1+1;if(j2=4095)beginj2=0;clk2=clk2;/1HZendelsej2=j2+1;if(j3=7)beginj3=0;clk3=clk3; /512HZendelsej3=j3+1;end/ 跑表reg 7:0 missecondrun, secondrun,miurun;reg runnings
7、,mis,sec;always(posedge clk1)beginif(k6) /begin復位missecondrun7:0=8d0;secondrun7:0=8d0;miurun7:0=8d0;runnings=0;endif(k7) /停止beginrunnings=0;endif(k8) /運行runnings=1;if(runnings)beginif(missecondrun3:0=9)/ 1/100beginif(missecondrun7:4=9)beginmissecondrun7:0=0; /mis=1;/endelsebeginmissecondrun3:0=0;/秒如
8、果為 99 時,轉為 0產(chǎn)生進位提示如果只是個位為9 時,十位加1,個位為 0missecondrun7:4=missecondrun7:4+1;endendelsemissecondrun3:0=missecondrun3:0+1; /如果個位不為0 時,個位加1,十位不變if(mis)/當進位為 1 時才進行一次加 1beginmis=0;if(secondrun3:0=9)/秒beginif(secondrun7:4=5)beginsecondrun7:0=0;/如果為 59 時,轉為 0sec=1;/產(chǎn)生進位提示endelsebeginsecondrun3:0=0;secondrun7
9、:4=secondrun7:4+1;/如果只是個位為9 時,十位加1,個位為 0endendelsesecondrun3:0=secondrun3:0+1; /如果個位不為0 時,個位加1,十位不變endif(sec)/beginsec=0;if(miurun3:0=9) /beginif(miurun7:4=5)當進位為分鐘1 時才進行一次加1beginmiurun7:0=0;endelsebeginmiurun3:0=0;miurun7:4=miurun7:4+1;endendelsemiurun3:0=miurun3:0+1;endendend/ 時鐘顯示reg secondin,min
10、utein;always(posedge clk2)beginif(sec2=5&sec1=9)beginsec2=0;sec1=0;secondin=1;endelsebeginif(sec1=9)beginsec1=0;sec2=sec2+1;endelse sec1=sec1+1;endif(secondin)beginsecondin=0;if(min2=5&min1=9)beginmin2=0;min1=0;minutein=1;endelsebeginif(min1=9)beginmin1=0;min2=min2+1;endelse min1=min1+1;endendif(min
11、utein)beginminutein=0;if(hour2=3&hour1=2)beginhour2=0;hour1=0;endelsebeginif(hour1=9)beginhour1=0;hour2=hour2+1;endelse hour1=hour1+1;endendif(k4)/校時分鐘beginif(minute7:4=5)beginif(minute3:0=9)beginminute7:0=0;endelseminute3:0=minute3:0+1;endelsebeginif(minute3:0=9)beginminute3:0=0;minute7:4=minute7:4
12、+1;endelseminute3:0=minute3:0+1;endendif(k5)/校時小時beginif(hour2=2)beginif(hour1=3)beginhour2=0;hour1=0;endelsehour1=hour1+1;endelsebeginif(hour1=9)beginhour1=0;hour2=hour2+1;endelsehour1=hour1+1;endendend/ 按鍵顯示模塊reg k1_rst,k2_rst,k3_rst;always(posedge clk3)beginif(k1)begink1_rst=1;k2_rst=0;k3_rst=0;e
13、ndif(k2)begink1_rst=0;k2_rst=1;k3_rst=0;endif(k3)begink1_rst=0;k2_rst=0;k3_rst=1;endif(k1_rst)/時間顯示beginLED1=second3:0;LED2=second7:4;LED3=minute3:0;LED4=minute7:4;LED5=hour3:0;LED6=hour7:4;endif(k2_rst) /begin校時LED3=minute3:0;LED4=minute7:4;LED5=hour3:0;LED6=hour7:4;endif(k3_rst) /跑表顯示beginLED1=mis
14、secondrun3:0;LED2=missecondrun7:4;LED3=secondrun3:0;LED4=secondrun7:4;LED5=miurun3:0;LED6=miurun7:4;endendendmodule四、修改后設計方案由于本課程設計用到的主時鐘源是實驗箱上的4096HZ,而真正用到的時鐘是1HZ、100HZ、512HZ,分別用于時間顯示(包含校時) 、跑表、按鍵顯示;這些時鐘都從主頻分頻得到,而從主頻 4096HZ到 1HZ,要經(jīng)過 4096 次分頻,分頻計數(shù)太大,主頻與分頻后的時鐘頻率相差太大,不利于程序仿真,所以建議使用較低的主頻,如1024HZ主頻;原設計中
15、用到多個按鍵控制,而每個按鍵都只是只有一種控制功能,缺乏靈活性,所以修改后將按鍵設置為模式鍵,即每次按下鍵都實現(xiàn)不同功能顯示,可用狀態(tài)機來實現(xiàn)設計,這里只用到三個按鍵。五、實驗結果和數(shù)據(jù)處理按下按鍵 K1,電子鐘正常顯示時間,再按下鍵,停止顯示。按下按鍵 K2,進入校時狀態(tài):按下 K4鍵,進行校準分鐘,每按下一次 K4 鍵,分鐘計數(shù)器加一;按下 K5鍵,進行小時校準,每按下一次 K5 鍵,小時計數(shù)器加一;最后再若按下 K2 鍵,停止校時。按下按鍵 K3,進入跑表計時功能:按下K6 鍵,復位;按下K8 鍵,開始計時;按下K7鍵,停止計時;六、心得體會本次課程設計,我花了大概三天時間來完成(不包括
16、報告) ,雖然沒有達到教程安排的五天時間,但是我卻是所花時間在課程設計上比較多的少數(shù)人之一,不過總算也完成了作品,盡管不是很完美,功能也不是很多,但是心里還是蠻有成就感的!當然,完成一次課程設計都不是很容易的!首先確定了自己做電子鐘的設后,就開始著手寫程序;剛開始,確定實現(xiàn)的設計目標是多功能的電子鐘,而且還確定了每個功能用一個模塊來寫,最后編寫一個主模塊,采取調(diào)用模塊的形式調(diào)用所寫的各個功能模塊,這樣想法構思是很不錯的;但是限于自己所學知識不是很牢固,也不是很深入,寫 Verilog HDL 程序也比較少,實踐能力還不夠,所以當我好不容易編寫好各個功能模塊后,最終在編寫主程序時卻遇上了很多問題,特別是在編寫調(diào)用模塊時,出現(xiàn)了重重關卡,原來想法總比做的來的簡單!這期間我也有問過同學,可是由于礙于時間的問
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字反詐騙工程師崗位面試問題及答案
- 福建省漳州市平和一中、南靖一中等五校2025屆高一下化學期末學業(yè)水平測試模擬試題含解析
- 山西省同煤二中聯(lián)盟體2025年高二化學第二學期期末預測試題含解析
- 河北省遵化市2025年化學高一下期末復習檢測模擬試題含解析
- 沈陽固定花銷管理辦法
- 江蘇漁船租賃管理辦法
- 杭州客車租賃管理辦法
- 書法社團的教學規(guī)劃與實踐指導
- 道路透層、稀漿封層及防水層的綜合施工方案研究
- 公園施工車輛管理辦法
- 2024年全國高考新課標卷物理真題(含答案)
- 消防安全責任人任命書
- 毛澤東思想和中國特色社會主義理論體系概論復習提綱
- DLT 5285-2018 輸變電工程架空導線(800mm以下)及地線液壓壓接工藝規(guī)程
- DL-T5218-2012220kV-750kV變電站設計技術規(guī)程
- W -S-T 431-2023 護理分級標準(正式版)
- JBT 7043-2006 液壓軸向柱塞泵
- 【文創(chuàng)產(chǎn)品的價格決策及成本管理的案例探析16000字(論文)】
- 陜西省幼兒教師通識性知識大賽考試題庫(含答案)
- 超級辯論賽辯論比賽流程主題課件
- 脊柱轉移性腫瘤臨床研究現(xiàn)狀與進展課件
評論
0/150
提交評論