欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告

      時(shí)間:2019-05-14 02:04:33下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告》。

      第一篇:數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      大連理工大學(xué)城市學(xué)院

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      設(shè)計(jì)題目:數(shù)字頻率計(jì)

      學(xué) 院:電子與自動(dòng)化學(xué)院 專 業(yè): 自動(dòng)化 學(xué) 生: 揣智涵 同 組 人: 王曉寧 周英茹 指導(dǎo)教師: 于海霞 完成日期: 2012年3月26日

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      目 錄

      第一章 設(shè)計(jì)任務(wù)

      1.1項(xiàng)目名稱 1.2項(xiàng)目設(shè)計(jì)說明 1.2.1設(shè)計(jì)任務(wù)和要求 1.2.2進(jìn)度安排 1.3項(xiàng)目總體功能模塊圖

      第二章 需求分析

      2.1問題基本描述

      (要求分析得出整個(gè)系統(tǒng)流程圖)2.2系統(tǒng)模塊分解及各模塊功能的基本要求

      第三章 設(shè)計(jì)原理

      3.1 設(shè)計(jì)原理 3.2 MAXPLUSII介紹

      第四章 系統(tǒng)功能模塊設(shè)計(jì)

      4.1 FEN模塊

      4.1.1 FEN模塊流程圖

      4.1.2 輸入輸出引腳及其功能說明 4.1.3 程序代碼實(shí)現(xiàn) 4.2 SEL模塊

      4.2.1 SEL模塊流程圖

      4.2.2輸入輸出引腳及其功能說明 4.2.3程序代碼實(shí)現(xiàn)

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      4.3 CORNA模塊

      4.3.1 CORNA模塊流程圖

      4.3.2 輸入輸出引腳及其功能說明 4.3.3 程序代碼實(shí)現(xiàn) 4.4 LOCK模塊

      4.4.1 LOCK模塊流程圖

      4.4.2 輸入輸出引腳及其功能說明 4.4.3 程序代碼實(shí)現(xiàn) 4.5 CH模塊

      4.5.1 輸入輸出引腳及其功能說明 4.5.2 程序代碼實(shí)現(xiàn) 4.6 DISP模塊

      4.6.1 輸入輸出引腳及其功能說明 4.6.2 程序代碼實(shí)現(xiàn)

      第五章調(diào)試并分析結(jié)果

      5.1輸入說明 5.2預(yù)計(jì)輸出 5.3測(cè)試結(jié)果記錄 5.4測(cè)試結(jié)果分析

      第六章 結(jié)論 心得體會(huì) 參考文獻(xiàn)

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      第一章 設(shè)計(jì)任務(wù)

      1.1 項(xiàng)目名稱:數(shù)字頻率計(jì) 1.2 項(xiàng)目設(shè)計(jì)說明

      1.2.1 設(shè)計(jì)任務(wù)和要求 此頻率計(jì)共分4檔: 一檔:0~9999Hz;二檔:10~99.99kHZ;三檔:100.0~999.9kHz;,四檔:1.000~999MHz;在換擋的設(shè)計(jì)方面,此程序突破了以往改變閘門時(shí)間的方法,使自動(dòng)換擋的實(shí)現(xiàn)更加簡單可靠。1.2.2 進(jìn)度安排

      第一節(jié)課:畫出模塊及程序流程圖

      第二節(jié)課:調(diào)試各模塊程序使其無誤

      第三節(jié)課:連接整個(gè)程序并下載到試驗(yàn)箱是數(shù)字頻率計(jì)的功能實(shí)現(xiàn)

      第四節(jié)課:改進(jìn)程序設(shè)計(jì)實(shí)現(xiàn)創(chuàng)新,然后完成課程設(shè)計(jì)報(bào)告

      第五節(jié)課:完成答辯 1.3 項(xiàng)目總體功能模塊圖如下

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      圖1-1

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      第二章 需求分析

      2.1 問題基本描述

      所謂頻率,就是周期信號(hào)在單位時(shí)間(1秒)內(nèi)變化的次數(shù)。頻率計(jì)的測(cè)量范圍為1MHZ,為了測(cè)量精確量程分別為10KHZ,100KHZ,1000KHZ和1MHZ四個(gè)檔。即最大讀數(shù)分別為9.999KHZ,99.99KHZ,999.9KHZ,999MHZ。要求兩成自動(dòng)換擋。其具體功能如下:

      (1)當(dāng)量程超過999時(shí),自動(dòng)增大一檔,下一次測(cè)量時(shí)量程大一檔;

      (2)當(dāng)超過測(cè)量范圍時(shí),顯示溢出,報(bào)警器報(bào)警。(3)小數(shù)點(diǎn)位置隨量程變化自動(dòng)移位。

      (4)采用記憶顯示方法,在測(cè)量過程中不顯示數(shù)據(jù),在測(cè)量完成以后顯示測(cè)頻結(jié)果,并將此結(jié)果 保存到下次測(cè)量結(jié)束,顯示時(shí)間不少于1秒。

      (5)根據(jù)頻率計(jì)的測(cè)頻原理,可以選擇合適的時(shí)基信號(hào)即閥門時(shí)間,對(duì)輸入信號(hào)脈沖進(jìn)行計(jì)數(shù),實(shí)現(xiàn)測(cè)頻的目的。

      (6)根據(jù)數(shù)字頻率計(jì)的設(shè)計(jì)原理,可以將數(shù)字頻率計(jì)設(shè)計(jì)分為五個(gè)模塊來實(shí)現(xiàn)其功能。即分頻模塊,控制模塊,計(jì)數(shù)模塊,鎖存模塊和顯示模塊。用CLDH語言進(jìn)行編程。

      (7)弄清什么情況下是測(cè)頻率,就是選擇合適的時(shí)基信號(hào)的問題。測(cè)頻率時(shí)以輸入信號(hào)作為時(shí)鐘信號(hào),因?yàn)檩斎胄盘?hào)的頻率大于頻率計(jì)的基準(zhǔn)頻率。:

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      數(shù)字頻率計(jì)的系統(tǒng)流程圖如下

      圖2-1

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      2.2 系統(tǒng)模塊分解及各模塊功能的基本要求

      計(jì)數(shù)器在各個(gè)檔是被反復(fù)應(yīng)用的,如果在各個(gè)檔分別設(shè)計(jì)計(jì)數(shù)器就造成資源的浪費(fèi),而且在測(cè)周期和頻率的時(shí)候,計(jì)數(shù)器的時(shí)基信號(hào)和輸入信號(hào)要進(jìn)行調(diào)換,但計(jì)數(shù)功能是一樣的,所以將計(jì)數(shù)器設(shè)為單獨(dú)的模塊。七段譯碼器也是被重復(fù)使用的,也設(shè)成單獨(dú)的模塊,這樣的話就不用在重復(fù)使用的時(shí)候重復(fù)書寫譯碼電路了??傮w來說數(shù)字頻率計(jì)分為五個(gè)模塊來設(shè)計(jì),即分頻模塊計(jì)數(shù) 模塊,鎖存模塊,預(yù)測(cè)控制信號(hào)發(fā)生器,顯示模塊。

      分頻模塊為計(jì)數(shù)模塊提供1秒的閥門時(shí)間。計(jì)數(shù)模塊是整個(gè)程序的核心,它完成在1秒的時(shí)間里對(duì)被測(cè)信號(hào)計(jì)數(shù)的功能,并通過選擇輸出數(shù)據(jù)實(shí)現(xiàn)自動(dòng)換擋的功能。鎖存模塊在信號(hào)L的下降沿到來時(shí)將信號(hào)A4,A3,A2,A1鎖存。顯示模塊對(duì)應(yīng)于數(shù)碼管片選信號(hào),將相應(yīng)的數(shù)據(jù)送出,其中檔位也通過數(shù)碼管顯示。

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      第三章 設(shè)計(jì)原理

      3.1 設(shè)計(jì)原理

      眾所周知,頻率信號(hào)易于傳輸,抗干擾性強(qiáng),可以獲得較好的測(cè)量精度。因此,頻率檢測(cè)是電子測(cè)量領(lǐng)域最基本的測(cè)量之一。頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,對(duì)比測(cè)量其他信號(hào)的頻率。通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),即閘門時(shí)間為1 s。閘門時(shí)間可以根據(jù)需要取值,大于或小于1 s都可以。閘門時(shí)間越長,得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長,則每測(cè)一次頻率的間隔就越長。閘門時(shí)間越短,測(cè)得的頻率值刷新就越快,但測(cè)得的頻率精度就受影響。一般取1 s作為閘門時(shí)間。

      數(shù)字頻率計(jì)的關(guān)鍵組成部分包括測(cè)頻控制信號(hào)發(fā)生器、計(jì)數(shù)器、鎖存器、譯碼驅(qū)動(dòng)電路和顯示電路,其原理框圖如圖3-1所示。

      圖3-1數(shù)字頻率計(jì)原理圖

      3.2 MAXPLUSII介紹

      MAX+PLUSⅡ(Multiple Array and Programming Logic User System)開發(fā)工具是Altera公司推出的一種EDA工具,具有靈活高效、使用便捷和易學(xué)易用等特點(diǎn)。Altera公司在推出各種CPLD的同時(shí),也在不斷地升級(jí)相應(yīng)的開發(fā)工具軟件,已從早起的第一代A+PLUS、第二代MAX+PLUS發(fā)展到第三代MAX+PLUSⅡ和第四代

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      Quartus。使用MAX+PLUSⅡ軟件,設(shè)計(jì)者無需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu),只需用業(yè)已熟悉的設(shè)計(jì)輸入工具,如硬件描述語言、原理圖等進(jìn)行輸入即可,MAX+PLUSⅡ就會(huì)自動(dòng)將設(shè)計(jì)轉(zhuǎn)換成目標(biāo)文件下載到器件中去。MAX+PLUSⅡ開發(fā)系統(tǒng)具有以下特點(diǎn)。(1)多平臺(tái)。MAX+PLUSⅡ軟件可以在基于PC機(jī)的操作系統(tǒng)如Windows95、Windows98、Windows2000、Windows NT下運(yùn)行,也可以在Sun SPAC station等工作站上運(yùn)行。

      (2)開放的界面。MAX+PLUSⅡ提供了與其他設(shè)計(jì)輸入、綜合和校驗(yàn)工具的接口,借口符合EDIF 200/300、LPM、VHDL、Verilog-HDL等標(biāo)準(zhǔn)。目前MAX+PLUSⅡ所支持的主流第三方EDA工具主要有Synopsys、Viewlogic、Mentor、Graphics、Cadence、OrCAD、Xilinx等公司提供的工具。

      (3)模塊組合式工具軟件。MAX+PLUSⅡ具有一個(gè)完整的可編程邏輯設(shè)計(jì)環(huán)境,包括設(shè)計(jì)輸入、設(shè)計(jì)處理、設(shè)計(jì)校驗(yàn)和下載編程4個(gè)模塊,設(shè)計(jì)者可以按設(shè)計(jì)流程選擇工作模塊。(4)與結(jié)構(gòu)無關(guān)。MAX+PLUSⅡ開發(fā)系統(tǒng)的核心——Compiler(編譯器)能夠自動(dòng)完成邏輯綜合和優(yōu)化,它支持Altera的Classic、MAX7000、FLEX8000和FLEX10K等可編程器件系列,提供一個(gè)與結(jié)構(gòu)無關(guān)的PLD開發(fā)環(huán)境。

      (5)支持硬件描述語言。MAX+PLUSⅡ支持各種HDL設(shè)計(jì)輸入語言,包括VHDL、Verilog-HDL和Altera的硬件描述語言AHDL。(6)豐富的設(shè)計(jì)庫。MAX+PLUSⅡ提供豐富的庫單元供設(shè)計(jì)者調(diào)用,其中包括一些基本的邏輯單元,74系列的器件和多種特定功能的宏功能模塊以及參數(shù)化的兆功能模塊。調(diào)用庫單元進(jìn)行設(shè)計(jì),可以大大減輕設(shè)計(jì)人員的工作量,縮短設(shè)計(jì)周期。

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      第四章 系統(tǒng)功能模塊

      4.1 FEN 模塊

      4.1.1 FEN 模塊流程圖

      圖4-1

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      4.1.2輸入輸出引腳及其功能說明

      模塊FEN如圖9-87所示。通過對(duì)4MHz時(shí)鐘的分頻得到0.5Hz時(shí)鐘,為模塊CORNA提供1s的閘門時(shí)間。CLK:輸入時(shí)鐘信號(hào);Q:輸出分頻后的基準(zhǔn)信號(hào)。程序代碼的實(shí)現(xiàn)如下

      library ieee;use ieee.std_logic_1164.all;entity fen is

      port(clk:in std_logic;

      q: out std_logic);

      end fen;architecture fen_arc of fen is begin process(clk)variable cnt: integer range 0 to 999999;variable x: std_logic;begin

      if clk'event and clk = '1' then

      if cnt<999999 then

      cnt:=cnt+1;

      else

      cnt:=0;

      x:= not x;

      end if;

      end if;

      q<=x;end process;end fen_arc;

      圖4-2

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      4.2 SEL模塊

      4.2.1 SEL 模塊流程圖

      圖4-3 4.2.2 SEL模塊輸入輸出引腳及其功能說明

      CLK:基準(zhǔn)時(shí)鐘信號(hào); Q[2..0]:產(chǎn)生數(shù)碼管的片選信號(hào)。4.2.3 程序代碼實(shí)現(xiàn)

      library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel is port(clk: in std_logic;

      圖4-4 q:out std_logic_vector(2 downto 0));

      end sel;

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      architecture sel_arc of sel is begin process(clk)variable cnt:std_logic_vector(2 downto 0);begin

      if clk'event and clk='1' then

      cnt:=cnt+1;

      end if;

      q<=cnt;end process;end sel_arc;4.3 模塊CORNA 4.3.1 CORNA 模塊流程圖

      圖4-5 14

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      4.3.2 輸入輸出引腳及其功能說明

      該模塊是整個(gè)程序的核心,它完成在1s的時(shí)間里對(duì)被測(cè)信號(hào)計(jì)數(shù)的功能,并通過選擇輸出數(shù)據(jù)實(shí)現(xiàn)自動(dòng)換擋的功能輸入輸出引腳及其功能說明CLR:復(fù)位按鈕;SIG:待測(cè)頻率信號(hào);DOOR:基準(zhǔn)時(shí)鐘頻率;ALM:蜂鳴器;DANG[3..0]:檔位值;Q0~4[3..0]:計(jì)算后的頻率值。4.3.3程序代碼實(shí)現(xiàn)

      library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity corna is port(clr,sig,door : in std_logic;

      alm : out std_logic;

      q3,q2,q1,q0,dang : out std_logic_vector(3 downto 0));end corna;

      architecture corn_arc of corna is begin process(door,sig)variable c0,c1,c2,c3,c4,c5,c6: std_logic_vector(3 downto 0);variable x:std_logic;

      begin

      if sig'event and sig='1' then

      if door='1' then

      if c0<“1001”then

      c0:=c0+1;

      else

      c0:=“0000”;

      if c1<“1001” then

      c1:=c1+1;

      else

      c1:=“0000”;

      圖4-6

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      if c2<“1001” then

      c2:=c2+1;

      else

      c2:=“0000”;

      if c3<“1001” then

      c3:=c3+1;

      else

      end if;

      end if;

      end if;

      end if;end if;end if;end if;else if clr = '0' then

      alm <= '0';end if;c6:=“0000”;c5:=“0000”;c4:=“0000”;c3:=“0000”;c2:=“0000”;

      c3:=“0000”;if c4<“1001” then c4:=c4+1;else c4:=“0000”;if c5<“1001” then

      c5:=c5+1;else

      c5:=“0000”;if c6<“1001” then

      c6:=c6+1;else

      c6:=“0000”;

      alm<='1';

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      c1:=“0000”;c0:=“0000”;end if;if c6/=“0000” then q3<=c6;q2<=c5;q1<=c4;q0<=c3;dang<=“0100”;elsif c5/=“0000” then q3<=c5;q2<=c4;q1<=c3;q0<=c2;dang<=“0011”;elsif c4/=“0000” then q3<=c4;q2<=c3;q1<=c2;q0<=c1;dang<=“0010”;else q3<=c3;q2<=c2;q1<=c1;q0<=c0;dang<=“0001”;end if;end if;end process;end corn_arc;

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      4.4 模塊LOCK 4.4.1 LOCK 模塊流程圖

      圖4-7 4.4.2 輸入輸出引腳及其功能說明

      該模塊實(shí)現(xiàn)鎖存器的功能,在信號(hào)L的下降沿到來時(shí)信號(hào)A4、A3、A2、A1鎖存。輸入輸出引腳及其功能說明L:基準(zhǔn)時(shí)鐘信號(hào);A0~4[3..0]:接受計(jì)數(shù)器CORNA傳過來的值并鎖存;Q0~4[3..0]:向數(shù)據(jù)選擇器傳值。4.4.3 程序代碼實(shí)現(xiàn)

      library ieee;use ieee.std_logic_1164.all;entity lock is

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      port(l: in std_logic;

      a4,a3,a2,a1,a0:in std_logic_vector(3 downto 0);

      q4,q3,q2,q1,q0:out std_logic_vector(3 downto 0));end lock;architecture lock_arc of lock is begin process(l)variable t4,t3,t2,t1,t0:std_logic_vector(3 downto 0);begin

      if l'event and l='0' then

      t4:=a4;

      t3:=a3;

      t2:=a2;

      t1:=a1;

      t0:=a0;

      end if;

      q4<=t4;

      q3<=t3;

      q2<=t2;

      q1<=t1;

      q0<=t0;end process;

      圖4-8 end lock_arc;4.5 模塊CH

      4.5.1 輸入輸出引腳及其功能說明

      該模塊對(duì)應(yīng)于數(shù)碼管片選信號(hào),將相應(yīng)的數(shù)據(jù)送出,其中檔位也通過數(shù)碼管顯示。輸入輸出引腳及其功能說明SEL[2..0]:接受SEL模塊傳來的數(shù)碼管片選信號(hào);A[3..0]:接受鎖存器傳來的數(shù)碼管片選信號(hào);DANG[3..0]:接受鎖存器傳來的檔位信號(hào);Q[3..0]:傳出數(shù)碼管位選信號(hào)。4.5.2 程序代碼實(shí)現(xiàn)

      library ieee;

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      use ieee.std_logic_1164.all;entity ch is port(sel:in std_logic_vector(2 downto 0);

      a3,a2,a1,a0,dang:in std_logic_vector(3 downto 0);

      q:out std_logic_vector(3 downto 0));end ch;

      architecture ch_arc of ch is begin process(sel)begin

      case sel is

      when “110” =>q<=a0;

      when “010” =>q<=a1;when “100” =>q<=a2;

      圖4-9

      when “000” =>q<=a3;

      when “101” =>q<=dang;

      when others =>q<= “1111”;end case;end process;end ch_arc;4.6 DISP模塊

      4.6.1輸入輸出引腳及其功能說明

      D[3..0]:接受CH傳出的數(shù)碼管位選信號(hào);Q[6..0]:譯碼出數(shù)碼管位選信號(hào); 4.6.2程序代碼實(shí)現(xiàn)

      use ieee.std_logic_1164.all;entity disp is port(d:in std_logic_vector(3 downto 0);

      q:out std_logic_vector(6 downto 0));

      圖4-10 end disp;

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      architecture disp_arc of disp is

      begin process(d)begin

      case d is

      when “0000” =>q<=“0111111”;

      when “0001” =>q<=“0000110”;

      when “0010” =>q<=“1011011”;

      when “0011” =>q<=“1001111”;

      when “0100” =>q<=“1100110”;

      when “0101” =>q<=“1101101”;

      when “0110” =>q<=“1111101”;

      when “0111” =>q<=“0100111”;

      when “1000” =>q<=“1111111”;

      when “1001” =>q<=“1101111”;

      when others =>q<=“0000000”;

      end case;end process;end disp_arc;

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      第五章

      5.1輸入說明

      調(diào)試并分析結(jié)果

      SIG:接1KHz頻率;CLR:接開關(guān);CLK:接4MHz頻率。

      5.2預(yù)計(jì)輸出

      低兩位數(shù)碼管顯示‘1’;高四位數(shù)碼管顯示‘1000’。

      5.3 測(cè)試結(jié)果記錄

      低兩位數(shù)碼管顯示‘1’;高四位數(shù)碼管顯示‘1000’。

      5.4 測(cè)試結(jié)果分析

      本頻率計(jì)滿足試驗(yàn)要求,使用周期和直接測(cè)量法進(jìn)行測(cè)量,這樣會(huì)減小誤差。實(shí)驗(yàn)中也遇到了很多問題,在器件在線編程過程中,program各項(xiàng)操作無法進(jìn)行,如果是首次編程,則需要設(shè)置下載端口,如果還比能進(jìn)行操作,可能是芯片或者試驗(yàn)箱出現(xiàn)問題,所以應(yīng)該換芯片或試驗(yàn)箱。在連接引腳是要特別注意,否則顯示管無法顯示。此外此試驗(yàn)還有需要改進(jìn)的地方,比如測(cè)量頻率的精度和靈敏度。

      待測(cè)信號(hào)給的是1KHz,數(shù)碼管檔位顯示為一檔(0~9999Hz);頻率顯示為‘1000’;與預(yù)計(jì)輸出完全一樣。因?yàn)榛鶞?zhǔn)信號(hào)和待測(cè)信號(hào)是同一個(gè)信號(hào)源,故如此準(zhǔn)確。也論證了上述設(shè)計(jì)的正確性。

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      圖5-1 如上圖,待測(cè)信號(hào)sig 10KHz,clk接1MHz顯示如圖,第一行和第二行為脈沖頻率,第三行為檔位,10KHz的待測(cè)信號(hào)檔位為二檔。

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      第六章 結(jié)論

      心得體會(huì)

      經(jīng)過這次的實(shí)驗(yàn)課程設(shè)計(jì),我學(xué)到了如何將多個(gè)程序綁在一起使用并構(gòu)成一個(gè)完整的系統(tǒng)。在老師的指導(dǎo)下、在我們實(shí)驗(yàn)設(shè)計(jì)小組的共同努力下、在其他同學(xué)的熱情幫助下,我們完整滴完成了《數(shù)字頻率計(jì)》的設(shè)計(jì)、組裝,并做了些創(chuàng)新。

      雖然實(shí)驗(yàn)成功,我們同樣在實(shí)驗(yàn)過程中遇到了一些問題: 1.剛開始時(shí)候的設(shè)計(jì)是每組組員做一部分,但是問題就是有些系數(shù)不能同一。因此造成了一開始實(shí)驗(yàn)進(jìn)展緩慢。2.在實(shí)驗(yàn)過程中,器材的問題也被我們遇到了。因此也得到了些經(jīng)驗(yàn):要對(duì)自己的實(shí)驗(yàn)成果由信心,不要一出問題就從程序中找問題??赡軐?duì)你最大的阻礙就是你沒有考慮到的器材問題。

      3.在最后仿真時(shí)候,導(dǎo)線的順序也是常出問題的地方。由于沒有及時(shí)發(fā)現(xiàn)問題的所在,我們小組花費(fèi)了整整一節(jié)課的時(shí)間在改程序,浪費(fèi)了許多寶貴時(shí)間。

      參考文獻(xiàn)

      【1】VHDL數(shù)字電路設(shè)計(jì)與應(yīng)用與實(shí)踐教程 【2】第2版王振紅 主編機(jī)械工業(yè)出版社

      數(shù)字電路與系統(tǒng)課程設(shè)計(jì)

      第二篇:數(shù)字頻率計(jì)

      //*********************************************************************

      //* 標(biāo)題: 簡易數(shù)字頻率計(jì) //* 文件: topdesign.v

      //* 作者: SJ&QJY

      //* 日期: 2009.06.10 //* 修改: 2009.12.20

      //* 軟件: Xilinx ISE 7.1 SP4

      //* 芯片: Xilinx Spartan2 FPGA(XC2S200-pq208)

      //* 說明: 測(cè)頻率并用LCD顯示,從信號(hào)源接入一個(gè)信號(hào)(正弦波,三角波或者方波),經(jīng)過AD1轉(zhuǎn)換后,送入FPGA中。

      //在FPGA中,使用雙值法整形,得到標(biāo)準(zhǔn)的方波,然后測(cè)出頻率,并送入1602中顯示。經(jīng)測(cè)試,其測(cè)頻誤差小于0.5%,其測(cè)頻范圍為10Hz-10MHz。

      //********************************************************************* //* 注意: 輸入信號(hào)電壓峰峰值不要超過AD輸入范圍,即4V。

      //*********************************************************************

      //---------------module topdesign(clk, rst, lcd_rs, lcd_rw, lcd_en, lcd_d, ad1_clk, ad1_d);

      input clk;

      //時(shí)鐘信號(hào)40MHz input rst;

      //全局復(fù)位信號(hào)

      output lcd_rs;//LCD數(shù)據(jù)/命令選擇信號(hào),'1'表示數(shù)據(jù)輸入,'0'表示命令輸入

      output lcd_rw;

      //LCD讀/寫信號(hào),'1'表示讀,'0'表示寫

      output reg lcd_en;

      //LCD使能信號(hào),'1'有效

      output[7:0] lcd_d;

      //LCD數(shù)據(jù)總線(8位)

      output ad1_clk;

      //AD時(shí)鐘信號(hào)

      input[11:0] ad1_d;

      //AD9224,12位AD輸入

      //LCD時(shí)序常量信號(hào)

      parameter[10:0] IDLE = 11'b00000000000;

      //初始化

      parameter[10:0] CLEAR = 11'b00000000001;

      //清屏

      parameter[10:0] RETURNCURSOR = 11'b00000000010;//歸位

      parameter[10:0] SETMODE = 11'b00000000100;

      //設(shè)置輸入模式。此狀態(tài)為完成一個(gè)字符碼傳送后,AC自動(dòng)減1,顯示不發(fā)生移位

      parameter[10:0] SWITCHMODE = 11'b00000001000;//顯示開關(guān)控制

      parameter[10:0] SHIFT = 11'b00000010000;//光標(biāo)或顯示移位

      parameter[10:0] SETFUNCTION = 11'b00000100000;//功能設(shè)置:數(shù)據(jù)總線選8位還是4位

      parameter[10:0] SETCGRAM = 11'b00001000000;//CGRAM的地址設(shè)置

      parameter[10:0] SETDDRAM = 11'b00010000000;

      //DDRAM地址設(shè)置

      parameter[10:0] READFLAG = 11'b00100000000;//讀忙標(biāo)志BF和AC

      parameter[10:0] WRITERAM = 11'b01000000000;

      //寫數(shù)據(jù)到CGRAM或DDRAM

      parameter[10:0] READRAM = 11'b10000000000;

      parameter cur_inc = 1'b1;

      parameter cur_dec = 1'b0;

      parameter cur_shift = 1'b1;

      parameter cur_noshift = 1'b0;

      parameter open_display = 1'b1;

      parameter open_cur = 1'b0;

      parameter blank_cur = 1'b0;

      parameter shift_display = 1'b1;

      parameter shift_cur = 1'b0;

      parameter right_shift = 1'b1;

      parameter left_shift = 1'b0;

      parameter datawidth8 = 1'b1;

      parameter datawidth4 = 1'b0;

      parameter twoline = 1'b1;

      parameter oneline = 1'b0;

      parameter font5x10 = 1'b1;

      parameter font5x7 = 1'b0;

      reg[10:0] state;

      //時(shí)序信號(hào)

      reg[5:0] counter;

      reg[3:0] div_counter;

      reg flag;

      //輔助時(shí)序信號(hào)

      parameter DIVSS = 4'd15;

      reg[5:0] char_addr;

      reg[7:0] data_in;

      //延遲參量信號(hào)

      reg clk_int;

      reg[19:0] clkcnt;

      parameter[19:0] divcnt = 20'b***00000;

      reg clkdiv;

      wire tc_clkcnt;

      //測(cè)頻部分

      parameter[15:0] ad_d_chankao1 = 16'b***1;

      parameter[15:0] ad_d_chankao2 = 16'b***1;

      reg[15:0] ad1_d_r;

      //計(jì)數(shù)部分

      reg[25:0] yimiao;

      //用來計(jì)數(shù)

      reg rukou;

      //整形方波

      reg[3:0] odata7;

      //記錄數(shù)據(jù)

      reg[3:0] odata6;

      reg[3:0] odata5;

      reg[3:0] odata4;

      reg[3:0] odata3;

      reg[3:0] odata2;

      //將近-25mV //將近25mV

      reg[3:0] odata1;

      reg[3:0] odata0;

      reg[7:0] data7;

      reg[7:0] data6;

      reg[7:0] data5;

      reg[7:0] data4;

      reg[7:0] data3;

      reg[7:0] data2;

      reg[7:0] data1;

      reg[7:0] data0;

      reg yimiao_rst;

      //將記錄的數(shù)據(jù)轉(zhuǎn)換成ASCII碼,以便顯示

      //數(shù)據(jù)清零信號(hào)

      //主程序

      assign ad1_clk = clk;

      always @(posedge clk)

      begin

      yimiao_rst =(yimiao == 26'b***00111111111)? 1'b0 : 1'b1;//一秒時(shí)清零信號(hào)有效

      end //測(cè)頻部分

      always @(posedge clk)

      begin

      ad1_d_r <= {ad1_d, 4'b0000};

      if(ad1_d_r > ad_d_chankao2)

      rukou <= 1'b1;

      if(ad1_d_r < ad_d_chankao1)

      rukou <= 1'b0;

      end //1秒鐘測(cè)頻

      always @(posedge clk)

      //每1秒鐘循環(huán)一次

      begin

      if(yimiao == 26'b***01000000000)

      yimiao <= 26'b***00000000000;

      else

      yimiao <= yimiao + 1;

      end

      //計(jì)數(shù)部分

      always @(posedge rukou or negedge yimiao_rst)

      if(~yimiao_rst)

      begin

      odata0 <= 4'b0000;

      odata1 <= 4'b0000;

      odata2 <= 4'b0000;

      odata3 <= 4'b0000;

      odata4 <= 4'b0000;

      odata5 <= 4'b0000;

      odata6 <= 4'b0000;

      odata7 <= 4'b0000;

      end

      else if(yimiao < 26'b***00111111111)

      begin

      begin

      if(odata0 == 4'b1001)

      begin

      odata0 <= 4'b0000;

      if(odata1 == 4'b1001)

      begin

      odata1 <= 4'b0000;

      if(odata2 == 4'b1001)

      begin

      odata2 <= 4'b0000;

      if(odata3 == 4'b1001)

      begin

      odata3 <= 4'b0000;

      if(odata4 == 4'b1001)

      begin

      odata4 <= 4'b0000;

      if(odata5 == 4'b1001)

      begin

      odata5 <= 4'b0000;

      if(odata6 == 4'b1001)

      begin

      odata6 <= 4'b0000;

      if(odata7 == 4'b1001)

      begin

      odata7 <= 4'b0000;

      end

      else

      begin

      odata7 <= odata7 + 1;

      end

      end

      else

      begin

      odata6 <= odata6 + 1;

      end

      end

      else

      begin

      odata5 <= odata5 + 1;

      end

      end

      else

      begin

      odata4 <= odata4 + 1;

      end

      end

      else

      begin

      odata3 <= odata3 + 1;

      end

      end

      else

      begin

      odata2 <= odata2 + 1;

      end

      end

      else

      begin

      odata1 <= odata1 + 1;

      end

      end

      else

      begin

      odata0 <= odata0 + 1;

      end

      end

      end

      //碼制轉(zhuǎn)換

      always @(posedge clk)

      begin

      if(yimiao == 26'b***00111110110)

      begin

      data7 <= {4'b0011, odata7};

      //將二進(jìn)制BCD碼轉(zhuǎn)換成ASCII碼,即1602可以顯示的碼值

      data6 <= {4'b0011, odata6};

      data5 <= {4'b0011, odata5};

      data4 <= {4'b0011, odata4};

      data3 <= {4'b0011, odata3};

      data2 <= {4'b0011, odata2};

      data1 <= {4'b0011, odata1};

      data0 <= {4'b0011, odata0};

      end

      end

      //時(shí)鐘分頻

      always @(posedge clk)

      begin

      if(clkcnt == divcnt)

      begin

      clkcnt <= 20'b***00000;

      end

      else

      begin

      clkcnt <= clkcnt + 1;

      end

      end

      assign tc_clkcnt =(clkcnt == divcnt)? 1'b1 : 1'b0;//tc_clkcnt 0.016s產(chǎn)生一次脈沖

      always @(posedge tc_clkcnt)

      begin

      clkdiv <= ~clkdiv;

      0.032s

      end

      always @(posedge clkdiv)

      begin

      clk_int <= ~clk_int;

      end

      //顯示界面設(shè)置

      always @(negedge clkdiv)

      begin

      lcd_en <= ~lcd_en;

      end

      always @(char_addr)

      begin

      case(char_addr)

      6'b000000 : //I

      //clkdiv 0.016s翻轉(zhuǎn)一次,周期為

      //clk_int 0.032s翻轉(zhuǎn)一次,周期為0.064s

      begin

      data_in <= 8'b01001001;

      end

      6'b000001 ://n

      begin

      data_in <= 8'b01101110;

      end

      6'b000010 : //p

      begin

      data_in <= 8'b01110000;

      end

      6'b000011 :

      //u

      begin

      data_in <= 8'b01110101;

      end

      6'b000100 :

      //t

      begin

      data_in <= 8'b01110100;

      end

      6'b000101 : //空格

      begin

      data_in <= 8'b00100000;

      end

      6'b000110 :

      //F

      begin

      data_in <= 8'b01100110;

      end

      6'b000111 :

      //r

      begin

      data_in <= 8'b01110010;

      end

      6'b001000 :

      //e

      begin

      data_in <= 8'b01100101;

      end

      6'b001001 :

      //q

      begin

      data_in <= 8'b01110001;

      end

      6'b001010 :

      //u

      begin

      data_in <= 8'b01110101;

      end

      6'b001011 : //e

      begin

      data_in <= 8'b01100101;

      end

      6'b001100 : //n

      begin

      data_in <= 8'b01101110;

      end

      6'b001101 : //c

      begin

      data_in <= 8'b01100011;

      end

      6'b001110 : //y

      begin

      data_in <= 8'b01111001;

      end

      6'b001111 :

      //空格

      begin

      data_in <= 8'b00100000;

      end

      6'b101000 :

      //“=”

      begin

      data_in <= 8'b00111101;

      end

      6'b101001 :

      //若為零則顯示空格

      begin

      if(data7 == 8'b00110000)

      begin

      data_in <= 8'b00100000;

      end

      else

      begin

      data_in <= data7;

      end

      end

      6'b101010 : //若為零則顯示空格

      begin

      data_in <= data6;

      if(data6 == 8'b00110000 & data7 == 8'b00110000)

      begin

      data_in <= 8'b00100000;

      end

      else

      begin

      data_in <= data6;

      end

      end

      6'b101011 :

      //若為零則顯示空格

      begin

      data_in <= data5;

      if(data5 == 8'b00110000 & data6 == 8'b00110000 & data7 == 8'b00110000)

      begin

      data_in <= 8'b00100000;

      end

      else

      begin

      data_in <= data5;

      end

      end

      6'b101100 : //若為零則顯示空格

      begin

      data_in <= data4;

      if(data4 == 8'b00110000 & data5 == 8'b00110000 & data6 == 8'b00110000 & data7 == 8'b00110000)

      begin

      data_in <= 8'b00100000;

      end

      else

      begin

      data_in <= data4;

      end

      end

      6'b101101 :

      //若為零則顯示空格

      begin

      data_in <= data3;

      if(data3 == 8'b00110000 & data4 == 8'b00110000 & data5 == 8'b00110000 & data6 == 8'b00110000 & data7 == 8'b00110000)

      begin

      data_in <= 8'b00100000;

      end

      else

      begin

      data_in <= data3;

      end

      end

      6'b101110 :

      //若為零則顯示空格

      begin

      data_in <= data2;

      if(data2 == 8'b00110000 & data3 == 8'b00110000 & data4 == 8'b00110000 & data5 == 8'b00110000 & data6 == 8'b00110000 & data7 == 8'b00110000)

      begin

      data_in <= 8'b00100000;

      end

      else

      begin

      data_in <= data2;

      end

      end

      6'b101111 :

      //若為零則顯示空格

      begin

      data_in <= data1;

      if(data1 == 8'b00110000 & data2 == 8'b00110000 & data3 == 8'b00110000 & data4 == 8'b00110000 & data5 == 8'b00110000 & data6 == 8'b00110000 & data7 == 8'b00110000)

      begin

      data_in <= 8'b00100000;

      end

      else

      begin

      data_in <= data1;

      end

      end

      6'b110000 :

      begin

      data_in <= data0;

      end

      6'b110110 :

      //H

      begin

      data_in <= 8'b01001000;

      end

      6'b110111 :

      //z

      begin

      data_in <= 8'b01111010;

      end

      default :

      begin

      data_in <= 8'b00100000;

      end

      endcase

      end

      assign lcd_rs =(state == WRITERAM | state == READRAM)? 1'b1 : 1'b0;

      assign lcd_rw =(state == CLEAR | state == RETURNCURSOR | state == SETMODE | state ==

      SWITCHMODE | state == SHIFT | state == SETFUNCTION | state == SETCGRAM | state == SETDDRAM | state == WRITERAM)? 1'b0 : 1'b1;

      assign lcd_d =(state == CLEAR)? 8'b00000001 :(state == RETURNCURSOR)? 8'b00000010 :(state == SETMODE)? {6'b000001, cur_inc, cur_noshift} :(state == SWITCHMODE)? {5'b00001, open_display, open_cur, blank_cur} :(state == SHIFT)? {4'b0001, shift_display, left_shift, 2'b00} :(state == SETFUNCTION)? {3'b001, datawidth8, twoline, font5x10, 2'b00} :(state == SETCGRAM)? 8'b01000000 :(state == SETDDRAM & counter == 0)? 8'b10000000 :(state == SETDDRAM & counter!= 0)? 8'b11000000 :(state == WRITERAM)? data_in : 8'bZZZZZZZZ;

      //時(shí)序進(jìn)程

      always @(posedge clk_int or posedge rst)

      begin

      if(rst)

      begin

      state <= IDLE;

      counter <= 0;

      div_counter <= 0;

      flag <= 1'b0;

      char_addr <= 6'b000000;

      end

      else

      case(state)

      IDLE :

      begin

      if(flag == 1'b0)

      begin

      state <= SETFUNCTION;

      flag <= 1'b1;

      counter <= 0;

      div_counter <= 0;

      end

      else

      begin

      if(div_counter < DIVSS)

      begin

      div_counter <= div_counter + 1;

      state <= IDLE;

      end

      else

      begin

      div_counter <= 0;

      state <= IDLE;

      end

      end

      end

      CLEAR :

      begin

      state <= SETMODE;

      end

      SETMODE :

      begin

      state <= WRITERAM;

      end

      RETURNCURSOR :

      begin

      state <= WRITERAM;

      end

      SWITCHMODE :

      begin

      state <= CLEAR;

      end

      SHIFT :

      begin

      state <= IDLE;

      end

      SETFUNCTION :

      begin

      state <= SWITCHMODE;

      end

      SETCGRAM :

      begin

      state <= IDLE;

      end

      SETDDRAM :

      begin

      state <= WRITERAM;

      end

      READFLAG :

      begin

      state <= IDLE;

      end

      WRITERAM :

      //可用來修改,實(shí)現(xiàn)1602的輸出顯示

      begin

      if((counter >= 6'd0 & counter <= 6'd14)|(counter >= 6'd40 & counter <= 6'd54))

      begin

      state <= WRITERAM;

      //一行同時(shí)只能顯示16個(gè)字符,第二行的首地址為40

      char_addr <= char_addr + 1;

      counter <= counter + 1;

      end

      else if(counter > 6'd14)

      //換到第二行顯示

      begin

      state <= SETDDRAM;

      counter <= 6'd40;

      char_addr <= 6'b101000;

      end

      else

      begin

      state <= SHIFT;

      state <= READRAM;

      end

      end

      READRAM :

      begin

      state <= IDLE;

      end

      default :

      begin

      state <= IDLE;

      end

      endcase

      end endmodule

      第三篇:課程設(shè)計(jì)----數(shù)字頻率計(jì)

      電子課程設(shè)計(jì)報(bào)告

      設(shè)計(jì)課題: 數(shù)字頻率計(jì) 作 者:

      李成贊≦

      專 業(yè): 08信息工程 班 級(jí):(2)班

      學(xué) 號(hào): 3081231201 日 期 2009年6月5日——2009年6月17日

      指導(dǎo)教師: 廖 東 進(jìn)

      設(shè)計(jì)小組其他成員:葉昕瑜 史海鑌 陳福青 姚閩 梁芳芳

      衢州職業(yè)技術(shù)學(xué)院信息與電力工程系

      前 言

      一、頻率計(jì)的基本原理:

      頻率計(jì)又稱為頻率計(jì)數(shù)器,是一種專門對(duì)被測(cè)信號(hào)頻率進(jìn)行測(cè)量的電子測(cè)量儀器。其最基本的工作原理為:當(dāng)被測(cè)信號(hào)在特定時(shí)間段T內(nèi)的周期個(gè)數(shù)為N時(shí),則被測(cè)信號(hào)的頻率f=N/T。

      頻率計(jì)主要由四個(gè)部分構(gòu)成:時(shí)基(T)電路、輸入電路、計(jì)數(shù)顯示電路以及控制電路。在一個(gè)測(cè)量周期過程中,被測(cè)周期信號(hào)在輸入電路中經(jīng)過放大、整形、微分操作之后形成特定周期的窄脈沖,送到主門的一個(gè)輸入端。主門的另外一個(gè)輸入端為時(shí)基電路產(chǎn)生電路產(chǎn)生的閘門脈沖。在閘門脈沖開啟主門的期間,特定周期的窄脈沖才能通過主門,從而進(jìn)入計(jì)數(shù)器進(jìn)行計(jì)數(shù),計(jì)數(shù)器的顯示電路則用來顯示被測(cè)信號(hào)的頻率值,內(nèi)部控制電路則用來完成各種測(cè)量功能之間的切換并實(shí)現(xiàn)測(cè)量設(shè)置。

      二、頻率計(jì)的應(yīng)用范圍:

      在傳統(tǒng)的電子測(cè)量儀器中,示波器在進(jìn)行頻率測(cè)量時(shí)測(cè)量精度較低,誤差較大。頻譜儀可以準(zhǔn)確的測(cè)量頻率并顯示被測(cè)信號(hào)的頻譜,但測(cè)量速度較慢,無法實(shí)時(shí)快速的跟蹤捕捉到被測(cè)信號(hào)頻率的變化。正是由于頻率計(jì)能夠快速準(zhǔn)確的捕捉到被測(cè)信號(hào)頻率的變化,因此,頻率計(jì)擁有非常廣泛的應(yīng)用范圍。

      在傳統(tǒng)的生產(chǎn)制造企業(yè)中,頻率計(jì)被廣泛的應(yīng)用在產(chǎn)線的生產(chǎn)測(cè)試中。頻率計(jì)能夠快速的捕捉到晶體振蕩器輸出頻率的變化,用戶通過使用頻率計(jì)能夠迅速的發(fā)現(xiàn)有故障的晶振產(chǎn)品,確保產(chǎn)品質(zhì)量。

      在計(jì)量實(shí)驗(yàn)室中,頻率計(jì)被用來對(duì)各種電子測(cè)量設(shè)備的本地振蕩器進(jìn)行校準(zhǔn)。在無線通訊測(cè)試中,頻率計(jì)既可以被用來對(duì)無線通訊基站的主時(shí)鐘進(jìn)行校準(zhǔn),還可以被用來對(duì)無線電臺(tái)的跳頻信號(hào)和頻率調(diào)制信號(hào)進(jìn)行分析。

      目 錄

      1、設(shè)計(jì)要求

      數(shù)字頻率計(jì)

      2、第一章 系統(tǒng)概述

      3、第二章單元電路設(shè)計(jì)與分析 3.1 數(shù)字頻率計(jì)的基本原理 3.2 數(shù)字頻率的設(shè)計(jì) 3.2.1 放大整形電路

      3.2.2 時(shí)基電路

      3.2.3 邏輯控制電路 3.2.4 輸出實(shí)現(xiàn)器

      4、第三章 總結(jié)設(shè)計(jì)

      附錄A 系統(tǒng)電路原理圖

      附錄B 元件清單

      附錄C 參考文獻(xiàn)

      設(shè) 計(jì) 要 求

      電子課程設(shè)計(jì)報(bào)告格式:

      每人必須寫出一份4000字以上設(shè)計(jì)總結(jié)報(bào)告,總結(jié)報(bào)告應(yīng)包括以下內(nèi)容:

      題目名稱、前言、目錄、鳴謝、元器件明細(xì)表、附圖、參數(shù)文獻(xiàn)。

      其中,前言應(yīng)包含設(shè)計(jì)題目的主要內(nèi)容、資料收集工作的簡介。正文參考格式如下:

      第一章 系統(tǒng)概述

      簡單介紹系統(tǒng)設(shè)計(jì)思路與總體解決的可行論證,各功能塊的劃分與組成,全面介紹總體工作或工作原理。

      第二章 單元電路設(shè)計(jì)與分析

      詳細(xì)介紹個(gè)單元電路的選擇、設(shè)計(jì)及工作原理分析,并介紹有關(guān)參數(shù)的計(jì)算及元件參數(shù)的選擇等。

      第三章 總結(jié)

      簡單介紹對(duì)設(shè)計(jì)題目的結(jié)論性意見,進(jìn)一步完善或改進(jìn)的意向性說明,總結(jié)設(shè)計(jì)課程的收獲與體會(huì)。

      元器件明細(xì)表主要用于列出本次課程設(shè)計(jì)中所用到的全部元器件。

      附圖要求用2#以上圖紙畫出總原理接線圖,參考文獻(xiàn)格式如下:

      序號(hào) 作者名 書刊名 出版社 出版時(shí)間(刊號(hào))

      數(shù)字頻率計(jì)(設(shè)計(jì)要求):

      數(shù)字頻率計(jì)是用來測(cè)量正弦信號(hào)、矩形信號(hào)等波形上工作頻率的儀器,其測(cè)量結(jié)果直接用十進(jìn)制數(shù)字顯示。本題要求采用中、小規(guī)模集成芯片設(shè)計(jì)集成有下列功能的數(shù)字頻率測(cè)量計(jì):

      被測(cè)信號(hào)的頻率范圍為1Hz—100KHz,分成兩個(gè)頻段,即1—999Hz、1—100KHz,用三位數(shù)碼管顯示測(cè)量數(shù)據(jù),測(cè)量誤差小于5%。

      數(shù)字頻率計(jì)

      第一章 系統(tǒng)概述

      為了使計(jì)數(shù)器被測(cè)信號(hào)的頻率范圍為1—999Hz、,用三位數(shù)碼管顯示測(cè)量數(shù)據(jù)。

      第二章 單元電路設(shè)計(jì)與分析

      一、數(shù)字頻率計(jì)測(cè)頻率的基本原理

      所謂頻率,就是周期性信號(hào)在單位時(shí)間(1s)內(nèi)變化的次數(shù)。若在一定時(shí)間間隔T秒內(nèi)測(cè)得 這個(gè)周期性信號(hào)的重復(fù)變化次數(shù)為N,則其頻率可表示為:

      f=N/T

      圖1——數(shù)字頻率計(jì)的組成框圖和波形圖

      圖1是數(shù)字頻率計(jì)的組成框圖。被測(cè)信號(hào)v x 經(jīng)放大整形電路變成計(jì)數(shù)器所要求的脈沖信號(hào)I,其頻率與被測(cè)信號(hào)的頻率f x 相同。時(shí)基電路提供標(biāo)準(zhǔn)時(shí)間基準(zhǔn)信號(hào)II,其高電平持續(xù)時(shí)間t1=1 秒,當(dāng)l秒信號(hào)來到時(shí),閘門開通,被測(cè)脈沖信號(hào)通過閘門,計(jì)數(shù)器開始計(jì)數(shù),直到l秒信號(hào)結(jié)束時(shí)閘門關(guān)閉,停止計(jì)數(shù)。若在閘門時(shí)間1s內(nèi)計(jì)數(shù)器計(jì)得的脈沖個(gè)數(shù)為N,則被測(cè)信號(hào)頻率f 邏輯控制電路的作用有兩個(gè):一是產(chǎn)生鎖存脈沖IV,使顯示器上的數(shù)x =NHz。字穩(wěn)定;二是產(chǎn)生清“0”脈沖V,使計(jì)數(shù)器每次測(cè)量從零開始計(jì)數(shù)。

      各信號(hào)之間的時(shí)序關(guān)系如圖1所示。

      二、數(shù)字頻率計(jì)的電路設(shè)計(jì)

      基本電路設(shè)計(jì)

      數(shù)字頻率計(jì)的基本框圖如圖1所示,各部分作用如下。

      ①放大整形電路

      圖2——放大整形電路圖

      放大整形電路由晶體管3DG100與74LS00等組成,其中3DGl00組成放大器將輸入頻率。為f 三角波等進(jìn)行放大,與非門74LS00構(gòu)成施密特觸發(fā)器,它對(duì)放 x 的周期信號(hào)如正弦波、大器的輸出信號(hào)進(jìn)行整形,使之成為矩形脈沖。

      ②時(shí)基電路

      圖3——時(shí)基電路

      時(shí)基電路的作用是產(chǎn)生一個(gè)標(biāo)準(zhǔn)時(shí)間信號(hào)(高電平持續(xù)時(shí)間為 1s),由定時(shí)器555構(gòu)成的多諧振蕩器產(chǎn)生。若振蕩器的頻率 f0 1/(t1 t 2)0.8Hz,則振蕩器的輸出波形如圖1中的波形II所示,其中t1=1s,t2=0.25s。由公式t1=0.7(R1+R2)C和t2=0.7R2C,可計(jì)算出電阻R1、R2及電容C的值如圖。

      ③邏輯控制電路

      圖4——邏輯控制電路

      根據(jù)圖1所示波形,在計(jì)數(shù)信號(hào)II結(jié)束時(shí)產(chǎn)生鎖存信號(hào)IV,鎖存信號(hào)IV 結(jié)束時(shí)產(chǎn)生 清“0”信號(hào) V。脈沖信號(hào)IV和V可由兩個(gè)單穩(wěn)態(tài)觸發(fā)器74LS123產(chǎn)生,它們的脈沖寬度由電路的時(shí)間常數(shù)決定。

      設(shè)所存信號(hào)IV和清“0”信號(hào)V的脈沖寬度tw相同,如果要求tw=0.02s,則得:

      tw=0.45RextCext=0.02s

      若取 Rext=10kΩ,則 Cext=tw/0.45Rext=4.4μ

      F。

      由74LS123的功能(見下表1)可得,當(dāng) 1R 1B ?1 觸發(fā)脈沖從1A端輸入時(shí),在觸D

      發(fā)脈沖的負(fù)跳變作用下,輸出端1Q可獲得一負(fù)脈沖,其波形關(guān)系正好滿足圖1所示的波形IV和V的要求。手動(dòng)復(fù)位開關(guān)S按下時(shí),計(jì)數(shù)器清“0”。

      表1——74LS123功芯片能表

      ④輸出實(shí)現(xiàn)器

      圖5——頻率計(jì)算器

      表2——74LS90的不同接線方法

      鎖存器的作用是將計(jì)數(shù)器在1s結(jié)束時(shí)所計(jì)得的數(shù)進(jìn)行鎖存,使顯示器上能穩(wěn)定地顯示 此時(shí)計(jì)數(shù)器的值。如圖所示,1s計(jì)數(shù)時(shí)間結(jié)束時(shí),邏輯控制電路發(fā)出鎖存信號(hào)IV,將此時(shí)計(jì)數(shù)器的值送譯碼顯示器,選用兩個(gè)8位鎖存器74L273可以完成上述功能。當(dāng)時(shí)鎖存信號(hào)CP的正跳變來到時(shí),鎖存器的輸出等于輸入,從而將計(jì)數(shù)器的輸出值送到鎖存器的輸出端。

      高電平結(jié)束后,無論D為何值,輸出端的狀態(tài)仍保持原來的狀態(tài)不變,所以在計(jì)數(shù)期間內(nèi),計(jì)數(shù)器的輸出不會(huì)送到譯碼顯示器。

      表3——74LS273功能表

      表4——74LS4

      第三章 結(jié)束語

      ①設(shè)計(jì)總結(jié)

      簡易的數(shù)字頻率計(jì)基本完成,各Vcc接電源正極,各開關(guān)控制電路的各個(gè)部分。整個(gè)電路綜合使用了與門、非門、555定時(shí)器、顯示器、74LS48譯碼器、74LS273鎖存器、74LS90計(jì)數(shù)器等等的邏輯器件和施密特、可重觸發(fā)器等模擬電子器件。

      ②設(shè)計(jì)心得、體會(huì)

      本次課程設(shè)計(jì)由李成贊同學(xué)總設(shè)計(jì),在廖東進(jìn)老師輔導(dǎo)下順利完成啦。通過本次的課程設(shè)計(jì),加深了我對(duì)數(shù)字電子技術(shù)模擬電子兩門課程的理解,強(qiáng)化了我對(duì)相關(guān)知識(shí)的記憶,提高了我對(duì)所學(xué)知識(shí)的應(yīng)用。這極大擴(kuò)展了我的視野,更加激發(fā)了我對(duì)這門課程的熱愛,在設(shè)計(jì)的過程中,由于綜合應(yīng)用了各種學(xué)習(xí)、應(yīng)用軟件,例如:word、auto CAD、Multisim等,不但體改了技能,還能從中獲得了成就感。通過這次設(shè)計(jì),我完全知道了團(tuán)隊(duì)合作的所帶來的快樂,集體的力量的強(qiáng)大性!我定位了我自己,發(fā)現(xiàn)自己的優(yōu)勢(shì)和不足,并且勉勵(lì)自己不斷進(jìn)步,并對(duì)未來充滿信心。

      再此感謝給與指導(dǎo)的廖東進(jìn)老師、李培江老師、黃云龍老師的指導(dǎo)。對(duì)本課程設(shè)計(jì)的的大力支持。

      附錄A

      統(tǒng)

      附錄B:元件清單

      附錄C:參考文獻(xiàn)

      第四篇:數(shù)字頻率計(jì)設(shè)計(jì)

      數(shù)字頻率計(jì)設(shè)計(jì) 1.設(shè)計(jì)任務(wù)

      設(shè)計(jì)一簡易數(shù)字頻率計(jì),其基本要求是:

      1)測(cè)量頻率范圍1Hz~10Hz,量程分為4檔,即×1,×10,×100,×1000。2)頻率測(cè)量準(zhǔn)確度?fx??2?10?3.fx3)被測(cè)信號(hào)可以是下弦波、三角波和方波。4)顯示方式為4位十進(jìn)制數(shù)顯示。5)使用EWB進(jìn)行仿真。2.設(shè)計(jì)原理及方案

      頻率的定義是單位時(shí)間(1s)內(nèi)周期信號(hào)的變化次數(shù)。若在一定時(shí)間間隔T內(nèi)測(cè)得周期信號(hào)的重復(fù)變化次數(shù)為N,則其頻率為

      f=N/T 據(jù)此,設(shè)計(jì)方案框圖如圖1所示。

      圖1 數(shù)字頻率計(jì)組成框圖

      其基本原理是,被測(cè)信號(hào)ux首先經(jīng)整形電路變成計(jì)數(shù)器所要求的脈沖信號(hào),頻率與被測(cè)信號(hào)的頻率fx相同。時(shí)鐘電路產(chǎn)生時(shí)間基準(zhǔn)信號(hào),分頻后控制計(jì)數(shù)與保持狀態(tài)。當(dāng)其高電平時(shí),計(jì)數(shù)器計(jì)數(shù);低電平時(shí),計(jì)數(shù)器處于保持狀態(tài),數(shù)據(jù)送入鎖存器進(jìn)行鎖存顯示。然后對(duì)計(jì)數(shù)器清零,準(zhǔn)備下一次計(jì)數(shù)。其波形邏輯關(guān)系圖如圖2所示。3.基本電路設(shè)計(jì) 1)整形電路

      整形電路是將待測(cè)信號(hào)整形變成計(jì)數(shù)器所要求的脈沖信號(hào)。電路形式采用由555定時(shí)器所構(gòu)成的施密特觸發(fā)器,電路如圖XXX所示。若待測(cè)信號(hào)為三角波,輸入整形電路,設(shè)置分析為瞬態(tài)分析,啟動(dòng)電路,其輸入、輸出波形如圖XXX所示??梢娸敵鰹榉讲?,二者頻率相同。

      2)時(shí)鐘產(chǎn)生電路

      時(shí)鐘信號(hào)是控制計(jì)數(shù)器計(jì)數(shù)的標(biāo)準(zhǔn)時(shí)間信號(hào),其精度很大程度上決定了頻率計(jì)的頻率測(cè)量精度。當(dāng)要求頻率測(cè)量精度較高時(shí),應(yīng)使用晶體振蕩器通過分頻獲得。在此頻率計(jì)中,時(shí)鐘信號(hào)采用555定時(shí)器構(gòu)成的多諧振蕩器電路,產(chǎn)生頻率為1Kz的信號(hào),然后再進(jìn)行分頻。多諧振蕩器電路如圖XXX所示。由555定時(shí)器構(gòu)成多諧振蕩器的周期計(jì)算公式為

      XXXXXXXXXX 取XXXXXXXXXXXXXX,則得到振蕩頻率為1Kz的負(fù)脈沖,其振蕩波形如圖XXX所示。3)分頻器電路

      采用計(jì)數(shù)器構(gòu)成分頻電路,對(duì)1Kz的時(shí)鐘脈沖進(jìn)行分頻,取得不同量程所需要的時(shí)間基準(zhǔn)信號(hào),實(shí)現(xiàn)量程控制。1Kz的時(shí)鐘脈沖,對(duì)其進(jìn)行3次10分頻,每個(gè)10分頻器的輸出信號(hào)頻率分別為100Hz,10Hz,1Hz三種時(shí)間基準(zhǔn)信號(hào)。對(duì)應(yīng)于以1Kz,100Hz,10Hz,1Hz的信號(hào)作為時(shí)間基準(zhǔn)信號(hào)時(shí),相應(yīng)的量程為×1000,×100,×10,×1。

      構(gòu)成10分頻帶電路是采用十進(jìn)制計(jì)數(shù)器74LS160實(shí)現(xiàn)的。具體電路及其輸入、輸出波形如圖XXX所示。

      (1)T觸發(fā)器

      T觸發(fā)器電路是用來將分頻帶器輸出阻抗的窄脈沖整形為方波,因?yàn)橛?jì)數(shù)器需要用方波來控制其計(jì)數(shù)/保持狀態(tài)的切換。整形后方波的頻率為頻器輸出信號(hào)頻率的一半,則對(duì)應(yīng)于1Kz,100Kz,10Kz,1Hz的信號(hào),T觸發(fā)器輸出信號(hào)的高電平持續(xù)時(shí)間分別為0.001s,0.01s,0.1s,1s。T觸發(fā)器采用JK觸發(fā)器7473為實(shí)現(xiàn),其電路連接圖及其輸入、輸出波形如圖XXX所示。

      (2)單穩(wěn)觸發(fā)器

      單穩(wěn)觸發(fā)器用于產(chǎn)生一窄脈沖,以觸發(fā)鎖存器,使計(jì)數(shù)器在計(jì)數(shù)完畢后更新鎖存器數(shù)值。單穩(wěn)觸發(fā)器電路采用555定時(shí)器實(shí)現(xiàn),為了保證系統(tǒng)正常工作,單穩(wěn)電路產(chǎn)生的脈沖寬度不能大于該量程分頻帶器輸出信號(hào)的周期。例如,計(jì)數(shù)器的最大量程是×1000,對(duì)應(yīng)分頻帶器輸出的時(shí)間基準(zhǔn)信號(hào)頻率為1000Hz,周期是1ms。取單穩(wěn)電路輸出脈沖寬度TW=0.1ms。根據(jù)TW=1.1RC,取C=0.01Uf,則R=9.8KΩ,取標(biāo)稱什為10KΩ。單穩(wěn)觸發(fā)器輸入信號(hào)是T觸發(fā)器輸出信號(hào)經(jīng)Rd、Cd組成的微分器將方波變成尖脈沖后加到555定時(shí)器的觸發(fā)器。電路圖及輸入、輸出波形如圖XXX所示。

      (3)延遲反相器

      延時(shí)反相器的功能是為了得到一個(gè)對(duì)計(jì)數(shù)器清零的信號(hào)。由于計(jì)數(shù)器清零是低電平有效,而且計(jì)數(shù)器清零必須在單穩(wěn)觸發(fā)信號(hào)之后,故延遲反相器是在上述單穩(wěn)電路之后,再加一級(jí)單穩(wěn)觸發(fā)電路,且在其輸出端加反相器輸出。其輸入、輸出波形如圖XXX所示。(4)計(jì)數(shù)器

      計(jì)數(shù)器在T觸發(fā)器輸出信號(hào)的控制下,對(duì)經(jīng)過整形的待測(cè)信號(hào)進(jìn)行脈沖計(jì)數(shù),所得結(jié)果乘以量程即為待測(cè)信號(hào)頻率。

      根據(jù)精度要求,采用4個(gè)十進(jìn)制計(jì)數(shù)器級(jí)聯(lián),構(gòu)成N=1000計(jì)數(shù)器。十進(jìn)制計(jì)數(shù)器仍采用74LS160實(shí)現(xiàn)。其電路圖如圖XXX所示。其中計(jì)數(shù)器的清零信號(hào)由延遲反相器提供,控制信號(hào)由T觸發(fā)器提供,計(jì)數(shù)器輸出結(jié)果送入鎖存器。

      (5)鎖存器和顯示

      計(jì)數(shù)器的結(jié)果進(jìn)入鎖存器鎖存,4個(gè)七段數(shù)碼管顯示測(cè)試信號(hào)的頻率。鎖存器使用了兩片8D集成觸發(fā)器實(shí)現(xiàn),其控制信號(hào)來自于延遲反相器,具體電路如圖XXX所示。

      (6)數(shù)字頻率計(jì)的總體電路

      圖XXX是數(shù)字頻率計(jì)的總體電路圖。

      4.測(cè)試

      搭建好以上電路以后,進(jìn)行調(diào)試,首先分模塊進(jìn)行調(diào)試,待每一個(gè)模塊調(diào)試正確后,不規(guī)則進(jìn)行聯(lián)調(diào)。因?yàn)檎麄€(gè)電路的分析是瞬態(tài)分析,故總體電路的分析需要較長時(shí)間。以上僅僅是學(xué)生所做綜合電路分析與設(shè)計(jì)的例子,由于EWB5.12教學(xué)版本庫元件的限制,有些電路與系統(tǒng)無法進(jìn)行全部電路的仿真(例如收發(fā)信通信系統(tǒng)等),但有些局部電路也可以進(jìn)行仿真,從而節(jié)省對(duì)這部分電路設(shè)計(jì)化費(fèi)的時(shí)間。

      第五篇:基于FPGA的簡易數(shù)字頻率計(jì)

      EDA 簡易數(shù)字頻計(jì) 設(shè)計(jì)性實(shí)驗(yàn) 2008112020327 ** 電子信息科學(xué)與技術(shù)

      物電

      電工電子中心2009年5月繪制

      2008.6.10 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      簡易數(shù)字頻率計(jì)設(shè)計(jì)

      一.任務(wù)解析

      通過對(duì)選擇題的分析,認(rèn)為該簡易數(shù)字頻率計(jì)應(yīng)該能達(dá)到以下要求: 1. 準(zhǔn)確測(cè)出所給的方波信號(hào)的頻率(1HZ以上的信號(hào))。2. 在顯示環(huán)節(jié)上,應(yīng)能實(shí)現(xiàn)高位清零功能。3. 另外還有一個(gè)總的清零按鍵。

      二.方案論證

      本實(shí)驗(yàn)中所做的頻率計(jì)的原理圖如上圖所示。即在一個(gè)1HZ時(shí)鐘信號(hào)的控制下,在每個(gè)時(shí)鐘的上升沿將計(jì)數(shù)器的數(shù)據(jù)送到緩沖器中保存起來,再送數(shù)碼管中顯示出來。

      第2頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      在本實(shí)驗(yàn)中,用到過幾中不同的方案,主要是在1HZ時(shí)鐘信號(hào)的選擇和計(jì)數(shù)器清零環(huán)節(jié)上:

      1. 在實(shí)驗(yàn)設(shè)計(jì)過程中,考濾到兩種1HZ時(shí)鐘信號(hào)其波形如下圖所

      對(duì)于上術(shù)的兩種波形,可以調(diào)整各項(xiàng)參數(shù)來產(chǎn)生兩種1HZ時(shí)鐘信號(hào)。最后通過實(shí)驗(yàn)的驗(yàn)證發(fā)現(xiàn)第二種波形對(duì)于控制緩沖器獲得數(shù)據(jù)和控制計(jì)數(shù)器清零更易實(shí)現(xiàn)。并且,用第二種波形做為時(shí)鐘信號(hào),可以在很短的高電平時(shí)間內(nèi)對(duì)計(jì)數(shù)器清零,在低電平時(shí)間內(nèi)讓計(jì)數(shù)器計(jì)數(shù),從面提高測(cè)量的精度。而用第一種波形則不易實(shí)現(xiàn)這個(gè)過程。

      2.在計(jì)數(shù)器的清零過程中,也有兩個(gè)方案,分別是能通過緩沖器反回一個(gè)清零信號(hào),另一個(gè)是在時(shí)鐘的控制下進(jìn)行清零。最終通過實(shí)驗(yàn)發(fā)現(xiàn),用時(shí)鐘進(jìn)行清零更易實(shí)現(xiàn)。因?yàn)槿绻镁彌_器反回一個(gè)清零信號(hào),有一個(gè)清零信號(hào)歸位問題,即當(dāng)緩沖器反回一個(gè)低電平清零信號(hào)時(shí),計(jì)數(shù)器實(shí)現(xiàn)清零,但不好控制讓緩器沖的清零信號(hào)又回到高電平,否則計(jì)數(shù)器就一直處于清零狀態(tài)面不能正常計(jì)數(shù)了。

      三.實(shí)驗(yàn)步驟

      通過上分析后,實(shí)驗(yàn)分為以下幾步:

      1.1HZ時(shí)鐘信號(hào)的產(chǎn)生(產(chǎn)生該信號(hào)的模塊如下):

      module ones(clk,clkout);input clk;output clkout;parameter parameter N=24000000;n=24;

      第3頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      reg [n:0]cnt;reg clkout;

      always @(posedge clk)begin if(cnt==N)else end endmodule begin cnt=0;

      clkout=1;clkout=0;end

      end begin cnt=cnt+1;最終產(chǎn)生的信號(hào)的波形:

      2. 計(jì)數(shù)模塊。其主要公能是在每個(gè)被測(cè)信號(hào)的上升沿自動(dòng)加一,并且有一個(gè)清零信號(hào)的輸入端,在1HZ時(shí)鐘信號(hào)的高電平時(shí)間里進(jìn)行清零。模塊如下:

      module count_99999999(sign,clr,b0,b1,b2,b3,b4,b5,b6,b7);input sign,clr;output [3:0]b0,b1,b2,b3,b4,b5,b6,b7;reg [3:0]b0,b1,b2,b3,b4,b5,b6,b7;always @(posedge sign or posedge clr)

      if(clr)begin b0=0;b1=0;b2=0;b3=0;b4=0;b5=0;b6=0;b7=0;end else begin if(b0<9)b0=b0+1;else begin b0=0;if(b1<9)

      第4頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      b1=b1+1;else begin b1=0;if(b2<9)b2=b2+1;else begin

      b2=0;

      if(b3<9)

      b3=b3+1;

      else begin

      b3=0;

      if(b4<9)

      b4=b4+1;

      else begin

      b4=0;

      if(b5<9)

      b5=b5+1;

      else begin

      b5=0;

      if(b6<9)

      b6=b6+1;

      else begin

      b6=0;

      if(b7<9)

      b7=b7+1;

      else b7=0;

      第5頁,共11頁

      湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      end

      end

      end

      end

      end

      end end

      end endmodule 如果要訪真該模塊,要設(shè)定較長的訪真時(shí)間,故在此不進(jìn)行軟件訪真,只在實(shí)驗(yàn)箱上進(jìn)行實(shí)驗(yàn)。

      3. 數(shù)據(jù)緩沖模塊。在每個(gè)秒級(jí)門控信號(hào)的上升沿接收計(jì)數(shù)器的數(shù)據(jù),并送到驅(qū)動(dòng)八個(gè)數(shù)碼管的顯示模塊里。

      module fre_count(clk,clr,b0,b1,b2,b3,b4,b5,b6,b7,a0,a1,a2,a3,a4,a5,a6,a7);input clk,clr;input [3:0]b0,b1,b2,b3,b4,b5,b6,b7;output [3:0]a0,a1,a2,a3,a4,a5,a6,a7;reg clro;reg [3:0]a0,a1,a2,a3,a4,a5,a6,a7;always @(posedge clk or negedge clr)//clk應(yīng)該為1HZ的信號(hào)// begin if(!clr)

      begin

      a0<=0;a1<=0;a2<=0;a3<=0;a4<=0;a5<=0;a6<=0;a7<=0;end else

      第6頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      end begin a0<=b0;a1<=b1;a2<=b2;a3<=b3;a4<=b4;a5<=b5;a6<=b6;a7<=b7;end endmodule 在此模塊中用了到了<=阻塞賦值的方式。

      4.編寫控制高位清零的模塊,利用在掃描模塊中控制SEL的值來實(shí)現(xiàn)高位清零。即先從高位開始判斷,當(dāng)只有個(gè)位有數(shù)據(jù)時(shí),SEL只能等于0,當(dāng)只有個(gè)位和十位有數(shù)據(jù)時(shí),SEL要小于1,依此類推,實(shí)現(xiàn)高位清零功能。module scan(clk,a1,a2,a3,a4,a5,a6,a7,sel);input clk;input [3:0]a1,a2,a3,a4,a5,a6,a7;output [2:0]sel;reg [2:0]sel;always @(posedge clk)if({a1,a2,a3,a4,a5,a6,a7}==0000000)sel=0;else if({a2,a3,a4,a5,a6,a7}==000000)if(sel<1)sel=sel+1;else sel=0;else if({a3,a4,a5,a6,a7}==00000)if(sel<2)sel=sel+1;else sel=0;else if({a4,a5,a6,a7}==0000)if(sel<3)sel=sel+1;

      第7頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      else sel=0;else if({a5,a6,a7}==000)if(sel<4)sel=sel+1;else sel=0;else if({a6,a7}==00)if(sel<5)sel=sel+1;else sel=0;else if({a7}==0)if(sel<6)sel=sel+1;else sel=0;else sel=sel+1;endmodule 5.上述三個(gè)模塊為本次實(shí)驗(yàn)的主要模塊。除此,還用到了,譯碼,數(shù)據(jù)選擇器模塊。相應(yīng)的模塊代碼省略。

      6.所有模塊都寫完后,就是寫頂層文件。

      module top(clk,clr,sig_in,a,b,c,d,e,f,g,dp,sel);input clk,clr,sig_in;output [2:0]sel;output a,b,c,d,e,f,g,dp;

      wire clk1,clk2,clk3;wire [2:0]sel_sign;wire [3:0] QA,QB,QC,QD,QE,QF,QG,QH;wire [3:0] b0_o,b1_o,b2_o,b3_o,b4_o,b5_o,b6_o,b7_o;wire [3:0] org_data;

      第8頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      assign sel=sel_sign;assign clk3=clk;

      fre_count frequence(.clk(clk2),.clr(clr),.b0(b0_o),.b1(b1_o),.b2(b2_o),.b3(b3_o),.b4(b4_o),.b5(b5_o),.b6(b6_o),.b7(b7_o),.a0(QA),.a1(QB),count_99999999 mycounter(.sign(sig_in),.clr(clk2),.b0(b0_o),.b1(b1_o),.a2(QC),.a3(QD),.a4(QE),.a5(QF),.a6(QG),.a7(QH));.b2(b2_o),.b3(b3_o),.b4(b4_o),.b5(b5_o),.b6(b6_o),.b7(b7_o));

      clk_div clksource(.clk(clk3),.clko1(clk1));

      ones ones_con(.clk(clk3),.clkout(clk2));scan myscan(.clk(clk1),.a1(QB),.a2(QC),.a3(QD),.a4(QE),.a5(QF),.a6(QG),.a7(QF),.sel(sel_sign));mux81 mymux81(.sel(sel_sign),.a(QA),.b(QB),.c(QC),.d(QD),.e(QE),.f(QF),.g(QG),.h(QH),.out(org_data));

      第9頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      decode3_8 decode(.org(org_data),.a(a),.b(b),.c(c),.d(d),.e(e),.f(f),.g(g),.dp(dp));

      endmodule

      7. 寫完了全部代碼后,就是器件選擇,分配引腳,下載程序,最后在實(shí)驗(yàn)箱上進(jìn)行實(shí)驗(yàn)。

      在實(shí)驗(yàn)的驗(yàn)證過程中,用到了DDS函數(shù)信號(hào)發(fā)生器,從其TTL輸出端輸出各種不同頻率的方波信號(hào),接入接簡易頻率計(jì)的被測(cè)信號(hào)輸入端,在八個(gè)數(shù)碼管上顯示出相應(yīng)的測(cè)量結(jié)果。

      四.結(jié)果分析

      在上述實(shí)驗(yàn)過程中,我們選取了若干組不同的TTL輸出進(jìn)行測(cè)量,發(fā)現(xiàn)當(dāng)被測(cè)信號(hào)的頻率不小于1HZ時(shí),簡易頻率計(jì)可以精確的測(cè)出被測(cè)信號(hào)的頻率。但是,當(dāng)被測(cè)信號(hào)小于1HZ時(shí),顯示的測(cè)量結(jié)果在0和1之間跳動(dòng),不穩(wěn)定。分析簡易頻率計(jì)的結(jié)構(gòu)可知,在如下圖所示波形關(guān)系中,當(dāng)被測(cè)信號(hào)的頻率小于1HZ時(shí),在秒級(jí)門控信號(hào)的一個(gè)周期內(nèi),計(jì)數(shù)器要么能計(jì)數(shù)一次,要么計(jì)數(shù)零次,因而不能準(zhǔn)確的測(cè)出被測(cè)信號(hào)的頻率。

      五.經(jīng)驗(yàn)總結(jié)

      1.本實(shí)驗(yàn)中的頻率計(jì)由于其在結(jié)構(gòu)上存在缺限,因而在測(cè)量小于1HZ的信號(hào)時(shí),會(huì)有較大的誤碼差,在測(cè)量頻率大于1HZ信號(hào)時(shí),也可能存1HZ誤差,其原因在于如果在一個(gè)秒級(jí)門控信號(hào)的周期內(nèi),被測(cè)信號(hào)的上升沿的個(gè)數(shù)正好

      第10頁,共11頁 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告

      和其周數(shù)相同,則測(cè)量結(jié)果是準(zhǔn)確的,如果上升沿的個(gè)數(shù)比周期數(shù)多一,則測(cè)量結(jié)果比實(shí)際值大一。

      2.提高測(cè)量精度的另一個(gè)關(guān)鍵地方在所產(chǎn)生的秒級(jí)門控信號(hào)的精度。只有所產(chǎn)生的秒級(jí)門控信號(hào)的低電平時(shí)間長度為嚴(yán)格的一秒時(shí),測(cè)量結(jié)果才會(huì)更精確。由于實(shí)驗(yàn)箱上所使用的晶振不是嚴(yán)格等于24MHZ,因而可用示波器測(cè)出晶振的準(zhǔn)確頻率后,再在parameter

      N=24000000;語句中改變N的值。也可以在實(shí)驗(yàn)中逐漸調(diào)整N的值,直到測(cè)量結(jié)果最精確為止。最終我們的實(shí)驗(yàn)中,N的值取的是24000351。

      3.對(duì)于高位清零功能的加入,正是儀器設(shè)計(jì)人性化的一個(gè)體現(xiàn)。如果沒有這個(gè)功能,再未顯示數(shù)據(jù)的數(shù)碼管也一直處于工作狀態(tài),一則是對(duì)資源的亂費(fèi),二則是會(huì)減少器件的使用壽命。

      第11頁,共11頁

      下載數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告word格式文檔
      下載數(shù)字頻率計(jì)實(shí)驗(yàn)報(bào)告.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        verilog簡易數(shù)字頻率計(jì)報(bào)告

        一、實(shí)驗(yàn)原理 根據(jù)原理圖,將計(jì)數(shù)器模塊、顯示模塊、掃描模塊、譯碼器模塊等分別做出。其原理是在1S內(nèi)用待測(cè)信號(hào)給計(jì)數(shù)器計(jì)數(shù),并在一秒結(jié)束時(shí)給計(jì)數(shù)器清零,計(jì)出來用緩存器緩存,......

        簡易數(shù)字頻率計(jì)(數(shù)字電路課程設(shè)計(jì))

        數(shù)字電路課程設(shè)計(jì)報(bào)告1)設(shè)計(jì)題目簡易數(shù)字頻率計(jì)2)設(shè)計(jì)任務(wù)和要求要求設(shè)計(jì)一個(gè)簡易的數(shù)字頻率計(jì),測(cè)量給定信號(hào)的頻率,并用十進(jìn)制數(shù)字顯示,具體指標(biāo)為:1)測(cè)量范圍:1HZ—9.999KHZ,閘......

        東華大學(xué)數(shù)字電路課程設(shè)計(jì)_數(shù)字頻率計(jì)

        數(shù) 字 電 路 課 程 設(shè) 計(jì) 第一章設(shè)計(jì)指標(biāo)……………………………………....……...…….... P2 設(shè)計(jì)指標(biāo)…………………………………………………………….... 第二章 系統(tǒng)......

        簡易數(shù)字頻率計(jì)設(shè)計(jì)報(bào)告(精選5篇)

        EDA技術(shù)基礎(chǔ) 簡易數(shù)字頻率計(jì) 必做實(shí)驗(yàn) 電子信息科學(xué)與技術(shù) 物電學(xué)院 2011-06-24 湖北師范學(xué)院電工電子實(shí)驗(yàn)教學(xué)省級(jí)示范中心電子版實(shí)驗(yàn)報(bào)告 簡易數(shù)字頻率計(jì) 一.實(shí)驗(yàn)要求 用Ve......

        簡易數(shù)字頻率計(jì)c程序清單

        河池學(xué)院2004屆本科生畢業(yè)論文(設(shè)計(jì)) 簡易數(shù)字頻率計(jì) 附件 源程序如下: #include unsigned char data key,flag_ft,point,buffer,j,INT1_ready,couter0,couter1,bus0,bus1,cycl......

        簡單單片機(jī)數(shù)字頻率計(jì)設(shè)計(jì)(優(yōu)秀范文五篇)

        課程設(shè)計(jì)報(bào)告 簡易頻率計(jì)的設(shè)計(jì) 電子科學(xué)XX學(xué)院 姓名:專業(yè):通信工程學(xué)號(hào):2013 2015年12月 摘要 1 本系統(tǒng)基于單片機(jī)來實(shí)現(xiàn)核心的頻率計(jì)數(shù)功能,并能夠?qū)崿F(xiàn)測(cè)量中的量程自動(dòng)切換......

        EDA課程設(shè)計(jì)——數(shù)字頻率計(jì)(共5篇)

        燕 山 大 學(xué) EDA課程設(shè)計(jì)報(bào)告書 題目:數(shù)字頻率計(jì) 姓名:Eric 班級(jí):09電子x班 學(xué)號(hào): 090104020xxxx 成績: (注:此文件應(yīng)以同學(xué)學(xué)號(hào)為文件名) 一、設(shè)計(jì)題目及要求 1.輸入為矩形脈沖,頻率......

        數(shù)字頻率計(jì)的課程設(shè)計(jì)課案

        引 言近年來,在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要.在電子系統(tǒng)非常廣泛應(yīng)用領(lǐng)域內(nèi)......