用Verilog語言編寫的多功能數(shù)字鐘_第1頁
用Verilog語言編寫的多功能數(shù)字鐘_第2頁
用Verilog語言編寫的多功能數(shù)字鐘_第3頁
用Verilog語言編寫的多功能數(shù)字鐘_第4頁
用Verilog語言編寫的多功能數(shù)字鐘_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、20092010學(xué)年第二學(xué)期數(shù)字電子技術(shù)課程設(shè)計(jì)報(bào)告專業(yè)班級:電氣-08-1姓 名:曹操學(xué) 號:08051127設(shè)計(jì)日期:2010年8月23日27日設(shè)計(jì)題目多功能數(shù)字鐘電路設(shè)計(jì)二 設(shè)計(jì)任務(wù)及要求多功能數(shù)字鐘應(yīng)該具有的功能有:顯示時分秒、整點(diǎn)報(bào)時、小時 和分鐘可調(diào)等基本功能。 整個鐘表的工作應(yīng)該是在 1Hz 信號的作用下進(jìn)行, 這樣每來一個時鐘信號,秒增加 1 秒,當(dāng)秒從 59 秒跳轉(zhuǎn)到 00 秒時,分鐘 增加 1 分,同時當(dāng)分鐘從 59 分跳轉(zhuǎn)到 00 分時,小時增加 1 小時,小時的 范圍為 023 時。在實(shí)驗(yàn)中為了顯示的方便,由于分鐘和秒鐘顯示的范圍都是從059,所以可以用一個 3 位的二

2、進(jìn)制碼顯示十位,用一個四位的二進(jìn)制碼( BCD 碼)顯示個位,對于小時因?yàn)樗姆秶菑?023,所以可以用一個 2 位的 二進(jìn)制碼顯示十位,用一個 4位的二進(jìn)制碼(BCD碼)顯示個位。實(shí)驗(yàn)中由于七段碼管是掃描的方式 顯示,所以雖然時鐘需要的是 1Hz 時鐘信號,但是掃描需要一個比較高頻率的信號, 因此為了得到準(zhǔn)確的 1Hz 信號,必須對輸入的系統(tǒng)時鐘 50Mhz 進(jìn)行分頻。對于整點(diǎn)報(bào)時功能,本實(shí)驗(yàn)設(shè)計(jì)的是當(dāng)進(jìn)行正點(diǎn)的倒計(jì)時 5 秒時,讓LED來閃爍進(jìn)行整點(diǎn)報(bào)時的提示。調(diào)整時間的按鍵用按鍵模塊的 S1和S2, S1調(diào)節(jié)小時,每按下一次, 小時增加一個小時;S2調(diào)整分鐘,每按下一次,分鐘增加一分鐘

3、。另外用S8按鍵作為系統(tǒng)時鐘復(fù)位,復(fù)位后全部顯示000000管腳分配如下表:端口名使用模塊信號對應(yīng)FPGA管腳說明S1按鍵開關(guān)S1R16調(diào)整小時S2按鍵開關(guān)S2P14調(diào)整分鐘RST按鍵開關(guān)S8M15復(fù)位LEDLED模塊D1L14整點(diǎn)倒計(jì)時LEDAG0數(shù)碼管模塊A段N4LEDAG1數(shù)碼管模塊B段G4LEDAG2數(shù)碼管模塊C段H4LEDAG3數(shù)碼管模塊D段L5時間顯示LEDAG4數(shù)碼管模塊E段L4LEDAG5數(shù)碼管模塊F段K4LEDAG6數(shù)碼管模塊G段K5SEL0數(shù)碼管選擇位1M48個數(shù)碼管SEL1數(shù)碼管選擇位2F3的選擇位SEL2數(shù)碼管選擇位3F4CP脈沖源J350Mhz脈沖三.基于Verilo

4、g HDL語言的電路設(shè)計(jì)、仿真與綜合(一)頂層模塊本程序采用結(jié)構(gòu)化設(shè)計(jì)方法,將其分為彼此獨(dú)立又有一定聯(lián)系的三個模塊,如圖1所示:S1option value oaonn iVNdgfLLocationPIN_P14CPoutHour5.0S1Minute5.0S2Second5.0RETLEDinst2xianshiCPoutHour5.0.Minute5.0i Second5.0inStSEL2.0LEDAG6.0PULEDOptionValueLocation PIN L14optionvalue切刪1 PN_他1Lcta PNJNLdtoon PIINJGLocation hn_H4Lo

5、cation P N L5Location P N_L4Location PN_K4Location pn K5outputSEL2.05#圖1:頂層結(jié)構(gòu)框圖(二)子模塊1.分頻器分頻器的作用是對50Mhz的系統(tǒng)時鐘信號進(jìn)行分頻,得到頻率為1000hz的信號,作為顯示器的輸入信源程序如下:module fenpin(input CP, output CPout );reg CPout;reg 31:0 Cout;reg CP_E n;always (posedge CP )/ 將 50MHz分頻為 1kHzbeg inCout = (Cout = 32d50000) ? 32dO : (Cou

6、t + 32d1);CP_E n = (Cout = 32d50000) ? 1d1 : 1d0;CPout = CP_E n;enden dmodule功能仿真波形如圖2所示(以五分頻為例):CPB 0AnnnnmnfmnonmjWLrLrLrLnrLnnnnjmnnjmnnR rrPr raCFontB 0i|:iiiiiIiI:lJJ 1 1Iliii II i II l1 1 iii 1 1 ii1iiiiiiiiIi1i1iiiih%“iiIaiiii1ru2.控制器和計(jì)數(shù)器控制器的作用是,調(diào)整小時和分鐘的值,并能實(shí)現(xiàn)清零功能。計(jì)數(shù)器的作用是實(shí)現(xiàn)分鐘和秒鐘滿60進(jìn)1,小時則由23跳到

7、00。當(dāng)?shù)竭_(dá)59分55秒的時候,LED燈會閃爍來進(jìn)行報(bào)時。因?yàn)榭刂破骱陀?jì)數(shù)器的驅(qū)動信號頻率均為1Hz,故從分頻器輸出的信號進(jìn)入控制器后,要進(jìn)行二次分頻,由1Khz變?yōu)?Hz源程序如下:CPautCfLiz#員 mkiriMMrc rmMRiLl le l.1 . .U10且RETHOP 13- JJJLED- auffWit“訕“isinri9r,iHini!imodule kongzhiqi( CPout,S1,S2,RET,Hour,Minute,Second,LED );in put CPout,S1,S2,RET;output 5:0 Hour; output 5:0 Mi nute;

8、 output 5:0 Second; output LED;reg 5:0 Hour; reg 5:0 Mi nute;reg 5:0 Second;reg R1;reg R2,R8,LED; reg 10:0 Cout;reg Clk_E n;always(posedge CPout)beginif(S1=0)beginR1=1;endif(S2=0)beginR2=1;endif(RET=0)beginR8=1;endCout=(Cout=32d1000)?32d0:(Cout + 32d1); Clk_En=(Cout=32d1000)?1d1:1d0; if(Clk_En)begin

9、if(R1=1)beginif(Hour24) Hour=Hour+1;if(Hour=24)beginHour=0;endR1=0;endif(R2=1)beginif(Minute60)Minute=Minute+1;if(Minute=60)beginMinute=0;if(Hour24)Hour=Hour+1; if(Hour=24) beginHour=0;endendR2=0;endif(Second60)Second=Second+1;if(Second=60)beginSecond=0;if(Minute60)Minute=Minute+1;if(Minute=60)begin

10、Minute=0;if(Hour55)/ 整點(diǎn)倒計(jì)時 beginif(LED=1)LED=0;elseLED=1;endelseLED=0;if(R8=1) 清零beginHour=0;Minute=0;Second=0;R8=0;endendendendmodule功能仿真波形如圖 3 所示:3.顯示器顯示器的作用是將時一分一秒的值在數(shù)碼管上依次顯示出來。從分頻器輸出 的1Khz的信號作為數(shù)碼管的掃描信號。SEL表示三個數(shù)碼管選擇位,它的取值 表示八個數(shù)碼管,從左至右依次是 111000。LEDGA表示七段數(shù)碼管,它的取值決定特定位數(shù)上顯示的數(shù)字。 i.BAiarishiibz. _CPfi

11、utSLL2. .0)irr Ati if nmSUJ)注_. jAUWAUMUWUKMM-MMLUlUUUUUUULMMaUMWUWU&BHMMWWUWUMMUi*rLJ7F.rri、i 可亦需 i i1 Hours.-Jj 1i WinutBlL.qr L u aS&c&rKj5.0i- - -ii1iinst源程序如下:module xianshi( CPout,Hour,Minute,Second,SEL,LEDAG );in put CPout;in put Hour,Minute, Second; output SEL,LEDAG;reg 2:0 SEL;reg 6:0 Led;r

12、eg 3:0 shi1,ge1,shi2,ge2,shi3,ge3;always (posedge CPout ) beg inshiwei 1=H our/10; gewei 仁H our%10;shiwei2=Minute/10; gewei2=Minute%10; shiwei3=Second/10;gewei3=Second%10; if(SEL=3b110) case(shiwei1)/判斷位選SEL勺值,并將此位上的值輸出到數(shù)碼管4b0000:4b0001:4b0010:4b0011:4b0100:4b0101:4b0110:4b0111:4b1000:4b1001: defaul

13、t: endcaseLed = 7b0111_111;Led = 7b0000_110;Led = 7b1011_011;Led = 7b1001_111;Led = 7b1100_110;Led = 7b1101_101;Led = 7b1111_101;Led = 7b0000_111;Led = 7b1111_111;Led = 7b1101_111;Led = 7b0000_000;if(SEL=3b101)case(gewei1)4b0000:4b0001:4b0010:4b0011:4b0100:4b0101:4b0110:4b0111:4b1000:4b1001: default

14、: endcaseLed = 7b0111_111;Led = 7b0000_110;Led = 7b1011_011;Led = 7b1001_111;Led = 7b1100_110;Led = 7b1101_101;Led = 7b1111_101;Led = 7b0000_111;Led = 7b1111_111;Led = 7b1101_111;Led = 7b0000_000;if(SEL=3b100)Led=7b1000_000;if(SEL=3b011)case(shiwei2)4b0000:4b0001:4b0010:4b0011:4b0100:4b0101:4b0110:4

15、b0111:Led = 7b0111_111;Led = 7b0000_110;Led = 7b1011_011;Led = 7b1001_111;Led = 7b1100_110;Led = 7b1101_101;Led = 7b1111_101;Led = 7b0000_111;94b1000:4b1001: default: endcase if(SEL=3b010) case(gewei2) 4b0000:4b0001:4b0010:4b0011:4b0100:4b0101:4b0110:4b0111:4b1000:4b1001: default: endcase if(SEL=3b0

16、01) Led=7b1000_000; if(SEL=3b000) case(shiwei3)4b0000:4b0001:4b0010:4b0011:4b0100:4b0101:4b0110:4b0111:4b1000:4b1001: default: endcaseLed = 7b1111_111;Led = 7b1101_111;Led = 7b0000_000;Led = 7b0111_111 Led = 7b0000_110; Led = 7b1011_011; Led = 7b1001_111; Led = 7b1100_110; Led = 7b1101_101; Led = 7b

17、1111_101; Led = 7b0000_111; Led = 7b1111_111; Led = 7b1101_111; Led = 7b0000_000;Led = 7b0111_111;Led = 7b0000_110;Led = 7b1011_011;Led = 7b1001_111;Led = 7b1100_110;Led = 7b1101_101;Led = 7b1111_101;Led = 7b0000_111;Led = 7b1111_111;Led = 7b1101_111;Led = 7b0000_000;if(SEL=3b111)case(gewei3) 4b0000

18、: 4b0001: 4b0010: 4b0011: 4b0100: 4b0101: 4b0110:Led = 7b0111_111;Led = 7b0000_110;Led = 7b1011_011;Led = 7b1001_111;Led = 7b1100_110;Led = 7b1101_101;Led = 7b1111_101;4b0111:Led =7b0000_111;4b1000:Led =7b1111_111;4b1001:Led =7b1101_111;default:Led :=7b0000_000;endcaseSEL = SEL + 3d1; endassignCPontB 1 LEW 1

溫馨提示

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

評論

0/150

提交評論