多功能電子鐘設計論文_第1頁
多功能電子鐘設計論文_第2頁
多功能電子鐘設計論文_第3頁
多功能電子鐘設計論文_第4頁
多功能電子鐘設計論文_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、EDA(二)實驗報告多功能數(shù)字鐘目錄目錄1摘要2一、設計要求3二、方案論證3三、各模塊設計原理43.1 分頻設計43.2 計數(shù)器設計73.3 譯碼顯示電路設計10四、附加功能134.1 12/24小時切換13五、調試仿真和下載13六、總結14七、參考文獻15摘要本實驗通過使用Quartus軟件,并結合數(shù)字邏輯電路的知識設計多功能數(shù)字鐘,可以實現(xiàn)正常的時、分、秒的計數(shù)功能,分別由六個數(shù)碼管顯示計時,可以利用開關實現(xiàn)系統(tǒng)的計時保持、清零和校分、校時的功能。在利用Quartus進行相應的設計、仿真、調試后下載到SmartSOPC 實驗系統(tǒng)上驗證設計的正確性。關鍵詞QuartusII,數(shù)字鐘,分頻,計

2、時顯示,保持清零,校分校時報時AbstractThis experiment is based on Quartus ,with the help of knowledge regarding the digital logic circuits and system design, to design a multifunctional digital clock. The basic function of the multifunctional digital clock is a 24-hour timer, and the exact time can be showed by si

3、x led lights. Also we can achieve the functions like time keeping, clearing and time adjusting by using the switches. All the designing and simulating work are based on Quartus. After all the work finished on computer, I downloaded the final circuit to SmartSOPC experiment system to test the accurac

4、y of the design.Key words:Quartus, digital clock ,reckon by time and display,time keeping and clearing, time adjusting, chiming一、設計要求1、要求簡介:設計一個數(shù)字計時器,可以完成00:00:00到23:59:59的計時功能,并在控制電路的作用下具有保持、清零、快速校時、快速校分、整點報時等功能。2、設計基本要求:1)能進行正常的時、分、秒計時功能;2)分別由六個數(shù)碼管顯示時分秒的計時;3)K1是系統(tǒng)的使能開關(K1=0正常工作,K1=1時鐘保持不變);4)K2是系統(tǒng)

5、的清零開關(K2=0正常工作,K2=1時鐘分、秒全清零);5)K3是系統(tǒng)的校分開關(K3=0正常工作,K3=1時可以快速校分);6)K4是系統(tǒng)的校時開關(K4=0正常工作,K4=1時可以快速校時);7)使時鐘具有整點報時功能(當時鐘計到5953”時開始報時,在5953”,5955”,5957”時報時頻率為500Hz,5959”時報時頻率為1KHz)。3、提高部分 12/24小時切換功能:K5是系統(tǒng)的切換開關; 4、仿真與驗證:用QuartusII軟件對設計電路進行功能仿真,并下載到SmartSOPC實驗箱上對其功能進行驗證。2、 方案論證 1、多功能數(shù)字時鐘功能結構計時電路顯示譯碼器校時校分脈

6、沖發(fā)生電路保持電路清零電路報時電路多功能數(shù)字計時器是由脈沖發(fā)生電路、計時電路、譯碼顯示電路、報時電路、控制電路等幾部分組成的,控制電路按要求可由校分校時電路、清零電路和保持電路組成。數(shù)字計時器的基本功能是計時,首先需要振蕩時間的脈沖信號。實驗可用的振蕩頻率為48MHZ,通過分頻可獲得所需頻率(1Hz,2Hz,500Hz,1KHz)。計時電路與動態(tài)顯示電路相連,將時間顯示在六段數(shù)碼管上,并且驅動蜂鳴器整點報時;校時校分電路對時、分、星期提供快速校時;清零電路作用時,系統(tǒng)的分秒時同時歸零;保持電路作用時,系統(tǒng)停止計時并保持時間不變。2、多功能數(shù)字時鐘總電路圖根據(jù)模塊間關系連接可以得到多功能數(shù)字時鐘

7、 根據(jù)模塊間關系連接可以得到多功能數(shù)字時鐘的總電路圖如下:三、各模塊設計原理1、分頻設計脈沖發(fā)生電路是為計時器提供計時脈沖的,因為設計的是計時器,所以需要產(chǎn)生1Hz的脈沖信號。EDA實驗系統(tǒng)的輸入時鐘為48MHz,那么要產(chǎn)生1Hz的脈沖信號,則要對輸入時鐘48MHz進行分頻,最終分得1KHz、500Hz、2Hz、1Hz。分頻電路verilog語言如下:module fenpin(chushi,div_1KHz,div_500Hz,div_2Hz,div_1Hz); input chushi; output div_1KHz,div_500Hz,div_2Hz,div_1Hz; reg div_

8、1KHz,div_500Hz,div_2Hz,div_1Hz; integer a1=0,a2=0,a3=0,a4=0; always (posedge chushi) begin if(a147999) begin div_1KHz=1b0; a1=a1+1; end else begin div_1KHz=1b1; a1=0; end end always (posedge div_1KHz) begin if(a21) begin div_500Hz=1b0; a2=a2+1; end else begin div_500Hz=1b1; a2=0; end end always (pos

9、edge div_500Hz) begin if(a3249) begin div_2Hz=1b0; a3=a3+1; end else begin div_2Hz=1b1; a3=0; end endalways (posedge div_2Hz) begin if(a41) begin div_1Hz=1b0; a4=a4+1; end else begin div_1Hz=1b1; a4=0; end endendmodule仿真波形圖如下:由于48MHz分為1KHz現(xiàn)象不明顯,故此處改成將48000分頻改為5分頻,現(xiàn)象為:將500Hz改為2Hz和1Hz,此處250分頻改為3分頻,現(xiàn)象為

10、:分頻電路封裝圖如下: 2、計數(shù)器設計為了形成時鐘,需要由上一級進位信號驅動下一級電路開始工作。秒和分均為60進制,時為24進制,所以需要設計模60、模24計數(shù)器。本次設計的計數(shù)器包含了保持、清零、校分、校時、整點報時、12/24小時切換功能。計時電路verilog語言如下:module baoshi (hold,reshou,resmin,hou_final,min_final,sec_final,restart,clk,change,div_500Hz,div_1KHz,ring);input reshou,resmin,restart,clk,change,hold,div_500Hz,

11、div_1KHz;output6:0 hou_final;output6:0 min_final;output6:0 sec_final;output ring;reg6:0 hou;reg6:0 min;reg6:0 sec;reg6:0 hou_final;reg6:0 min_final;reg6:0 sec_final;reg a,b,restart1;reg ring;initial begin hou=0; min=0; sec=0; endalways (posedge clk)beginif(restart=0)beginrestart1=1;endif(reshou=0)be

12、ginif(hou=6d59)begin hou=d0; endelsebegin hou=hou+1; endendif(resmin=0)beginif(min6b111_100)begin min=min+6b1; endif(min=6b111_100)begin min=6b0; endendif(sec6b111_100)&(hold=1)beginsec=sec+1; endif(restart1=1)&(clk)beginhou=0;min=0;sec=0;restart1=0;endif(hou=6b101_11)&(min=6b1110_11)&(sec=6b1110_11

13、)beginhou=6b0;min=6b0;sec=6b0;endif(hou6b101_11)&(min=6b1110_11)&(sec=6b1110_11)beginhou=hou+6b1;min=6b0;sec=6b0;endif(min6b1110_11)&(sec=6b1111_00)beginmin=min+6b1;sec=6b0;endmin_final=min;sec_final=sec;endalways (hou)beginif (change=1)if(hou6b1101)begin hou_final=hou; endelsebegin hou_final=hou-6b

14、1100;endelsebegin hou_final=hou; endend always(min_final,sec_final) if(min_final=6b111_011) case(sec_final) 6b110_110, 6b111_000, 6b111_010:ring=div_500Hz; 6b111_100:ring=div_1KHz; default:ring=1b0; endcase else ring=1b0;endmodule仿真波形圖如下:秒的顯示:時、分的顯示:保持的顯示:報時的顯示:計數(shù)器電路封裝圖如下:3、 譯碼顯示電路設計 由于實驗箱一次只能有一個數(shù)碼管

15、顯示,所以要同時把小時、分、秒都顯示出來就得設計一個動態(tài)顯示電路。由于一共要用6個 顯示電路,所以用一個從0計數(shù)到5的循環(huán)來依次接通6個數(shù)碼管顯示,根據(jù)人眼的視覺暫留特性,我們實際看到的就是6個數(shù)碼管一直在工作著。此處因為將小時、分、秒分為十位和個位才能進行掃碼,故加了一個切換電路,將兩位數(shù)的小時、分、秒3個數(shù)據(jù),切換為6個數(shù)據(jù)。切換電路verilog語言如下:module qiehuan(hou_final,min_final,sec_final,secl,sech,minl,minh,hourl,hourh,clk);input6:0 hou_final,min_final,sec_fin

16、al;input clk;output3:0 secl;output3:0 sech;output3:0 minl;output3:0 minh;output3:0 hourl;output3:0 hourh;reg3:0 secl;reg3:0 sech;reg3:0 minl;reg3:0 minh;reg3:0 hourl;reg3:0 hourh;always (posedge clk) begin secl=sec_final%10; sech=sec_final/10; minl=min_final%10; minh=min_final/10; hourl=hou_final%10

17、; hourh=hou_final/10; endendmodule切換電路封裝圖如下:譯碼電路verilog語言如下:module yima(secl,sech,minl,minh,hourl,hourh,clk,en,led); input 3:0secl,sech,minl,minh,hourl,hourh; input clk; output 6:0en; output 6:0led; reg 6:0led; reg 6:0en; reg 3:0m=0,n; always ( posedge clk ) begin en6:0=8b; if ( m3:0=4d6) m=0; else

18、begin case( m3:0) 4d0: begin n=secl; en5=0; end 4d1: begin n=sech; en0=0; end 4d2: begin n=minl; en1=0; end 4d3: begin n=minh; en2=0; end 4d4: begin n=hourl; en3=0; end 4d5: begin n=hourh; en4=0; end endcase m=m+1; end end always ( posedge clk ) begin case (n) 4b0000: led6:0=7b; 4b0001: led6:0=7b; 4

19、b0010: led6:0=7b; 4b0011: led6:0=7b; 4b0100: led6:0=7b; 4b0101: led6:0=7b; 4b0110: led6:0=7b; 4b0111: led6:0=7b; 4b1000: led6:0=7b; 4b1001: led6:0=7b; endcase end endmodule 譯碼電路封裝圖如下:4、 附加功能 1、12/24小時切換 我設置了開關K5,當摁下開關時,若是上午則不改變,若是下午則可進行12/24小時切換。切換電路verilog語言如下: always(min_final,sec_final) if(min_fi

20、nal=6b111_011) case(sec_final) 6b110_110, 6b111_000, 6b111_010:ring=div_500Hz; 6b111_100:ring=div_1KHz; default:ring=1b0; endcase else ring=1b0;五、調試仿真和下載 1、調試:將設計好的電路保存在工程文件夾中(不能有中文路徑)。再將文件置頂,最后進行編譯。在主菜單中選擇processing compiler toolstart,則編譯開始。在編譯過程中,若有任何信息、錯誤和警告消息,編譯將停止,則需要返回原文件進行修改,修改后存盤,再編譯直至文件通過。

21、2、仿真:將要仿真的原理圖文件進行置頂編譯,然后新建一個“Vector Waveform file”文件,生成波形文件(.vwf)。左鍵雙擊節(jié)點區(qū)空白處,在彈出的菜單中選Node Finder,在彈出的對話框中選擇要觀測的節(jié)點。選editGrid Size和editEnd Time,設置相應選項,并給輸入引腳加上適當?shù)男盘?然后保存。接著選擇主菜單中的processing項,在彈出的對話框中選擇simulator tool選項。若要進行功能仿真,首先要點擊Generate Functional Simulation Netlist選項。 3、下載:1. 在主菜單Assignments中選擇De

22、vice項,在彈出的對話框中選擇相應的器件EP1C12Q240C8。再選中Device and Pin Options選項,選擇Unused Pins選項,選擇as input tri-stated選項。 2. 在主菜單Assignments 選“Pins”,打開平面布置圖編輯器窗口,將設計的電路圖中的各輸入輸出鎖定在相應的管腳上。3. 在主菜單選FileSave保存文件,再次編譯項目,生成.sof文件,以用于下載。4. 在主菜單Tools 選Programmer,選擇program/configure,再選擇start,即完成下載到實驗臺上。六、總結實驗前聽說是多功能數(shù)字鐘的設計,我以為很簡單,但在實際操作時并不是這么簡單,不僅每個模塊都需要仿真,而且在連成完整電路后下載運行又是另外一回事兒了,很多同學在電腦上能成功仿真,下載時總是不能正確顯示,這時需要我們冷靜思考,針對顯示出現(xiàn)的問題,用排除法解決對應的問題。EDA2是基于QuartusII軟件的多功能數(shù)字鐘實驗,這次實

溫馨提示

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

評論

0/150

提交評論