基于verilog的電子時(shí)鐘報(bào)告_第1頁
基于verilog的電子時(shí)鐘報(bào)告_第2頁
基于verilog的電子時(shí)鐘報(bào)告_第3頁
基于verilog的電子時(shí)鐘報(bào)告_第4頁
基于verilog的電子時(shí)鐘報(bào)告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一 總體設(shè)計(jì)方案1.設(shè)計(jì)原理及思路1.1原理分析圖1-1數(shù)字鐘程序總體框圖數(shù)字鐘實(shí)際上就是對(duì)1Hz的頻率進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路。振蕩器產(chǎn)生32768Hz的時(shí)鐘信號(hào),經(jīng)過分頻器后產(chǎn)生512Hz、64Hz、2Hz的脈沖信號(hào),秒計(jì)數(shù)器計(jì)滿60后,觸發(fā)分計(jì)數(shù)器,分計(jì)數(shù)器計(jì)滿60后,觸發(fā)計(jì)時(shí)電路,當(dāng)計(jì)滿24小時(shí)后開始下一輪計(jì)數(shù)。如果計(jì)數(shù)的起始時(shí)間與設(shè)想的有誤差,可以通過調(diào)時(shí)、調(diào)分按鍵或復(fù)位鍵進(jìn)行手動(dòng)調(diào)時(shí)。計(jì)數(shù)器的輸出經(jīng)過6選1多路選擇器后以動(dòng)態(tài)掃描方式送到LED數(shù)碼管輸出。由框圖可知程序模塊可分為消抖模塊、2分頻、或門、6進(jìn)制計(jì)數(shù)器、10進(jìn)制計(jì)數(shù)器、24進(jìn)制計(jì)數(shù)器6選1多路選擇器、七段譯碼器、位選端控制器組

2、成。實(shí)現(xiàn)思路及具體實(shí)現(xiàn)過程將在第二部分詳細(xì)介紹。1.2數(shù)字鐘的電路結(jié)構(gòu)數(shù)字鐘由電源電路、CPLD電路、JATG下載接口、振蕩器、分頻器、顯示器等部分組成。1.2.1電源電路圖1-2電源電路電源電路通過USB接口輸入5V電壓,經(jīng)三端穩(wěn)壓器輸出3.3V工作電壓用于電路中各元件的用電需求。1.2.2 JATG下載接口圖1-3 JATG下載接口通過USB-blaster將JATG接口與電腦相連,即可將編寫好程序代碼下載到開發(fā)板上進(jìn)行功能驗(yàn)證。1.2.3 CPLD電路該CPLD電路通過MAX3000A EPM3064ALC44-10N實(shí)現(xiàn)各模塊的功能驗(yàn)證和綜合。在該芯片中有64個(gè)宏單元,44個(gè)可用引腳,

3、載入程序后斷電不消失,再次通電后仍執(zhí)行上次載入的程序。編寫的VerilogHDL模塊利用其中提供的觸發(fā)器,邏輯門電路實(shí)現(xiàn)所編寫程序的邏輯功能。從原理圖可看出芯片通過制定接口與電源電路、振蕩電路、JATG下載接口及譯碼管相連綜合實(shí)現(xiàn)其功能。三個(gè)按鍵電路圖分別表示RESET(復(fù)位鍵)、AD_Hour(調(diào)時(shí)按鍵)、AD_Min(調(diào)分按鍵)。三個(gè)按鍵通過指定接口接入芯片通過程序中的消抖模塊為計(jì)數(shù)器提供調(diào)時(shí)、調(diào)分、復(fù)位脈沖。圖1-4 CPLD電路1.2.4振蕩和分頻電路圖1-5 振蕩和分頻電路振蕩和分頻電路由晶振產(chǎn)生32768Hz的脈沖通過MC74WC4060芯片分頻,產(chǎn)生F512Hz、F64Hz、F2

4、Hz的脈沖信號(hào),用于電路的計(jì)時(shí)脈沖和位選信號(hào)的產(chǎn)生。1.2.5顯示器該數(shù)字鐘以動(dòng)態(tài)掃描方式輸出。計(jì)數(shù)器把輸出信號(hào)送到六選一多路選擇器中。F512Hz的信號(hào)脈沖通過六進(jìn)制計(jì)數(shù)器一個(gè)三位二進(jìn)制數(shù),把它作為六選一多路選擇器和位選端控制器的輸入。六選一多路選擇器根據(jù)要求把輸出信號(hào)給到譯碼器。位選端控制器產(chǎn)生一個(gè)六位二進(jìn)制數(shù)決定哪個(gè)譯碼管亮。由于掃描頻率超出人眼識(shí)別能力,所以表面上看每個(gè)譯碼管是同時(shí)亮的。圖1-6 顯示器 二 各模塊說明2.1消抖模塊2.1.1消抖模塊原理按鍵開關(guān)是各種電子設(shè)備不可或缺的人機(jī)接口。在實(shí)際應(yīng)用中,很大一部分的按鍵是機(jī)械按鍵。在機(jī)械按鍵的觸點(diǎn)閉合和斷開時(shí),都會(huì)產(chǎn)生抖動(dòng),為了保

5、證系統(tǒng)能正確識(shí)別按鍵的開關(guān),就必須對(duì)按鍵的抖動(dòng)進(jìn)行處理。為了消除機(jī)械開關(guān)的抖動(dòng),可在開關(guān)與輸出端點(diǎn)之間接人一個(gè)RS觸發(fā)器,就能使輸出端產(chǎn)生很清晰的階躍信號(hào)。2.1.2消抖模塊程序代碼module xiaodou(BJ_CLK,BUTTON_IN,BUTTON_OUT);input BJ_CLK;input BUTTON_IN;output BUTTON_OUT;reg BUTTON_IN_Q, BUTTON_IN_2Q, BUTTON_IN_3Q;always (posedge BJ_CLK)beginBUTTON_IN_Q <= BUTTON_IN;BUTTON_IN_2Q <=

6、 BUTTON_IN_Q;BUTTON_IN_3Q <= BUTTON_IN_2Q;endwire BUTTON_OUT = BUTTON_IN_2Q | BUTTON_IN_3Q;endmodule仿真波形:2.2或門2.2.1或門原理對(duì)于計(jì)時(shí)和計(jì)分電路既需要低位的進(jìn)位信號(hào),又需要手動(dòng)按鍵調(diào)時(shí),所以需要將兩個(gè)信號(hào)通過或門后給到計(jì)時(shí)器和計(jì)分器。對(duì)于或門,可用連續(xù)賦值語句C=A+B;實(shí)現(xiàn)。2.2.2或門程序代碼module huo(in_1,in_2,huo_out);input in_1,in_2;output huo_out;assign huo_out=in_1+in_2;endmo

7、dule仿真波形2.3六進(jìn)制計(jì)數(shù)器(不帶進(jìn)位端)2.3.1六進(jìn)制計(jì)數(shù)器(不帶進(jìn)位端)原理該六進(jìn)制計(jì)數(shù)器沒有進(jìn)位端,用于六選一多路選擇器的輸入,控制其輸出計(jì)時(shí)器的計(jì)時(shí)信號(hào)。同時(shí)它也作為位選端控制器的輸入,決定哪個(gè)數(shù)碼管亮。六進(jìn)制計(jì)數(shù)器采用時(shí)序邏輯電路,從0開始計(jì)時(shí)到5后歸零,重新進(jìn)行開始計(jì)時(shí)。2.3.2六進(jìn)制計(jì)數(shù)器(不帶進(jìn)位端)程序代碼module liujinzhi(clk512,cout);output cout;input clk512;reg2:0 cout;always (posedge clk512)beginif(clk512) begin if(cout=3'b101)

8、cout<=0; else cout<=cout+3'b1; endelsecout<=cout;endendmodule仿真波形2.4 2分頻2.4.1 2分頻原理該模塊用于產(chǎn)生秒計(jì)數(shù)脈沖。2分頻即在每一個(gè)輸入脈沖的上升沿(或下降沿)取反即可得到。2.4.2 2分頻程序代碼module twofenpin (clk2,clk_out);output clk_out;input clk2;reg clk_out;always (posedge clk2)begin clk_out<=clk_out;endendmodule仿真波形:2.5十進(jìn)制計(jì)數(shù)器2.5.1十

9、進(jìn)制計(jì)數(shù)器原理十進(jìn)制計(jì)數(shù)器作為秒計(jì)數(shù)器和分計(jì)數(shù)器的低位,具有進(jìn)位輸出端和異步復(fù)位端,復(fù)位信號(hào)為高電平有效。它要求從0到9計(jì)數(shù),到九清零重新計(jì)數(shù)。采用時(shí)序邏輯電路。設(shè)計(jì)時(shí)應(yīng)考慮計(jì)數(shù)器能夠進(jìn)行級(jí)聯(lián)。2.5.2十進(jìn)制計(jì)數(shù)器程序代碼- 14 -module ji10(clk_1,reset,jinwei_1,d1);input clk_1,reset;output3:0 d1;output jinwei_1;reg3:0 d1;reg jinwei_1;always(posedge clk_1,posedge reset)beginif(reset)begind1<=4'b0;jinwe

10、i_1<=1'b0;endelse if(d1<4'd9)begind1<=d1+4'b1;jinwei_1<=1'b0;endelse if(d1=4'd9)begind1<=4'b0;jinwei_1<=1'b1;endendendmodule仿真波形:2.6六進(jìn)制計(jì)數(shù)器(含進(jìn)位端)2.6.1六進(jìn)制計(jì)數(shù)器(含進(jìn)位端)原理該六進(jìn)制計(jì)數(shù)器作為秒計(jì)數(shù)器和分計(jì)數(shù)器的高位, 具有進(jìn)位輸出端和異步復(fù)位端,復(fù)位信號(hào)為高電平有效。它要求從0到5計(jì)數(shù),到5清零重新計(jì)數(shù)。采用時(shí)序邏輯電路。設(shè)計(jì)時(shí)應(yīng)考慮計(jì)數(shù)器能夠進(jìn)行級(jí)聯(lián)

11、。2.6.2六進(jìn)制計(jì)數(shù)器(含進(jìn)位端)程序代碼module liu(reset,clk_2,d2,jinwei_2);output d2,jinwei_2;input reset,clk_2;reg2:0 d2;reg jinwei_2;always(posedge clk_2 or posedge reset)beginif(reset)begind2<=3'b0;jinwei_2<=1'b0;endelse if(d2=3'd5)begind2<=3'b0;jinwei_2<=1'b1;endelsebegind2<=d2

12、+3'b1;jinwei_2<=1'b0;endendendmodule仿真波形:2.7時(shí)計(jì)數(shù)器2.7.1時(shí)計(jì)數(shù)器原理該時(shí)計(jì)數(shù)器實(shí)際是一個(gè)24進(jìn)制計(jì)數(shù)器, 具有異步復(fù)位端,復(fù)位信號(hào)為高電平有效。它要求從0到23計(jì)數(shù),到23清零重新計(jì)數(shù)。采用時(shí)序邏輯電路。2.7.2時(shí)計(jì)數(shù)器程序代碼module shi(reset,d5,d6,dw_shi);output d5,d6;input reset,dw_shi;reg3:0 d5;reg1:0 d6;reg4:0 count;always(posedge reset or posedge dw_shi )begin if(rese

13、t) begin d5<=4'b0; d6<=2'b0; count<=5'b0; end else if(count=5'd23) begin d5<=4'b0; d6<=2'b0; count<=5'b0; end else begin count=count+5'b1; d5<=count%5'd10; d6<=count/5'd10; endendendmodule 仿真波形:2.8六選一多路選擇器2.8.1六選一多路選擇器原理六選一多路選擇器通過六進(jìn)制計(jì)數(shù)器

14、的輸出信號(hào)控制實(shí)現(xiàn)了對(duì)計(jì)數(shù)器產(chǎn)生的脈沖信號(hào)的選擇性輸出。加入此模塊是為了實(shí)現(xiàn)數(shù)碼管的動(dòng)態(tài)掃描輸出。六選一多路選擇器的輸入是一個(gè)三位二進(jìn)制數(shù),輸出是計(jì)時(shí)器、計(jì)分器、計(jì)秒器的高位或低位。2.8.2六選一多路選擇器程序代碼module liutoyi(cin,d1,d2,d3,d4,d5,d6,cout);input2:0cin;input3:0d1,d3,d5;input2:0d2,d4;input1:0d6;output3:0cout;reg3:0cout;always(cin)case(cin)3'b000:cout<=d1;3'b001:cout<=d2;3

15、9;b010:cout<=d3;3'b011:cout<=d4;3'b100:cout<=d5;3'b101:cout<=d6;endcaseendmodule仿真波形:2.9位選端控制器2.9.1位選端控制器原理該數(shù)字鐘采用動(dòng)態(tài)掃描方式輸出,數(shù)碼管每一時(shí)刻只有一個(gè)在亮,因?yàn)榍袚Q頻率超過人眼識(shí)別能力,所以可以認(rèn)為它們是同時(shí)亮的。位選端控制器通過六進(jìn)制計(jì)數(shù)器的輸出決定哪一個(gè)數(shù)碼管亮。位選端控制器實(shí)際是一個(gè)3-6譯碼器。當(dāng)輸入是三位2進(jìn)制數(shù)時(shí),輸出為6位2進(jìn)制數(shù)。2.9.2位選端控制器程序代碼module weixuan(cin,v);output

16、v;input3:0 cin;reg5:0 v;always(cin)case(cin)3'b000:v<=6'b111110;3'b001:v<=6'b111101;3'b010:v<=6'b111011;3'b011:v<=6'b110111;3'b100:v<=6'b101111;3'b101:v<=6'b011111;default:v<=6'b111111;endcaseendmodule2.10七段譯碼器2.10.1七段譯碼器原理七段譯碼

17、器是對(duì)輸入的信號(hào)對(duì)應(yīng)的位置進(jìn)行編碼,使其能顯示出輸入的數(shù)的值。本文所介紹的譯碼器將小數(shù)點(diǎn)dp通過位拼接符將其與計(jì)數(shù)器的計(jì)數(shù)值組合,然后一同給到譯碼管,便于輸出。計(jì)時(shí)器低位的小數(shù)點(diǎn)要求常亮,即dp=1;計(jì)分器的低位小數(shù)點(diǎn)要求以1Hz的頻率閃爍,可以讓它以2分頻的輸出為值。2.10.2七段譯碼器程序代碼module yimaguan(cin_7,cout_7,xuan_tong,clk_dp);input3:0 cin_7;output cout_7;reg dpy;input clk_dp;input2:0 xuan_tong;reg7:0 cout_7;always(xuan_tong)cas

18、e(xuan_tong)3'b100:dpy<=1'b1;3'b010:dpy<=clk_dp;default:dpy<=1'b0;endcasealways(cin_7)case(cin_7)4'b0000:cout_7<=dpy,7'b0111111;4'b0001:cout_7<=dpy,7'b0000110;4'b0010:cout_7<=dpy,7'b1011011;4'b0011:cout_7<=dpy,7'b1001111;4'b010

19、0:cout_7<=dpy,7'b1100110;4'b0101:cout_7<=dpy,7'b1101101;4'b0110:cout_7<=dpy,7'b1111101;4'b0111:cout_7<=dpy,7'b0000111;4'b1000:cout_7<=dpy,7'b1111111;4'b1001:cout_7<=dpy,7'b1101111;endcaseendmodule2.11綜合模塊2.11.1綜合模塊原理綜合模塊采用模塊例化的方法實(shí)現(xiàn)。2.11.2

20、綜合模塊程序代碼module zonghe(reset,hour_add,f64,min_add,f2,f512,z_out,z_wx);input reset,hour_add,f64,min_add,f2,f512;output 7:0 z_out;output5:0 z_wx;wire f_2,x1,x2,m1,f1,j1,j2,j3,j4,huo1,huo2;wire3:0 dd1,dd3,dd5,qi1;wire2:0 dd2,dd4,six1;wire1:0 dd6;xiaodou xd1(.BJ_CLK(f64),.BUTTON_IN(min_add),.BUTTON_OUT(x

21、1);xiaodou xd2(.BJ_CLK(f64),.BUTTON_IN(hour_add),.BUTTON_OUT(x2);twofenpin tfp1(.clk2(f2),.clk_out(f_2);ji10 ji101(.clk_1(f_2),.reset(reset),.jinwei_1(j1),.d1(dd1);liu l1(.reset(reset),.clk_2(j1),.d2(dd2),.jinwei_2(j2);huo h1(.in_1(x1),.in_2(j2),.huo_out(huo1);ji10 ji102(.clk_1(huo1),.reset(reset),.jinwei_1(j3),.d1(dd3);liu l2(.reset(reset),.clk_2(j3),.d2(dd4),.jinwei_2(j4);huo h2(.in_1(x2),.in_2(j4),.huo_out(huo2);shi sh1(.reset(reset),.d5(dd5),.d6(dd6),.dw_shi(huo2);liutoyi li1(.cin(six1),.d1(dd1),.d2(dd2),.d3(dd3),.d4(dd4),.d5(dd5),.d6(dd6),.cout(qi1);l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論