




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2015-2016 學(xué)年度第二學(xué)期電子技術(shù)基礎(chǔ)課程設(shè)計(jì)-數(shù)字頻率計(jì)設(shè)計(jì)院系:自動(dòng)化學(xué)院專業(yè):自動(dòng)化班級(jí):姓名:學(xué)號(hào):指導(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)測(cè)量頻率范圍: 1Hz100kHz。(2)準(zhǔn)確度fx/fx2%。(3)測(cè)量信號(hào):方波,峰
2、峰值為3V5V。(4)使用數(shù)碼管顯示測(cè)量的信號(hào)頻率(測(cè)量低頻信號(hào)時(shí)可以只顯示測(cè)量信號(hào)的周期)。二、需求分析及創(chuàng)意頻率計(jì)的主要功能是準(zhǔn)確測(cè)量出待測(cè)頻率的頻率、 周期、脈寬及占空比。 在電子技術(shù)中,頻率是最基本的參數(shù)之一, 并且與許多電參量的測(cè)量方案、 測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。測(cè)量頻率的方法有多種 , 其中電子計(jì)數(shù)器測(cè)量頻率具有精度高、 使用方便、 測(cè)量迅速,以及便于實(shí)現(xiàn)測(cè)量過程自動(dòng)化等優(yōu)點(diǎn),是頻率測(cè)量的重要手段之一。電子計(jì)數(shù)器測(cè)頻有兩種方式:一是直接測(cè)頻法 (高頻 ),即在一定閘門時(shí)間內(nèi)測(cè)量被測(cè)信號(hào)的脈沖個(gè)數(shù);二是間接測(cè)頻法,如周期測(cè)頻法(低頻) 。直接測(cè)頻法適
3、用于高頻信號(hào)的頻率測(cè)量,間接測(cè)頻法適用于低頻信號(hào)的頻率測(cè)量。本設(shè)計(jì)中分別以圖形設(shè)計(jì)方法為主和VHDL語言為主的兩種形式進(jìn)行設(shè)計(jì)。在這次設(shè)計(jì)過程中, 我們?cè)O(shè)計(jì)了兩套測(cè)量頻率計(jì)的方案。 下面分別闡述。 第一種方案,主要是通過一個(gè)計(jì)數(shù)器,在 1 秒時(shí)間內(nèi),當(dāng)有待測(cè)信號(hào)上升沿產(chǎn)生時(shí),開始計(jì)數(shù)。最后送到顯示模塊顯示。 而占空比,則是通過分別計(jì)算高電平時(shí)間和低電平時(shí)間,從而得到占空比數(shù)值。應(yīng)該說這種方法,更接近于測(cè)頻法的思想。通過實(shí)驗(yàn)的檢測(cè),發(fā)現(xiàn)與實(shí)驗(yàn)儀器(信號(hào)發(fā)生器)的最大誤差只有 10,所以,在測(cè)量頻率不是特別大的范圍內(nèi), 這種設(shè)計(jì)方案, 筆者認(rèn)為應(yīng)該可以接受。 而第二種方案,則是對(duì)于不同大小的頻率,
4、 通過測(cè)頻法和測(cè)周法, 進(jìn)行選擇輸出頻率值大小。三、系統(tǒng)方案及技術(shù)路線低頻信號(hào)的測(cè)量(測(cè)周期法1HZ10KHZ):所謂頻率就是在單位時(shí)間(1s)內(nèi)周期信號(hào)的變化次數(shù)。 若在一定時(shí)間間隔T 內(nèi)測(cè)得周期信號(hào)的重復(fù)變化次數(shù)為N,則其頻率為 f=N/T,據(jù)此,同樣對(duì)于低于10KHZ的信號(hào),我們采用測(cè)周期法,時(shí)標(biāo)為 50MHZ,其誤差遠(yuǎn)遠(yuǎn)小于 0.001,故可達(dá)到指標(biāo)要求測(cè)周法原理 : 假設(shè)基準(zhǔn)時(shí)鐘信號(hào)的周期為Ts(頻率為fs),被測(cè)信號(hào)的周期我Tw,用被測(cè)信號(hào)控制測(cè)量計(jì)數(shù)器進(jìn)行計(jì)數(shù),當(dāng)被測(cè)信號(hào)一個(gè)周期結(jié)束后,讓計(jì)數(shù)器停止計(jì)數(shù),若計(jì)數(shù)器數(shù)值為Nx, 被測(cè)信號(hào)的周期為Tw=Nx*Ts其頻率為fx=fs*N
5、x這種測(cè)頻方法實(shí)際上是通過測(cè)量被測(cè)信號(hào)周期后, 再經(jīng)過換算得到被測(cè)信號(hào)頻率的,它適合于被測(cè)信號(hào)原低于基準(zhǔn)時(shí)鐘信號(hào)頻率的場(chǎng)合。 用這種方法測(cè)量時(shí),測(cè)試精度與計(jì)數(shù)器中記錄的 Nx 有關(guān),由于被測(cè)信號(hào)一個(gè)周期的時(shí)間長(zhǎng)度不一定正好為基準(zhǔn)時(shí)鐘信號(hào)周期的整數(shù)倍,因此計(jì)數(shù)器的計(jì)數(shù)值會(huì)產(chǎn)生1 個(gè)值的誤差。高頻信號(hào)的測(cè)量 (測(cè)頻法 10KHZ10MHZ):由于我們很難得到準(zhǔn)確的1hz 頻率,故在這里我們采用等精度測(cè)量法,這樣就可以不必考慮1s 信號(hào)的精確度的影響。閘門時(shí)間不是固定值 ,而是被測(cè)信號(hào)周期的整數(shù)倍 ,即與被測(cè)信號(hào)同步 .因此排除了對(duì)被測(cè)信號(hào)計(jì)數(shù)所產(chǎn)生的 1 個(gè)周期誤差 ,并且達(dá)到了在整個(gè)測(cè)試頻段的等
6、精度測(cè)量 .在測(cè)量過程中 ,有兩個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)同時(shí)計(jì)數(shù) .首先給出閘門開啟信號(hào) (預(yù)置閘門上升沿 ),此時(shí)計(jì)數(shù)器并不開始計(jì)數(shù) .而是等到被測(cè)信號(hào)的上升沿到來時(shí) ,計(jì)數(shù)器才真正開始計(jì)數(shù) .然后預(yù)置閘門關(guān)閉信號(hào) (下降沿到時(shí) ),計(jì)數(shù)器并不立即停止計(jì)數(shù) ,而是等到被測(cè)信號(hào)的上升沿到來時(shí)才開始結(jié)束計(jì)數(shù) ,完成一次測(cè)量過程 .設(shè)在一次實(shí)際閘門時(shí)間 t 中計(jì)數(shù)器對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為 Nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為 Ns, 標(biāo)準(zhǔn)信號(hào)的頻率為 fs,則被測(cè)信號(hào)的頻率為 fx=Nx/Nsfs。由推斷 (此處省略 )得測(cè)量頻率的相對(duì)誤差 =1/tfs由上式可看出測(cè)量頻率的相對(duì)誤差與被測(cè)信號(hào)頻率的大
7、小無關(guān),僅與閘門時(shí)間和標(biāo)準(zhǔn)信號(hào)頻率有關(guān) .閘門時(shí)間越長(zhǎng) ,標(biāo)準(zhǔn)頻率越高測(cè)頻的相對(duì)誤差就越小 .標(biāo)準(zhǔn)頻率可由穩(wěn)定性好 ,精度高的高頻率晶振產(chǎn)生 ,在保證測(cè)量精度不變的前提下 ,提高標(biāo)準(zhǔn)信號(hào)頻率 ,可使閘門時(shí)間縮短 ,即提高測(cè)試速度 .可實(shí)現(xiàn)四、設(shè)計(jì)原理1、基本原理頻率測(cè)量的基本原理是計(jì)算每秒鐘內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù)。這就要求 sysclk能產(chǎn)生一個(gè) 1s 脈寬的周期信號(hào),并對(duì)頻率計(jì)的每一個(gè)計(jì)數(shù)器cntp 的使能端進(jìn)行同步控制。當(dāng) clK_cnt 高電平時(shí)允許計(jì)數(shù),并保持其所計(jì)的數(shù)。在停止計(jì)數(shù)期間,首先需要一個(gè)鎖存信號(hào)將計(jì)數(shù)器在前1s 的計(jì)數(shù)值鎖存進(jìn)鎖存器reg中,并由外部的 7 段譯碼器譯出并穩(wěn)定
8、顯示。原理圖如圖1-1基準(zhǔn)信號(hào)被測(cè)分 頻 模信脈沖形計(jì) 數(shù) 模量 程 切換模塊成模塊塊清零譯碼???制 模塊使能鎖存圖 1-12、模塊原理根據(jù)數(shù)字頻率計(jì)的基本原理,本文設(shè)計(jì)方案的基本思想是分為五個(gè)模塊來實(shí)現(xiàn)其功能,即整個(gè)數(shù)字頻率計(jì)系統(tǒng)分為分頻模塊、控制模塊、計(jì)數(shù)模塊、譯碼模塊和量程自動(dòng)切換模塊等幾個(gè)單元, 并且分別用 VerilogHDL對(duì)其進(jìn)行編程, 實(shí)現(xiàn)了閘門控制信號(hào)、計(jì)數(shù)電路、鎖存電路、顯示電路等。五、設(shè)計(jì)內(nèi)容1、分頻模塊由于晶體振蕩器提供的為50MHz 的時(shí)鐘,而在整個(gè)頻率計(jì)里將用到周期為2s ,半個(gè)周期為 1s 的閘門信號(hào),所以我們?cè)诖四K先分頻產(chǎn)生0.5Hz 的分頻信號(hào)。alway
9、s(posedge sysclk)beginif(cnt=50_000_000)beginclk_cnt=clk_cnt;cnt=0;endelsebegincnt=cnt+1b1;endend由程序中的clk_cnt=clk_cnt;cnt=0;得知會(huì)產(chǎn)生我們想要的周期為2s 的clk_int 信號(hào)。仿真結(jié)果如圖1-2.圖 1-22、方波發(fā)生器模塊always(posedge sysclk)beginif(cnt1=500)beginclk_out=clk_out;cnt1=0;endelsebegincnt1=cnt1+1b1;endend由于在寢室做測(cè)試時(shí)缺少了信號(hào)發(fā)生器,所以添加了一個(gè)
10、方波發(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ù)器, 用來對(duì)施加到時(shí)鐘脈沖輸入端的待測(cè)信號(hào)產(chǎn)生的脈沖進(jìn)行計(jì)數(shù), 十進(jìn)制計(jì)數(shù)器具有清零控制和進(jìn)位擴(kuò)展輸出的功能。always(posedge clkin)beginif(clk_cnt)beginif(cntp1=b1001)begincntp1=b0000;cntp2=cntp2+1;if(cntp2=b1001)begincntp2
11、=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;endendendendendelsebegincntp1=cntp1+1;endend本程序采用的是以累加的方法結(jié)合巧妙地if 語句進(jìn)行四重循環(huán),實(shí)現(xiàn)四位十進(jìn)制不同的高低級(jí)別,實(shí)現(xiàn)計(jì)數(shù)。一位十進(jìn)制原理圖仿真如圖1-3 。圖 1-3五位十進(jìn)制原理圖仿真如圖1-4 。圖 1-44、鎖存模塊如果計(jì)數(shù)器輸出直接與譯
12、碼器相連接,那么在計(jì)數(shù)過程中輸出端則隨輸入脈沖數(shù)的增加而不斷跳變, 那么顯示數(shù)碼管則也會(huì)不斷閃爍跳變,讓人不能看到穩(wěn)定的輸出,設(shè)鎖存器后,則不再跳變,便可清晰讀出計(jì)數(shù)結(jié)果。其生成的功能模塊如圖所示: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=b0000;end/5、清
13、零復(fù)位模塊采用一個(gè)開關(guān)作為rst 復(fù)位信號(hào), 當(dāng) rst 置 0 時(shí),5 個(gè) cntq 寄存器賦 0,從而5 個(gè)數(shù)碼管顯示0,同時(shí) 5 個(gè)計(jì)數(shù)單元 cntp 也清零,為下次閥門信號(hào)時(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=b0000;end/6、譯碼顯
14、示模塊選擇另一個(gè)開關(guān)作為量程選擇信號(hào)rst1 ,當(dāng)rst1=0時(shí),將cntq1 ,cntq2,cntq3,cntq4的值分別賦給seg1,seg2,seg3,seg3,seg4這4個(gè)7位共陽極數(shù)碼管顯示的信號(hào)(即顯示5 位數(shù)頻率的后4 位),當(dāng) rst1=1時(shí),將cntq5的值賦給 seg1 ,再把 seg2,seg3,seg4分別置為 所0對(duì)應(yīng)的顯示碼。還有一種顯示方式是吧cntq5 的值直接賦給 led 3:0, 直接用 4 個(gè)二極管顯示(用二進(jìn)制表示)。beginif(rst1)begincase(cntq13:0)4b0000:begin seg16:0=7b0000001;end4b
15、0001:seg16:0=7b1001111;4b0010:seg16:0=7b0010010;4b0011:seg16:0=7b0000110;4b0100:seg16:0=7b1001100;4b0101:seg16:0=7b0100100;4b0110:seg16:0=7b1100000;4b0111:seg16:0=7b0001111;4b1000:seg16:0=7b0000000;4b1001:seg16:0=7b0000100;default:seg16:0=bX;endcasecase(cntq23:0)4b0000:begin seg26:0=7b0000001;end4b0
16、001:seg26:0=7b1001111;4b0010:seg26:0=7b0010010;4b0011:seg26:0=7b0000110;4b0100:seg26:0=7b1001100;4b0101:seg26:0=7b0100100;4b0110:seg26:0=7b1100000;4b0111:seg26:0=7b0001111;4b1000:seg26:0=7b0000000;4b1001:seg26:0=7b0000100;default:seg26:0=bX;endcasecase(cntq33:0)4b0000:begin seg36:0=7b0000001;end4b00
17、01:seg36:0=7b1001111;4b0010:seg36:0=7b0010010;4b0011:seg36:0=7b0000110;4b0100:seg36:0=7b1001100;4b0101:seg36:0=7b0100100;4b0110:seg36:0=7b1100000;4b0111:seg36:0=7b0001111;4b1000:seg36:0=7b0000000;4b1001:seg36:0=7b0000100;default:seg36:0=bX;endcasecase(cntq43:0)4b0000:begin seg46:0=7b0000001;end4b000
18、1:seg46:0=7b1001111;4b0010:seg46:0=7b0010010;4b0011:seg46:0=7b0000110;4b0100:seg46:0=7b1001100;4b0101:seg46:0=7b0100100;4b0110:seg46:0=7b1100000;4b0111:seg46:0=7b0001111;4b1000:seg46:0=7b0000000;4b1001:seg46:0=7b0000100;default:seg46:0=bX;endcase/*case(cntq53:0)4b0000:begin led3:0=4b0000;end4b0001:l
19、ed3:0=4b0001;4b0010:led3:0=4b0010;4b0011:led3:0=4b0011;4b0100:led3:0=4b0100;4b0101:led3:0=4b0101;4b0110:led3:0=4b0110;4b0111:led3:0=4b0111;4b1000:led3:0=4b1000;4b1001:led3:0=4b1001;default:led3:0=bX;endcase*/endelsebeginseg46:0=7b0000001;seg26:0=7b0000001;seg36:0=7b0000001;case(cntq53:0)4b0000:begin
20、 seg16:0=7b0000001;end4b0001:seg16:0=7b1001111;4b0010:seg16:0=7b0010010;4b0011:seg16:0=7b0000110;4b0100:seg16:0=7b1001100;4b0101:seg16:0=7b0100100;4b0110:seg16:0=7b1100000;4b0111:seg16:0=7b0001111;4b1000:seg16:0=7b0000000;4b1001:seg16:0=7b0000100;default:seg16:0=bX;endcaseend6、編譯仿真最后的程序的編譯仿真結(jié)果如圖1-5
21、。圖 1-5六、輸入輸出設(shè)計(jì)如圖所示各引腳分配七、系統(tǒng)實(shí)測(cè)從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 這部書,了解了測(cè)頻法和測(cè)周法兩種基本的實(shí)驗(yàn)原理,然后選擇了邏輯較為簡(jiǎn)單的測(cè)頻法。即在閥門信號(hào)1s 高電平內(nèi)計(jì)數(shù)被測(cè)信號(hào)的脈沖個(gè)數(shù)并且鎖存下來送到數(shù)碼顯
22、示管顯示。接著開始復(fù)習(xí)了一些基礎(chǔ)的verilog 語法,由于大二數(shù)電中只是簡(jiǎn)單介紹了相關(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ù)碼管。碰到比較麻煩的問題是,題目要求 100kHZ的顯示,這就要求 5 位數(shù)碼管了,但是 de0 只有 4 位數(shù)碼管。于是想了 3 種解決方法:(1)采
23、用一個(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í)測(cè)后,還有一些小問題,可是實(shí)驗(yàn)室又不再開門, 寢室里又缺少信號(hào)發(fā)生器, 很頭疼,幸運(yùn)的是在老師建議下,我又做了一個(gè)利用內(nèi)部時(shí)鐘進(jìn)行方波輸出的模塊,就可以自由進(jìn)行測(cè)試了。最后幾天又繼續(xù)完善了相關(guān)模塊,添加了復(fù)位清零的功能。在最后驗(yàn)收的過程中我又發(fā)現(xiàn),在信號(hào)發(fā)生器采用函數(shù)輸出時(shí),方波測(cè)試會(huì)不穩(wěn)定,甚至出現(xiàn)
24、2倍頻率的情況。而采用同步輸出后測(cè)試良好,頻率穩(wěn)定,當(dāng)頻率為4772 誤差在 10hz 內(nèi)浮動(dòng),即誤差為 0.2%通過本次課程設(shè)計(jì),我重新鞏固了自己學(xué)的數(shù)電和 verilog 等電子相關(guān)知識(shí),并且在實(shí)踐中更好的進(jìn)行了掌握。 加強(qiáng)了自己動(dòng)手, 查找資料, 思考和解決問題的能力。我也懂得了理論與實(shí)際相結(jié)合, 在設(shè)計(jì)的過程中遇到問題可以說的上是困難重重,這畢竟是第一次在 de0 板子上做的,難免會(huì)遇到各種問題, 同時(shí)在設(shè)計(jì)的過程中也發(fā)現(xiàn)了自己的不足之處, 對(duì)以前的知識(shí)理解的不夠深刻, 掌握的不夠牢固。此次課程設(shè)計(jì),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問題的能力,出現(xiàn)差錯(cuò)隨機(jī)應(yīng)變的能力,和同學(xué)
25、互相討論合作,都受益匪淺,相信今后碰到的實(shí)踐項(xiàng)目,自己會(huì)更加輕松地完成,更加得心應(yīng)手。同時(shí)也得到了教訓(xùn),做事應(yīng)該趁早完成,不要拖拉,不然地話自己也可以設(shè)計(jì)出更多功能完善的模塊。在此也給細(xì)心指導(dǎo)的老師和其它無私給予幫助的同學(xué)致以謝意。2、待改進(jìn)的問題(1)對(duì)于量程溢出的問題,即如果頻率超過 99999hz 或者頻率不足 1hz 的方波,只能錯(cuò)誤顯示而沒有給出超量程預(yù)警。(2)測(cè)頻法對(duì)于頻率較大的方波,測(cè)得結(jié)果誤差稍大可以考慮換用測(cè)周法。3、功能擴(kuò)展(1)顯示模塊可以改用另外兩種led 顯示的方法(2)可以設(shè)置一個(gè)量程預(yù)警顯示led,在被測(cè)信號(hào)頻率超過99999hz 和不足1hz 時(shí)給出警示。九、
26、參考書目1. 謝自美主編 . 電子線路設(shè)計(jì)綜合設(shè)計(jì) . 華中科技大學(xué)出版社, 20062. 羅杰,謝自美主編 . 電子線路設(shè)計(jì) .實(shí)驗(yàn) .測(cè)試(第 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)設(shè)計(jì)教程 . 北京航空航天大學(xué)出版社十、附錄源代碼及注釋module cymometer(seg1,seg2,seg3,seg4,sysclk,clkin,rst
27、,clk_out,rst1);/ 頂層模塊output6:0seg1,seg2,seg3,seg4;/4 個(gè) 7 位數(shù)碼管輸出變量output clk_out;/ 方波輸出信號(hào)變量reg clk_out;/ 輸出為寄存器型input sysclk;/ 輸入變量 50M 的時(shí)鐘信號(hào)input clkin;/ 輸入的測(cè)試信號(hào)input rst;/ 輸入復(fù)位清零信號(hào)input rst1;/ 輸入量程轉(zhuǎn)換顯示信號(hào)reg3:0 led;reg6:0seg1,seg2,seg3,seg4;reg25:0cnt;/ 分頻計(jì)數(shù)變量 1 reg25:0cnt1;/ 分頻計(jì)數(shù)變量 2 reg clk_cnt;/
28、周期 2s 的閥門信號(hào)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í)鐘信號(hào)上升沿到來時(shí)執(zhí)行一次模塊beginif(cnt1=500)beginclk_out=clk_out;/cnt1 計(jì)數(shù)到 500 時(shí),clk_out 信號(hào)翻轉(zhuǎn)一次 ,然后清零cnt1=0;endelsebegincnt1=cnt1+1b1;endend/ 方波產(chǎn)生模塊 ,輸出 50000HZ的方波到 clk_
29、out always(posedge sysclk)beginif(cnt=50_000_000)beginclk_cnt=clk_cnt;cnt=0;endelsebegincnt=cnt+1b1;end/cnt 每計(jì)數(shù)到 50M 時(shí),clk_cnt 信號(hào)翻轉(zhuǎn)一次 ,然后清零endalways(posedge clkin)beginif(clk_cnt)/ 在閥門信號(hào)為高電平時(shí) beginif(cntp1=b1001)/ 個(gè)位滿 10進(jìn) 1begincntp1=b0000;cntp2=cntp2+1;/ 個(gè)位清零 ,十位加一 if(cntp2=b1001)begincntp2=b0000;c
30、ntp3=cntp3+1;/ 十位清零 ,百位加一if(cntp3=b1001)begincntp3=b0000;cntp4=cntp4+1;/ 百位清零 ,千位加一if(cntp4=b1001)begincntp4=b0000;cntp5=cntp5+1;/ 千位清零 ,萬位加一if(cntp5=b1001)begincntp5=b0000;/ 萬位清零endendendendendelsebegincntp1=cntp1+1;/ 個(gè)位加一endendelsebeginif(rst=0)/ 復(fù)位信號(hào)置 0 begincntq1=0;cntq2=0;cntq3=0;cntq4=0;cntq5=
31、0;/cntq5 位寄存器清零cntp1=b0000;cntp2=b0000;cntp3=b0000;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)備cntp1=b0000;cnt
32、p2=b0000;cntp3=b0000;cntp4=b0000;cntp5=b0000;end/endendalwaysbeginif(rst1)/ 量程開關(guān)置一 begincase(cntq13:0)4b0000:begin seg16:0=7b0000001;end4b0001:seg16:0=7b1001111;4b0010:seg16:0=7b0010010;4b0011:seg16:0=7b0000110;4b0100:seg16:0=7b1001100;4b0101:seg16:0=7b0100100;4b0110:seg16:0=7b1100000;4b0111:seg16:0
33、=7b0001111;4b1000:seg16:0=7b0000000;4b1001:seg16:0=7b0000100;default:seg16:0=bX;endcasecase(cntq23:0)4b0000:begin seg26:0=7b0000001;end4b0001:seg26:0=7b1001111;4b0010:seg26:0=7b0010010;4b0011:seg26:0=7b0000110;4b0100:seg26:0=7b1001100;4b0101:seg26:0=7b0100100;4b0110:seg26:0=7b1100000;4b0111:seg26:0=
34、7b0001111;4b1000:seg26:0=7b0000000;4b1001:seg26:0=7b0000100;default:seg26:0=bX;endcasecase(cntq33:0)4b0000:begin seg36:0=7b0000001;end4b0001:seg36:0=7b1001111;4b0010:seg36:0=7b0010010;4b0011:seg36:0=7b0000110;4b0100:seg36:0=7b1001100;4b0101:seg36:0=7b0100100;4b0110:seg36:0=7b1100000;4b0111:seg36:0=7b000
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市順義區(qū)名校2025屆八下英語期中統(tǒng)考試題含答案
- 廣東省深圳市龍崗區(qū)龍嶺中學(xué)2025屆八下英語期末學(xué)業(yè)水平測(cè)試試題含答案
- 河北省 邢臺(tái)市信都區(qū)皇臺(tái)底中學(xué)2023-2024學(xué)年九年級(jí)上學(xué)期期中數(shù)學(xué)試題(解析版)
- 2025屆江蘇省揚(yáng)州市江都區(qū)郭村中學(xué)七下英語期中質(zhì)量跟蹤監(jiān)視試題含答案
- 藍(lán)靛果花色苷的穩(wěn)定性及其對(duì)硫代乙酰胺誘導(dǎo)的急性肝損傷小鼠保護(hù)作用研究
- 莊河市供銷合作社聯(lián)合社為農(nóng)服務(wù)水平提升研究
- 新課標(biāo)背景下初中勞動(dòng)課程開發(fā)研究-以南寧市A中學(xué)為例
- 江蘇省鎮(zhèn)江市2024-2025學(xué)年高三上學(xué)期期初考試數(shù)學(xué)試卷-1
- 季銨型松香基酰胺樹脂去除己糖堿性降色素和單寧酸研究
- 基于2D廣義正交匹配追蹤的稀疏信號(hào)恢復(fù)算法研究
- 渦輪增壓器系統(tǒng)及常見故障案例
- 宋大叔教音樂第三單元進(jìn)階版講義2
- 兒科患兒及家屬的溝通技巧
- 26個(gè)科室建設(shè)指南
- 童聲合唱訓(xùn)練講座
- (防火閥)檢驗(yàn)報(bào)告
- 機(jī)械識(shí)圖題庫(kù)(共155頁)
- Invoice商業(yè)發(fā)票模板
- 《屏蔽泵培訓(xùn)講義》
- 質(zhì)量管理科學(xué)方法和工具介紹R1
- 暑假安全教育PPT課件
評(píng)論
0/150
提交評(píng)論