




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 多功能數(shù)字鐘設(shè)計實(shí)驗(yàn)報告 院系:電子與通信工程學(xué)院 姓名:郭世康 班級:1301 學(xué)號:U201313639 指導(dǎo)教師:唐祖平一、 實(shí)驗(yàn)?zāi)繕?biāo) 掌握可編程邏輯器件的應(yīng)用開發(fā)技術(shù)設(shè)計輸入、編譯、仿真和器件編程 熟悉EDA軟件使用 掌握Verilog HDL設(shè)計方法 分模塊、分層次數(shù)字系統(tǒng)設(shè)計 二、 實(shí)驗(yàn)內(nèi)容要求 基本功能 能顯示小時、分鐘、秒鐘(時、分用顯示器,秒用LED) 能調(diào)整小時、分鐘的時間 提高要求 任意鬧鐘;(1分) 小時為12/24進(jìn)制可切換(1分) 報正點(diǎn)數(shù)(幾點(diǎn)鐘LED閃爍幾下)(1分)三、 實(shí)驗(yàn)條件Xilinx工程環(huán)境,win7操作系統(tǒng),BASYS2實(shí)驗(yàn)板。四、 實(shí)驗(yàn)設(shè)計1.設(shè)
2、計分析 數(shù)字鐘大體上由2個60進(jìn)制計數(shù)器,1個24進(jìn)制計數(shù)器構(gòu)成,中間有數(shù)據(jù)選擇器進(jìn)行連接。為實(shí)現(xiàn)提高功能,還需12進(jìn)制計數(shù)和整點(diǎn)判斷模塊。下圖為數(shù)字鐘層次結(jié)構(gòu)圖。2. 實(shí)驗(yàn)原理 振蕩器產(chǎn)生穩(wěn)定的高頻脈沖信號,作為數(shù)字鐘的時間基準(zhǔn),再經(jīng)分頻器輸出標(biāo)準(zhǔn)秒脈沖。秒計數(shù)器計滿60后向分計數(shù)器進(jìn)位,分計數(shù)器滿60后向小時計數(shù)器進(jìn)位,小時計數(shù)器按24或12進(jìn)制規(guī)律計數(shù)。計數(shù)器的輸送譯碼顯示電路,即可顯示出數(shù)碼(即時間)。計時出現(xiàn)誤差時可以用校時電路進(jìn)行校時和校分。小時顯示(1224)切換電路、仿電臺報時、定時鬧鐘為擴(kuò)展電路,只有在計時主體電路正常運(yùn)行的情況下才能進(jìn)行功能擴(kuò)展。本實(shí)驗(yàn)采用Verilog H
3、DL進(jìn)行描述,然后用FPGA/CPLD實(shí)現(xiàn),使用內(nèi)部50MHz晶振作為時鐘電路。3. 邏輯設(shè)計 實(shí)現(xiàn)上述功能的Verilog HDL 程序如下。實(shí)現(xiàn)基本功能的程序分為兩層次四個模塊,底層有3個模塊構(gòu)成,即6進(jìn)制計數(shù)器模塊,10進(jìn)制計數(shù)器模塊和24進(jìn)制計數(shù)器模塊,頂層有一個模塊,他調(diào)用底層的3個模塊完成數(shù)字中的計時功能。 module timeclock(Hour,Minute,Second,CP,nCR,EN,Adj_Min,Adj_Hour,number,Light,clk,temp,change,AMTM,dingdong); output 7:0 Hour,Minute,Second;
4、output 3:0 Light,temp; output 6:0 number; output clk,AMTM,dingdong;/clk為分頻之后的時鐘信號,頻率為1Hz,AMTM為24進(jìn)制轉(zhuǎn)換12進(jìn)制時表明上下午的變量,dingdong為整點(diǎn)報時時的閃爍信號。 input CP;/輸入的時鐘信號,需分頻后才能正常使用。 input nCR;/清零 input EN,change;/EN為使能信號,change為12/24進(jìn)制轉(zhuǎn)換開關(guān)。 input Adj_Min;/校分控制 input Adj_Hour; /校時控制 wire 7:0 Hour,Minute,Second; reg c
5、lk; reg 29:0 count,count1;/分頻需要的計數(shù)器 reg 1:0 scan;/掃描時需要的計數(shù)器 reg 3:0 Light,temp;/4Bit 變量Light代表四個數(shù)碼管,temp表示數(shù)碼管需要顯示的數(shù)字 reg 6:0 number;/number代表7個發(fā)光二極管 reg clk1;/為分頻后的掃描頻率 supply1 Vdd; wire MinL_EN,MinH_EN,Hour_EN;/中間變量/ Hour,Minute,Second counter/ /60進(jìn)制秒計數(shù)器 counter10 U1(Second3:0,nCR,EN,clk);/個位 count
6、er6 U2(Second7:4,nCR,(Second3:0=4h9),clk);/十位/產(chǎn)生分鐘計數(shù)器使能信號。Adj_Min=1,校正分鐘;Adj_Min=0,分鐘正常計時 assign MinL_EN=Adj_Min?Vdd:(Second=8h59); assign MinH_EN=(Adj_Min&(Minute3:0=4h9)|(Minute3:0=4h9)&(Second=8h59); /60進(jìn)制分鐘計數(shù)器 counter10 U3(Minute3:0,nCR,MinL_EN,clk); counter6 U4(Minute7:4,nCR,MinH_EN,clk);/產(chǎn)生小時計
7、數(shù)器使能信號。Adj_Hour=1,校正小時;Adj_Hour=0,小時正常計時 assign Hour_EN=Adj_Hour?Vdd:(Minute=8h59)&(Second=8h59);/24進(jìn)制和12進(jìn)制可切換的小時計數(shù)器 counter24 U5(Hour7:4,Hour3:0,nCR,Hour_EN,clk,change,AMTM);/整點(diǎn)報時模塊 dingdong U6(clk,nCR,Minute7:4,Minute3:0,Hour7:4,Hour3:0,dingdong); /分頻 always (posedge CP) begin if(nCR) count=30d00;
8、 else if(count=30d25000000) begin count=30d00; clk=clk; end else count=count+1b1; end/產(chǎn)生1Hz的頻率 always (posedge CP) begin if(nCR) count1=30d00; else if(count1=30d100000) begin count1=30d00; clk1=clk1; end else count1=count1+1b1; end/產(chǎn)生掃描用的頻率/掃描計數(shù)器 always (posedge clk1) begin if(nCR) scan=2b00; else i
9、f(scan=2b11) scan=2b00; else scan=scan+1b1; end/掃描 always (scan1:0) begin case(scan1:0) 2b00: Light=4b0111; 2b01: Light=4b1011; 2b10: Light=4b1101; 2b11: Light=4b1110; endcase end/顯示數(shù)字 always (scan1:0) begin case(scan1:0) 2b00: temp=Hour7:4; 2b01: temp=Hour3:0; 2b10: temp=Minute7:4; 2b11: temp=Minut
10、e3:0; endcase endalways (temp) begin case(temp) 4d0:number=7b0000001; /0 4d1:number=7b1001111; /1 4d2:number=7b0010010; /2 4d3:number=7b0000110; /3 4d4:number=7b1001100; /4 4d5:number=7b0100100; /5 4d6:number=7b0100000; /6 4d7:number=7b0001111; /7 4d8:number=7b0000000; /8 4d9:number=7b0000100; /9 de
11、fault:number=7b0000001; endcase end endmodulemodule dingdong(clk,ncr,minuteh,minutel,hourh,hourl,dingdong); input ncr; input clk; input 3:0 minuteh,minutel; input 3:0 hourh,hourl; output reg dingdong; integer i=0; reg en; always(posedge clk or negedge ncr) begin if(ncr) begin dingdong=0; end else if
12、(minuteh=4d5)&(minutel=4d9) begin i=0; en=1; end else if(i(hourh*20+hourl*2)&(en) begin dingdong=dingdong; i=i+1; end else if(i=(hourh*20+hourl*2) en=0; else dingdong=0; end endmodulemodule counter10(Q,nCR,EN,CP); output 3:0 Q; input CP; input nCR; input EN; reg 3:0 Q; always (posedge CP or negedge
13、nCR) begin if(nCR) Q=4b0000;/nCR=0,計數(shù)器被異步清零 else if(EN) Q=Q;/EN=0,暫停計數(shù) else if(Q=4b1001) Q=4b0000; else Q=Q+1b1;/計數(shù)器增加1 endendmodulemodule counter6(Q,nCR,EN,CP); output 3:0 Q; input CP; input nCR; input EN; reg 3:0 Q; always (posedge CP or negedge nCR) begin if(nCR) Q=4b0000; else if(EN) Q=Q; else i
14、f(Q=4b0101) Q=4b0000; else Q=Q+1b1; endendmodulemodule counter24(CntH,CntL,nCR,EN,CP,change,AMTM); output 3:0 CntH; output 3:0 CntL; output AMTM; input nCR; input EN; input CP,change; reg 3:0 CntH,CntL; reg AMTM; always (posedge CP or negedge nCR) begin if(nCR) CntH,CntL=8h00;/清零 else if(change=0)/判
15、斷12或者24小時進(jìn)制。change=0時為24進(jìn)制,change=1時為12進(jìn)制 begin AMTM=0;/上下午顯示關(guān)閉if(EN) CntH,CntL4b0010)|(CntL4b1001)|(CntH=4b0010)&(CntL=4b0011) CntH,CntL=8h00; else if(CntH=4b0010)&(CntL4b0011) begin CntH=CntH; CntL=CntL+1b1; end else if(CntL=4b1001) begin CntH=CntH+1b1; CntL=4b0000; end else begin CntH=CntH; CntL=
16、4b0001&CntL4b0010) begin CntH=CntH-1b1; CntL=CntL-2b10; AMTM=1; end/AMTM=1.,表示為下午 else if(EN) CntH,CntL4b0001)|(CntL4b1001)|(CntH=4b0001)&(CntL=4b0010) begin CntH,CntL=8h01; AMTM=AMTM; end/完成一次12小時計數(shù),AMTM翻轉(zhuǎn)一次,表示上下午的轉(zhuǎn)換 else if(CntH=4b0001)&(CntL4b0001) begin CntH=CntH; CntL=CntL+1b1; end else if(CntL
17、=4b1001) begin CntH=CntH+1b1; CntL=4b0000; end else begin CntH=CntH; CntL=CntL+1b1; end end end/12進(jìn)制小時計數(shù)完成 endendmodule4.仿真波形Counter10:Counter6:Counter24:24進(jìn)制時:12進(jìn)制時:總體波形: 注:number,temp等沒有顯示,change=0,即仿真波形為24進(jìn)制。五、 調(diào)試過程1. 調(diào)試步驟首先設(shè)置引腳接口,其代碼如下:引腳代碼:NET Light0 LOC = F12;NET Light1 LOC = J12;NET Light2 LO
18、C = M13;NET Light3 LOC = K14;NET number6 LOC = L14;NET number5 LOC = H12;NET number4 LOC = N14;NET number3 LOC = N11;NET number2 LOC = P12;NET number1 LOC = L13;NET number0 LOC = M12;NET Second0 LOC = M5;NET CP LOC = B8;NET nCR LOC = L3;NET EN LOC = P11;NET Adj_Hour LOC = B4;NET Adj_Min LOC = K3;NET change LOC = G3;NET AMTM LOC = M11;NET dingdong LOC = P7;接著連接BASYS2實(shí)驗(yàn)板,將程序下載到板子上,觀看結(jié)果。2. 調(diào)試過程中遇到的問題及解決辦法在調(diào)試過程中,觀察到四個數(shù)碼管都顯示為8,通過檢查確定原因?yàn)閽呙桀l率過高,將掃描頻率降低,結(jié)果正常顯示。3. 實(shí)驗(yàn)結(jié)果在BASYS2實(shí)驗(yàn)板上觀
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 烏魯木齊房產(chǎn)轉(zhuǎn)讓合同范例
- 中介介紹分紅合同范例
- 供用沙合同范例
- 加裝電梯銷售合同范例
- 代理轉(zhuǎn)包合同范例
- 親人之間借貸合同范例
- 烏魯木齊店鋪轉(zhuǎn)讓合同范例
- 交通疏解合同范例
- oem貼牌合同范例
- 人才入住合同范例
- 2025年江西工業(yè)貿(mào)易職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫帶答案
- (正式版)JBT 14449-2024 起重機(jī)械焊接工藝評定
- L阿拉伯糖與排毒課件
- 《沖壓工藝與模具設(shè)計》知識點(diǎn) (2)
- T∕CACM 1064-2018 針刀醫(yī)學(xué)臨床 通用要求
- 堅(jiān)持“三三三”工作法 打造安全型班組
- 電氣工程及其自動化基礎(chǔ)知識(培訓(xùn))
- LED投光燈產(chǎn)品說明書
- 研發(fā)費(fèi)用明細(xì)表模板
- 日本文學(xué)史試卷
- 小學(xué)畢業(yè)計算題專題訓(xùn)練22套(共25頁)
評論
0/150
提交評論