用Verilog語(yǔ)言編寫的多功能數(shù)字鐘_第1頁(yè)
用Verilog語(yǔ)言編寫的多功能數(shù)字鐘_第2頁(yè)
用Verilog語(yǔ)言編寫的多功能數(shù)字鐘_第3頁(yè)
用Verilog語(yǔ)言編寫的多功能數(shù)字鐘_第4頁(yè)
用Verilog語(yǔ)言編寫的多功能數(shù)字鐘_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)字電子技術(shù)課程設(shè)計(jì)報(bào)告專業(yè)班級(jí):姓 名:學(xué) 號(hào):設(shè)計(jì)日期:一 設(shè)計(jì)題目多功能數(shù)字鐘電路設(shè)計(jì)二 設(shè)計(jì)任務(wù)及要求多功能數(shù)字鐘應(yīng)該具有的功能有:顯示時(shí)分秒、整點(diǎn)報(bào)時(shí)、小時(shí)和分鐘可調(diào)等基本功能。整個(gè)鐘表的工作應(yīng)該是在1Hz信號(hào)的作用下進(jìn)行,這樣每來(lái)一個(gè)時(shí)鐘信號(hào),秒增加1秒,當(dāng)秒從59秒跳轉(zhuǎn)到00秒時(shí),分鐘增加1分,同時(shí)當(dāng)分鐘從59分跳轉(zhuǎn)到00分時(shí),小時(shí)增加1小時(shí),小時(shí)的范圍為023時(shí)。在實(shí)驗(yàn)中為了顯示的方便,由于分鐘和秒鐘顯示的范圍都是從059,所以可以用一個(gè)3位的二進(jìn)制碼顯示十位,用一個(gè)四位的二進(jìn)制碼(BCD碼)顯示個(gè)位,對(duì)于小時(shí)因?yàn)樗姆秶菑?23,所以可以用一個(gè)2位

2、的二進(jìn)制碼顯示十位,用一個(gè)4位的二進(jìn)制碼(BCD碼)顯示個(gè)位。實(shí)驗(yàn)中由于七段碼管是掃描的方式 顯示,所以雖然時(shí)鐘需要的是1Hz時(shí)鐘信號(hào),但是掃描需要一個(gè)比較高頻率的信號(hào),因此為了得到準(zhǔn)確的1Hz信號(hào),必須對(duì)輸入的系統(tǒng)時(shí)鐘50Mhz進(jìn)行分頻。對(duì)于整點(diǎn)報(bào)時(shí)功能,本實(shí)驗(yàn)設(shè)計(jì)的是當(dāng)進(jìn)行正點(diǎn)的倒計(jì)時(shí)5秒時(shí),讓LED來(lái)閃爍進(jìn)行整點(diǎn)報(bào)時(shí)的提示。調(diào)整時(shí)間的按鍵用按鍵模塊的S1和S2,S1調(diào)節(jié)小時(shí),每按下一次,小時(shí)增加一個(gè)小時(shí);S2調(diào)整分鐘,每按下一次,分鐘增加一分鐘。另外用S8按鍵作為系統(tǒng)時(shí)鐘復(fù)位,復(fù)位后全部顯示000000。管腳分配如下表:端口名使用模塊信號(hào)對(duì)應(yīng)FPGA管腳說(shuō)明S1按鍵開(kāi)關(guān)S1R16調(diào)整小時(shí)

3、S2按鍵開(kāi)關(guān)S2P14調(diào)整分鐘RST按鍵開(kāi)關(guān)S8M15復(fù)位LEDLED模塊D1L14整點(diǎn)倒計(jì)時(shí)LEDAG0數(shù)碼管模塊A段N4時(shí)間顯示LEDAG1數(shù)碼管模塊B段G4LEDAG2數(shù)碼管模塊C段H4LEDAG3數(shù)碼管模塊D段L5LEDAG4數(shù)碼管模塊E段L4LEDAG5數(shù)碼管模塊F段K4LEDAG6數(shù)碼管模塊G段K5SEL0數(shù)碼管選擇位1M48個(gè)數(shù)碼管的選擇位SEL1數(shù)碼管選擇位2F3SEL2數(shù)碼管選擇位3F4CP脈沖源J350Mhz脈沖三基于Verilog HDL語(yǔ)言的電路設(shè)計(jì)、仿真與綜合(一)頂層模塊本程序采用結(jié)構(gòu)化設(shè)計(jì)方法,將其分為彼此獨(dú)立又有一定聯(lián)系的三個(gè)模塊,如圖1所示:圖1:頂層結(jié)構(gòu)框圖

4、(二)子模塊 1.分頻器分頻器的作用是對(duì)50Mhz的系統(tǒng)時(shí)鐘信號(hào)進(jìn)行分頻,得到頻率為1000hz的信號(hào),作為顯示器的輸入信號(hào)。源程序如下:module fenpin(input CP,output CPout);reg CPout;reg 31:0 Cout;reg CP_En;always (posedge CP ) /將50MHz分頻為1kHzbeginCout = (Cout = 32d50000) ? 32d0 : (Cout + 32d1);CP_En = (Cout = 32d50000) ? 1d1 : 1d0;CPout = CP_En; endendmodule功能仿真波形如

5、圖2所示(以五分頻為例):2.控制器和計(jì)數(shù)器 控制器的作用是,調(diào)整小時(shí)和分鐘的值,并能實(shí)現(xiàn)清零功能。計(jì)數(shù)器的作用是實(shí)現(xiàn)分鐘和秒鐘滿60進(jìn)1,小時(shí)則由23跳到00。當(dāng)?shù)竭_(dá)59分55秒的時(shí)候,LED燈會(huì)閃爍來(lái)進(jìn)行報(bào)時(shí)。因?yàn)榭刂破骱陀?jì)數(shù)器的驅(qū)動(dòng)信號(hào)頻率均為1Hz,故從分頻器輸出的信號(hào)進(jìn)入控制器后,要進(jìn)行二次分頻,由1Khz變?yōu)?Hz。源程序如下:module kongzhiqi( CPout,S1,S2,RET,Hour,Minute,Second,LED);input CPout,S1,S2,RET;output 5:0 Hour;output 5:0 Minute;output 5:0 Seco

6、nd;output LED;reg 5:0 Hour;reg 5:0 Minute;reg 5:0 Second;reg R1;reg R2,R8,LED;reg 10:0 Cout;reg Clk_En;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)beginif(R1=1)beginif(Hour24)

7、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)beginMinute=0;if(Hour55)/整點(diǎn)倒計(jì)時(shí)b

8、eginif(LED=1)LED=0;elseLED=1;endelseLED=0;if(R8=1)/清零beginHour=0;Minute=0;Second=0;R8=0;endendendendmodule功能仿真波形如圖3所示:3顯示器顯示器的作用是將時(shí)分秒的值在數(shù)碼管上依次顯示出來(lái)。從分頻器輸出的1Khz的信號(hào)作為數(shù)碼管的掃描信號(hào)。SEL 表示三個(gè)數(shù)碼管選擇位,它的取值表示八個(gè)數(shù)碼管,從左至右依次是111000。LEDGA表示七段數(shù)碼管,它的取值決定特定位數(shù)上顯示的數(shù)字。源程序如下:module xianshi( CPout,Hour,Minute,Second,SEL,LEDAG)

9、;input CPout;input Hour,Minute, Second;output SEL,LEDAG;reg 2:0 SEL;reg 6:0 Led;reg 3:0 shi1,ge1,shi2,ge2,shi3,ge3;always (posedge CPout )beginshiwei1=Hour/10;gewei1=Hour%10;shiwei2=Minute/10;gewei2=Minute%10;shiwei3=Second/10;gewei3=Second%10;if(SEL=3b110) /判斷位選SEL的值,并將此位上的值輸出到數(shù)碼管case(shiwei1) 4b00

10、00: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcaseif(SEL=3b101)case(ge

11、wei1) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcaseif(SEL=3b1

12、00)Led=7b1000_000;if(SEL=3b011)case(shiwei2) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; defa

13、ult: Led = 7b0000_000;endcaseif(SEL=3b010)case(gewei2) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101

14、_111; default: Led = 7b0000_000;endcaseif(SEL=3b001)Led=7b1000_000;if(SEL=3b000)case(shiwei3) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000

15、: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcase if(SEL=3b111)case(gewei3) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000

16、_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcase SEL = SEL + 3d1; endassign LEDAG=Led;endmodule四 總結(jié)體會(huì)這次課程設(shè)計(jì)雖然只有短短的四天,但我的收獲卻很大。通過(guò)這次實(shí)習(xí),我掌握了EDA設(shè)計(jì)的基本流程(即設(shè)計(jì)輸入編譯調(diào)試仿真下載),領(lǐng)會(huì)了自頂而下結(jié)構(gòu)化設(shè)計(jì)的優(yōu)點(diǎn),并具備了初步的EDA程序設(shè)計(jì)能力。 我感覺(jué),這個(gè)程序最難的地方在于頂層模塊的設(shè)計(jì),因?yàn)轫攲幽K需要將各個(gè)子模塊按照電路原理有機(jī)地結(jié)合起來(lái),這需要扎實(shí)的理論功底,而這正是我所欠缺的。相比而言,子模塊的設(shè)計(jì)就容易多了,因?yàn)閂erilog語(yǔ)言和C語(yǔ)言有很多

溫馨提示

  • 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)論