版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2015-2016 學(xué)年度第二學(xué)期電子技術(shù)基礎(chǔ)課程設(shè)計(jì)-數(shù)字頻率計(jì)設(shè)計(jì)院系:自動(dòng)化學(xué)院專業(yè):自動(dòng)化班級:姓名:學(xué)號:指導(dǎo)教師:一、設(shè)計(jì)目的與要求3二、需求分析及創(chuàng)意3三、系統(tǒng)方案及技術(shù)路線4四、設(shè)計(jì)原理51、基本原理52、模塊原理5五、設(shè)計(jì)內(nèi)容61、分頻模塊62、方波發(fā)生器模塊63、五位十進(jìn)制計(jì)數(shù)器模塊74、鎖存模塊96、編譯仿真15六、輸入輸出設(shè)計(jì)15八、實(shí)驗(yàn)總結(jié)171、心得體會(huì)172、待改進(jìn)的問題183、功能擴(kuò)展19九、參考書目19十、附錄19一、設(shè)計(jì)目的與要求設(shè)計(jì)一個(gè)數(shù)字頻率計(jì),其技術(shù)要求如下:(1)測量頻率范圍: 1Hz100kHz。(2)準(zhǔn)確度fx/fx2%。(3)測量信號:方波,峰
2、峰值為3V5V。(4)使用數(shù)碼管顯示測量的信號頻率(測量低頻信號時(shí)可以只顯示測量信號的周期)。二、需求分析及創(chuàng)意頻率計(jì)的主要功能是準(zhǔn)確測量出待測頻率的頻率、 周期、脈寬及占空比。 在電子技術(shù)中,頻率是最基本的參數(shù)之一, 并且與許多電參量的測量方案、 測量結(jié)果都有十分密切的關(guān)系,因此頻率的測量就顯得更為重要。測量頻率的方法有多種 , 其中電子計(jì)數(shù)器測量頻率具有精度高、 使用方便、 測量迅速,以及便于實(shí)現(xiàn)測量過程自動(dòng)化等優(yōu)點(diǎn),是頻率測量的重要手段之一。電子計(jì)數(shù)器測頻有兩種方式:一是直接測頻法 (高頻 ),即在一定閘門時(shí)間內(nèi)測量被測信號的脈沖個(gè)數(shù);二是間接測頻法,如周期測頻法(低頻) 。直接測頻法適
3、用于高頻信號的頻率測量,間接測頻法適用于低頻信號的頻率測量。本設(shè)計(jì)中分別以圖形設(shè)計(jì)方法為主和VHDL語言為主的兩種形式進(jìn)行設(shè)計(jì)。在這次設(shè)計(jì)過程中, 我們設(shè)計(jì)了兩套測量頻率計(jì)的方案。 下面分別闡述。 第一種方案,主要是通過一個(gè)計(jì)數(shù)器,在 1 秒時(shí)間內(nèi),當(dāng)有待測信號上升沿產(chǎn)生時(shí),開始計(jì)數(shù)。最后送到顯示模塊顯示。 而占空比,則是通過分別計(jì)算高電平時(shí)間和低電平時(shí)間,從而得到占空比數(shù)值。應(yīng)該說這種方法,更接近于測頻法的思想。通過實(shí)驗(yàn)的檢測,發(fā)現(xiàn)與實(shí)驗(yàn)儀器(信號發(fā)生器)的最大誤差只有± 10,所以,在測量頻率不是特別大的范圍內(nèi), 這種設(shè)計(jì)方案, 筆者認(rèn)為應(yīng)該可以接受。 而第二種方案,則是對于不同
4、大小的頻率, 通過測頻法和測周法, 進(jìn)行選擇輸出頻率值大小。三、系統(tǒng)方案及技術(shù)路線低頻信號的測量(測周期法1HZ10KHZ):所謂頻率就是在單位時(shí)間(1s)內(nèi)周期信號的變化次數(shù)。 若在一定時(shí)間間隔T 內(nèi)測得周期信號的重復(fù)變化次數(shù)為N,則其頻率為 f=N/T,據(jù)此,同樣對于低于10KHZ的信號,我們采用測周期法,時(shí)標(biāo)為 50MHZ,其誤差遠(yuǎn)遠(yuǎn)小于 0.001,故可達(dá)到指標(biāo)要求測周法原理 : 假設(shè)基準(zhǔn)時(shí)鐘信號的周期為Ts(頻率為fs),被測信號的周期我Tw,用被測信號控制測量計(jì)數(shù)器進(jìn)行計(jì)數(shù),當(dāng)被測信號一個(gè)周期結(jié)束后,讓計(jì)數(shù)器停止計(jì)數(shù),若計(jì)數(shù)器數(shù)值為Nx, 被測信號的周期為Tw=Nx*Ts其頻率為f
5、x=fs*Nx這種測頻方法實(shí)際上是通過測量被測信號周期后, 再經(jīng)過換算得到被測信號頻率的,它適合于被測信號原低于基準(zhǔn)時(shí)鐘信號頻率的場合。 用這種方法測量時(shí),測試精度與計(jì)數(shù)器中記錄的 Nx 有關(guān),由于被測信號一個(gè)周期的時(shí)間長度不一定正好為基準(zhǔn)時(shí)鐘信號周期的整數(shù)倍,因此計(jì)數(shù)器的計(jì)數(shù)值會(huì)產(chǎn)生±1 個(gè)值的誤差。高頻信號的測量 (測頻法 10KHZ10MHZ):由于我們很難得到準(zhǔn)確的1hz 頻率,故在這里我們采用等精度測量法,這樣就可以不必考慮1s 信號的精確度的影響。閘門時(shí)間不是固定值 ,而是被測信號周期的整數(shù)倍 ,即與被測信號同步 .因此排除了對被測信號計(jì)數(shù)所產(chǎn)生的 1 個(gè)周期誤差 ,并且
6、達(dá)到了在整個(gè)測試頻段的等精度測量 .在測量過程中 ,有兩個(gè)計(jì)數(shù)器分別對標(biāo)準(zhǔn)信號和被測信號同時(shí)計(jì)數(shù) .首先給出閘門開啟信號 (預(yù)置閘門上升沿 ),此時(shí)計(jì)數(shù)器并不開始計(jì)數(shù) .而是等到被測信號的上升沿到來時(shí) ,計(jì)數(shù)器才真正開始計(jì)數(shù) .然后預(yù)置閘門關(guān)閉信號 (下降沿到時(shí) ),計(jì)數(shù)器并不立即停止計(jì)數(shù) ,而是等到被測信號的上升沿到來時(shí)才開始結(jié)束計(jì)數(shù) ,完成一次測量過程 .設(shè)在一次實(shí)際閘門時(shí)間 t 中計(jì)數(shù)器對被測信號的計(jì)數(shù)值為 Nx,對標(biāo)準(zhǔn)信號的計(jì)數(shù)值為 Ns, 標(biāo)準(zhǔn)信號的頻率為 fs,則被測信號的頻率為 fx=Nx/Nsfs。由推斷 (此處省略 )得測量頻率的相對誤差 =1/tfs由上式可看出測量頻率的相
7、對誤差與被測信號頻率的大小無關(guān),僅與閘門時(shí)間和標(biāo)準(zhǔn)信號頻率有關(guān) .閘門時(shí)間越長 ,標(biāo)準(zhǔn)頻率越高測頻的相對誤差就越小 .標(biāo)準(zhǔn)頻率可由穩(wěn)定性好 ,精度高的高頻率晶振產(chǎn)生 ,在保證測量精度不變的前提下 ,提高標(biāo)準(zhǔn)信號頻率 ,可使閘門時(shí)間縮短 ,即提高測試速度 .可實(shí)現(xiàn)四、設(shè)計(jì)原理1、基本原理頻率測量的基本原理是計(jì)算每秒鐘內(nèi)待測信號的脈沖個(gè)數(shù)。這就要求 sysclk能產(chǎn)生一個(gè) 1s 脈寬的周期信號,并對頻率計(jì)的每一個(gè)計(jì)數(shù)器cntp 的使能端進(jìn)行同步控制。當(dāng) clK_cnt 高電平時(shí)允許計(jì)數(shù),并保持其所計(jì)的數(shù)。在停止計(jì)數(shù)期間,首先需要一個(gè)鎖存信號將計(jì)數(shù)器在前1s 的計(jì)數(shù)值鎖存進(jìn)鎖存器reg中,并由外部的
8、 7 段譯碼器譯出并穩(wěn)定顯示。原理圖如圖1-1基準(zhǔn)信號被測分 頻 模信脈沖形計(jì) 數(shù) 模量 程 切換模塊成模塊塊清零譯碼???制 模塊使能鎖存圖 1-12、模塊原理根據(jù)數(shù)字頻率計(jì)的基本原理,本文設(shè)計(jì)方案的基本思想是分為五個(gè)模塊來實(shí)現(xiàn)其功能,即整個(gè)數(shù)字頻率計(jì)系統(tǒng)分為分頻模塊、控制模塊、計(jì)數(shù)模塊、譯碼模塊和量程自動(dòng)切換模塊等幾個(gè)單元, 并且分別用 VerilogHDL對其進(jìn)行編程, 實(shí)現(xiàn)了閘門控制信號、計(jì)數(shù)電路、鎖存電路、顯示電路等。五、設(shè)計(jì)內(nèi)容1、分頻模塊由于晶體振蕩器提供的為50MHz 的時(shí)鐘,而在整個(gè)頻率計(jì)里將用到周期為2s ,半個(gè)周期為 1s 的閘門信號,所以我們在此模塊先分頻產(chǎn)生0.5Hz
9、 的分頻信號。always(posedge sysclk)beginif(cnt=50_000_000)beginclk_cnt<=clk_cnt;cnt<=0;endelsebegincnt<=cnt+1'b1;endend由程序中的clk_cnt<=clk_cnt;cnt<=0;得知會(huì)產(chǎn)生我們想要的周期為2s 的clk_int 信號。仿真結(jié)果如圖1-2.圖 1-22、方波發(fā)生器模塊always(posedge sysclk)beginif(cnt1=500)beginclk_out<=clk_out;cnt1<=0;endelsebegin
10、cnt1<=cnt1+1'b1;endend由于在寢室做測試時(shí)缺少了信號發(fā)生器,所以添加了一個(gè)方波發(fā)生的模塊。如上面程序中所示,當(dāng)出 cnt1=500 時(shí),可以產(chǎn)生 50000HZ的方波,通過改變出 cnt1的數(shù)值調(diào)出不同頻率的方波從clk_out 輸出到 clkin,進(jìn)行方波頻率計(jì)數(shù)。3、五位十進(jìn)制計(jì)數(shù)器模塊5 位十進(jìn)制計(jì)數(shù)器模塊包含 5 位十進(jìn)制的計(jì)數(shù)器, 用來對施加到時(shí)鐘脈沖輸入端的待測信號產(chǎn)生的脈沖進(jìn)行計(jì)數(shù), 十進(jìn)制計(jì)數(shù)器具有清零控制和進(jìn)位擴(kuò)展輸出的功能。always(posedge clkin)beginif(clk_cnt)beginif(cntp1='b10
11、01)begincntp1<='b0000;cntp2<=cntp2+1;if(cntp2='b1001)begincntp2<='b0000;cntp3<=cntp3+1;if(cntp3='b1001)begincntp3<='b0000;cntp4<=cntp4+1;if(cntp4='b1001)begincntp4<='b0000;cntp5<=cntp5+1;if(cntp5='b1001)begincntp5<='b0000;endendendendend
12、elsebegincntp1<=cntp1+1;endend本程序采用的是以累加的方法結(jié)合巧妙地if 語句進(jìn)行四重循環(huán),實(shí)現(xiàn)四位十進(jìn)制不同的高低級別,實(shí)現(xiàn)計(jì)數(shù)。一位十進(jìn)制原理圖仿真如圖1-3 。圖 1-3五位十進(jìn)制原理圖仿真如圖1-4 。圖 1-44、鎖存模塊如果計(jì)數(shù)器輸出直接與譯碼器相連接,那么在計(jì)數(shù)過程中輸出端則隨輸入脈沖數(shù)的增加而不斷跳變, 那么顯示數(shù)碼管則也會(huì)不斷閃爍跳變,讓人不能看到穩(wěn)定的輸出,設(shè)鎖存器后,則不再跳變,便可清晰讀出計(jì)數(shù)結(jié)果。其生成的功能模塊如圖所示:if(cntp1!='b0000|cntp2!='b0000|cntp3!='b0000|
13、cntp4!='b0000|cntp5!='b0000 )begincntq1<=cntp1;cntq2<=cntp2;cntq3<=cntp3;cntq4<=cntp4;cntq5<=cntp5;cntp1<='b0000;cntp2<='b0000;cntp3<='b0000;cntp4<='b0000;cntp5<='b0000;end/5、清零復(fù)位模塊采用一個(gè)開關(guān)作為rst 復(fù)位信號, 當(dāng) rst 置 0 時(shí),5 個(gè) cntq 寄存器賦 0,從而5 個(gè)數(shù)碼管顯示0,同時(shí)
14、5 個(gè)計(jì)數(shù)單元 cntp 也清零,為下次閥門信號時(shí)計(jì)數(shù)做準(zhǔn)備。if(cntp1!='b0000|cntp2!='b0000|cntp3!='b0000|cntp4!='b0000|cntp5!='b0000 )begincntq1<=cntp1;cntq2<=cntp2;cntq3<=cntp3;cntq4<=cntp4;cntq5<=cntp5;cntp1<='b0000;cntp2<='b0000;cntp3<='b0000;cntp4<='b0000;cntp5&
15、lt;='b0000;end/6、譯碼顯示模塊選擇另一個(gè)開關(guān)作為量程選擇信號rst1 ,當(dāng)rst1=0時(shí),將cntq1 ,cntq2,cntq3,cntq4的值分別賦給seg1,seg2,seg3,seg3,seg4這4個(gè)7位共陽極數(shù)碼管顯示的信號(即顯示5 位數(shù)頻率的后4 位),當(dāng) rst1=1時(shí),將cntq5的值賦給 seg1 ,再把 seg2,seg3,seg4分別置為 所0對應(yīng)的顯示碼。還有一種顯示方式是吧cntq5 的值直接賦給 led 3:0, 直接用 4 個(gè)二極管顯示(用二進(jìn)制表示)。beginif(rst1)begincase(cntq13:0)4'b0000:
16、begin seg16:0=7'b0000001;end4'b0001:seg16:0=7'b1001111;4'b0010:seg16:0=7'b0010010;4'b0011:seg16:0=7'b0000110;4'b0100:seg16:0=7'b1001100;4'b0101:seg16:0=7'b0100100;4'b0110:seg16:0=7'b1100000;4'b0111:seg16:0=7'b0001111;4'b1000:seg16:0=7
17、39;b0000000;4'b1001:seg16:0=7'b0000100;default:seg16:0='bX;endcasecase(cntq23:0)4'b0000:begin seg26:0=7'b0000001;end4'b0001:seg26:0=7'b1001111;4'b0010:seg26:0=7'b0010010;4'b0011:seg26:0=7'b0000110;4'b0100:seg26:0=7'b1001100;4'b0101:seg26:0=7
18、9;b0100100;4'b0110:seg26:0=7'b1100000;4'b0111:seg26:0=7'b0001111;4'b1000:seg26:0=7'b0000000;4'b1001:seg26:0=7'b0000100;default:seg26:0='bX;endcasecase(cntq33:0)4'b0000:begin seg36:0=7'b0000001;end4'b0001:seg36:0=7'b1001111;4'b0010:seg36:0=7'
19、;b0010010;4'b0011:seg36:0=7'b0000110;4'b0100:seg36:0=7'b1001100;4'b0101:seg36:0=7'b0100100;4'b0110:seg36:0=7'b1100000;4'b0111:seg36:0=7'b0001111;4'b1000:seg36:0=7'b0000000;4'b1001:seg36:0=7'b0000100;default:seg36:0='bX;endcasecase(cntq43:0)
20、4'b0000:begin seg46:0=7'b0000001;end4'b0001:seg46:0=7'b1001111;4'b0010:seg46:0=7'b0010010;4'b0011:seg46:0=7'b0000110;4'b0100:seg46:0=7'b1001100;4'b0101:seg46:0=7'b0100100;4'b0110:seg46:0=7'b1100000;4'b0111:seg46:0=7'b0001111;4'b1000
21、:seg46:0=7'b0000000;4'b1001:seg46:0=7'b0000100;default:seg46:0='bX;endcase/*case(cntq53:0)4'b0000:begin led3:0=4'b0000;end4'b0001:led3:0=4'b0001;4'b0010:led3:0=4'b0010;4'b0011:led3:0=4'b0011;4'b0100:led3:0=4'b0100;4'b0101:led3:0=4'b0101
22、;4'b0110:led3:0=4'b0110;4'b0111:led3:0=4'b0111;4'b1000:led3:0=4'b1000;4'b1001:led3:0=4'b1001;default:led3:0='bX;endcase*/endelsebeginseg46:0=7'b0000001;seg26:0=7'b0000001;seg36:0=7'b0000001;case(cntq53:0)4'b0000:begin seg16:0=7'b0000001;end4
23、9;b0001:seg16:0=7'b1001111;4'b0010:seg16:0=7'b0010010;4'b0011:seg16:0=7'b0000110;4'b0100:seg16:0=7'b1001100;4'b0101:seg16:0=7'b0100100;4'b0110:seg16:0=7'b1100000;4'b0111:seg16:0=7'b0001111;4'b1000:seg16:0=7'b0000000;4'b1001:seg16:0=7
24、9;b0000100;default:seg16:0='bX;endcaseend6、編譯仿真最后的程序的編譯仿真結(jié)果如圖1-5 。圖 1-5六、輸入輸出設(shè)計(jì)如圖所示各引腳分配七、系統(tǒng)實(shí)測從I/O接口分別有兩個(gè)輸入波形和輸出波形接口。撥動(dòng)開關(guān)switch0為復(fù)位開關(guān),下?lián)芎螅傧乱粋€(gè)輸入波形上升沿到來時(shí),將會(huì)刷新數(shù)碼管至0。撥動(dòng)開關(guān) switch1 為量程顯示開關(guān),上撥時(shí)數(shù)碼管顯示低4 位數(shù)值,下?lián)軙r(shí)顯示第五位最高位數(shù)值。八、實(shí)驗(yàn)總結(jié)1、心得體會(huì)拿到課設(shè)題目后我首先去網(wǎng)上查找了一些關(guān)于頻率計(jì)的原理, 然后又去找來了我們學(xué)校的參考書 verilog hdl 與數(shù)字 asic 這部書,了解
25、了測頻法和測周法兩種基本的實(shí)驗(yàn)原理,然后選擇了邏輯較為簡單的測頻法。即在閥門信號1s 高電平內(nèi)計(jì)數(shù)被測信號的脈沖個(gè)數(shù)并且鎖存下來送到數(shù)碼顯示管顯示。接著開始復(fù)習(xí)了一些基礎(chǔ)的verilog 語法,由于大二數(shù)電中只是簡單介紹了相關(guān)語句,所以這一過程也進(jìn)行地比較艱辛。主要采用了always 相關(guān)語句進(jìn)行邏輯描述。然后利用大二的一些實(shí)驗(yàn)課件,熟悉了quartus2 的使用方法,如何仿真,調(diào)試等等,也熟悉了de0 板子的各個(gè)模塊功能和引腳分配。在顯示模塊,也花了一些心思, 開始想用動(dòng)態(tài)譯碼的方法讓數(shù)碼管輪流顯示,發(fā)現(xiàn) de0 板子并不支持動(dòng)態(tài)譯碼,于是又改為靜態(tài)譯碼,一次性把數(shù)值送到4位數(shù)碼管。碰到比較
26、麻煩的問題是,題目要求 100kHZ的顯示,這就要求 5 位數(shù)碼管了,但是 de0 只有 4 位數(shù)碼管。于是想了 3 種解決方法:(1)采用一個(gè)量程轉(zhuǎn)換開關(guān),開始顯示低四位,撥動(dòng)后顯示最高一位; (2)用 4 位 led 燈來二進(jìn)制地顯示最高位,數(shù)碼管顯示低 4 位;(3)用 10 個(gè) led 燈分別代表 09 數(shù)字來顯示最高位,數(shù)碼管顯示低 4 位。最后采取的第一種最直觀的方法來進(jìn)行顯示。在程序基本調(diào)試完成仿真后,去了實(shí)驗(yàn)室進(jìn)行實(shí)測后,還有一些小問題,可是實(shí)驗(yàn)室又不再開門, 寢室里又缺少信號發(fā)生器, 很頭疼,幸運(yùn)的是在老師建議下,我又做了一個(gè)利用內(nèi)部時(shí)鐘進(jìn)行方波輸出的模塊,就可以自由進(jìn)行測試
27、了。最后幾天又繼續(xù)完善了相關(guān)模塊,添加了復(fù)位清零的功能。在最后驗(yàn)收的過程中我又發(fā)現(xiàn),在信號發(fā)生器采用函數(shù)輸出時(shí),方波測試會(huì)不穩(wěn)定,甚至出現(xiàn)2倍頻率的情況。而采用同步輸出后測試良好,頻率穩(wěn)定,當(dāng)頻率為4772 誤差在± 10hz 內(nèi)浮動(dòng),即誤差為± 0.2%通過本次課程設(shè)計(jì),我重新鞏固了自己學(xué)的數(shù)電和 verilog 等電子相關(guān)知識,并且在實(shí)踐中更好的進(jìn)行了掌握。 加強(qiáng)了自己動(dòng)手, 查找資料, 思考和解決問題的能力。我也懂得了理論與實(shí)際相結(jié)合, 在設(shè)計(jì)的過程中遇到問題可以說的上是困難重重,這畢竟是第一次在 de0 板子上做的,難免會(huì)遇到各種問題, 同時(shí)在設(shè)計(jì)的過程中也發(fā)現(xiàn)了自
28、己的不足之處, 對以前的知識理解的不夠深刻, 掌握的不夠牢固。此次課程設(shè)計(jì),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問題的能力,出現(xiàn)差錯(cuò)隨機(jī)應(yīng)變的能力,和同學(xué)互相討論合作,都受益匪淺,相信今后碰到的實(shí)踐項(xiàng)目,自己會(huì)更加輕松地完成,更加得心應(yīng)手。同時(shí)也得到了教訓(xùn),做事應(yīng)該趁早完成,不要拖拉,不然地話自己也可以設(shè)計(jì)出更多功能完善的模塊。在此也給細(xì)心指導(dǎo)的老師和其它無私給予幫助的同學(xué)致以謝意。2、待改進(jìn)的問題(1)對于量程溢出的問題,即如果頻率超過 99999hz 或者頻率不足 1hz 的方波,只能錯(cuò)誤顯示而沒有給出超量程預(yù)警。(2)測頻法對于頻率較大的方波,測得結(jié)果誤差稍大可以考慮換用測周法。
29、3、功能擴(kuò)展(1)顯示模塊可以改用另外兩種led 顯示的方法(2)可以設(shè)置一個(gè)量程預(yù)警顯示led,在被測信號頻率超過99999hz 和不足1hz 時(shí)給出警示。九、參考書目1. 謝自美主編 . 電子線路設(shè)計(jì)綜合設(shè)計(jì) . 華中科技大學(xué)出版社, 20062. 羅杰,謝自美主編 . 電子線路設(shè)計(jì) .實(shí)驗(yàn) .測試(第 4 版).電子工業(yè)出版社,2008.43. 羅杰主編 . Verilog HDL 與數(shù)字 ASIC 設(shè)計(jì)基礎(chǔ) . 華中科技大學(xué)出版社,2008.34. FPGA與 SOPC設(shè)計(jì)教程 -DE2 實(shí)踐,張志剛編著,西安電子科技大學(xué)出版社, 2007.45. 夏宇聞 . Verilog 數(shù)字系統(tǒng)
30、設(shè)計(jì)教程 . 北京航空航天大學(xué)出版社十、附錄源代碼及注釋module cymometer(seg1,seg2,seg3,seg4,sysclk,clkin,rst,clk_out,rst1);/ 頂層模塊output6:0seg1,seg2,seg3,seg4;/4 個(gè) 7 位數(shù)碼管輸出變量output clk_out;/ 方波輸出信號變量reg clk_out;/ 輸出為寄存器型input sysclk;/ 輸入變量 50M 的時(shí)鐘信號input clkin;/ 輸入的測試信號input rst;/ 輸入復(fù)位清零信號input rst1;/ 輸入量程轉(zhuǎn)換顯示信號reg3:0 led;reg6
31、:0seg1,seg2,seg3,seg4;reg25:0cnt;/ 分頻計(jì)數(shù)變量 1 reg25:0cnt1;/ 分頻計(jì)數(shù)變量 2 reg clk_cnt;/ 周期 2s 的閥門信號reg3:0cntp1,cntp2,cntp3,cntp4,cntp5;/5 位十進(jìn)制計(jì)數(shù)變量reg3:0cntq1,cntq2,cntq3,cntq4,cntq5;/5 位鎖存計(jì)數(shù)的變量reg3:0dat;always(posedge sysclk)/50M 時(shí)鐘信號上升沿到來時(shí)執(zhí)行一次模塊beginif(cnt1=500)beginclk_out<=clk_out;/cnt1 計(jì)數(shù)到 500 時(shí),clk
32、_out 信號翻轉(zhuǎn)一次 ,然后清零cnt1<=0;endelsebegincnt1<=cnt1+1'b1;endend/ 方波產(chǎn)生模塊 ,輸出 50000HZ的方波到 clk_out always(posedge sysclk)beginif(cnt=50_000_000)beginclk_cnt<=clk_cnt;cnt<=0;endelsebegincnt<=cnt+1'b1;end/cnt 每計(jì)數(shù)到 50M 時(shí),clk_cnt 信號翻轉(zhuǎn)一次 ,然后清零endalways(posedge clkin)beginif(clk_cnt)/ 在閥門信
33、號為高電平時(shí) beginif(cntp1='b1001)/ 個(gè)位滿 10進(jìn) 1begincntp1<='b0000;cntp2<=cntp2+1;/ 個(gè)位清零 ,十位加一 if(cntp2='b1001)begincntp2<='b0000;cntp3<=cntp3+1;/ 十位清零 ,百位加一if(cntp3='b1001)begincntp3<='b0000;cntp4<=cntp4+1;/ 百位清零 ,千位加一if(cntp4='b1001)begincntp4<='b0000;cn
34、tp5<=cntp5+1;/ 千位清零 ,萬位加一if(cntp5='b1001)begincntp5<='b0000;/ 萬位清零endendendendendelsebegincntp1<=cntp1+1;/ 個(gè)位加一endendelsebeginif(rst=0)/ 復(fù)位信號置 0 begincntq1<=0;cntq2<=0;cntq3<=0;cntq4<=0;cntq5<=0;/cntq5 位寄存器清零cntp1<='b0000;cntp2<='b0000;cntp3<='b00
35、00;cntp4<='b0000;cntp5<='b0000;/cntp 5 位計(jì)數(shù)變量清零endelseif(cntp1!='b0000|cntp2!='b0000|cntp3!='b0000|cntp4!='b0000|cntp5!='b0000 )begincntq1<=cntp1;cntq2<=cntp2;cntq3<=cntp3;cntq4<=cntp4;cntq5<=cntp5;/5 位 cntp 非零時(shí) ,在非閥門時(shí)間結(jié)果送到 cntq 中 ,同時(shí) cntp 清零 ,為下次計(jì)數(shù)做準(zhǔn)備
36、cntp1<='b0000;cntp2<='b0000;cntp3<='b0000;cntp4<='b0000;cntp5<='b0000;end/endendalwaysbeginif(rst1)/ 量程開關(guān)置一 begincase(cntq13:0)4'b0000:begin seg16:0=7'b0000001;end4'b0001:seg16:0=7'b1001111;4'b0010:seg16:0=7'b0010010;4'b0011:seg16:0=7
37、9;b0000110;4'b0100:seg16:0=7'b1001100;4'b0101:seg16:0=7'b0100100;4'b0110:seg16:0=7'b1100000;4'b0111:seg16:0=7'b0001111;4'b1000:seg16:0=7'b0000000;4'b1001:seg16:0=7'b0000100;default:seg16:0='bX;endcasecase(cntq23:0)4'b0000:begin seg26:0=7'b0
38、000001;end4'b0001:seg26:0=7'b1001111;4'b0010:seg26:0=7'b0010010;4'b0011:seg26:0=7'b0000110;4'b0100:seg26:0=7'b1001100;4'b0101:seg26:0=7'b0100100;4'b0110:seg26:0=7'b1100000;4'b0111:seg26:0=7'b0001111;4'b1000:seg26:0=7'b0000000;4'b100
39、1:seg26:0=7'b0000100;default:seg26:0='bX;endcasecase(cntq33:0)4'b0000:begin seg36:0=7'b0000001;end4'b0001:seg36:0=7'b1001111;4'b0010:seg36:0=7'b0010010;4'b0011:seg36:0=7'b0000110;4'b0100:seg36:0=7'b1001100;4'b0101:seg36:0=7'b0100100;4'b0110:seg36:0=7'b1100000;4'b0111:seg36:0=7'b0001111;4'b1000:seg36:0=7'b0000000;4'b1001:seg36:0=7'b0000100;default:seg36:0='bX;endcasecase(cntq43:0)4'b0000:begin seg46:0=7'b0000001;end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度平菇香菇線上線下銷售渠道拓展合同
- 2025年度二手房買賣合同交易手續(xù)辦理指南
- 2025年度文化創(chuàng)意產(chǎn)業(yè)項(xiàng)目合作開發(fā)合同4篇
- 2025年度寧夏糧食和物資儲(chǔ)備局糧食儲(chǔ)備庫安全管理合同4篇
- 二零二五年度高品質(zhì)木箱紙箱租賃經(jīng)營合同3篇
- 二零二五年停薪留職員工績效管理合同
- 二零二五年度床上用品電商平臺合作推廣合同2篇
- 江蘇省村衛(wèi)生室人員合理用藥培訓(xùn)
- 二零二五年度民政局認(rèn)證離婚協(xié)議書范本
- 二零二五年度林地使用權(quán)租賃合同范例3篇
- 《中國高考評價(jià)體系》解讀(化學(xué)學(xué)科)
- 公司發(fā)展能力提升方案
- 電梯安全守則及乘客須知
- IT硬件系統(tǒng)集成項(xiàng)目質(zhì)量管理方案
- 《容幼穎悟》2020年江蘇泰州中考文言文閱讀真題(含答案與翻譯)
- 水上水下作業(yè)應(yīng)急預(yù)案
- API520-安全閥計(jì)算PART1(中文版)
- 2023年廣東省廣州地鐵城際鐵路崗位招聘筆試參考題庫附帶答案詳解
- 商務(wù)提成辦法
- 直流電機(jī)電樞繞組簡介
- GB/T 19889.5-2006聲學(xué)建筑和建筑構(gòu)件隔聲測量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場測量
評論
0/150
提交評論