【正文】
若要求具有更高的精確度那么 既可以增加閘門時間,也可以對被測信號進行倍頻或者在低頻(被測頻率的值小于 10KHz)時采用周期法測量,然后 把測的周期轉(zhuǎn)化為頻率值。 4 when 0101=q=10110110。 end process。 datin1 : in std_logic_vector(3 downto 0)。 tmp2:=q3。 tp4=tq4。 end if。 descend=39。 tp3 : OUT STD_LOGIC_VECTOR(3 downto 0)。 state=s2。 grade=11。139。 if(ascend=39。 BEGIN p1:process(clk,reset) begin if(reset=39。 7 / 15 x2 : IN STD_LOGIC。039。 END PROCESS p1。temp=not temp。 end if。 門控信號 clr : out std_logic。 ( 4)用發(fā)光二極管顯示量程 3. 方案選擇與論證 ( 1) 當預置門控信號為高電平時,啟動計數(shù)器 ,對被測信號 (頻率為 fx) , 計數(shù)當預置門控信號為低電平時,關(guān)閉計數(shù)器 。 ARCHITECTURE div_2500_architecture OF div_2500 IS signal t : std_logic_vector(11 downto 0)。 USE 。 clk_div_10=temp。二分頻 end if。 lock=not temp2。 lock3 :IN STD_LOGIC。 grade=10。clrad=39。139。) then—若降檔信號 =’1’,則轉(zhuǎn)入 s2狀態(tài) state=s2。 end process p1。 ARCHITECTURE count_architecture OF count IS signal tq1,tq2,tq3,tq4:std_logic_vector(3 downto 0)。event and input_s=39。 else tq1=tq1+1。 entity lock is port( lock:in std_logic。 b4=tmp3。 q : out std_logic_vector(7 downto 0) )。 when 10= data=datin3。 9 when others=q=00000000。設計過程中,對 于 QuartusII 軟件的操作有了進一步的掌握,以及對具體問題的分析,這些都是收獲。然后想到的是 control在接收檔位信號之后發(fā)出一個 clrad信號清除 count中的檔位信號,這樣就不會造成重復升降檔的錯誤。 process(data)—數(shù)碼管顯示譯碼 begin 12 / 15 case data is when 0000=q=11111100。139。 end behave。 architecture behave of lock is begin process(lock) variable tmp3,tmp2,tmp1,tmp0:std_logic_vector(3 downto 0)。 end if。 if tq3=1001 then tq3=0000。139。清升降檔 doorin : IN STD_LOGIC。 否則停留在 s3狀態(tài) end if。039。 when s2=第二檔 doorout=x2。139。 lock : OUT STD_LOGIC。 ENTITY control IS PORT ( clk : in std_logic。 elsif temp1=39。 BEGIN p1:process(clk) begin if(clk39。 signal temp : std_logic。039。 4. 方案的原理框圖 分頻 輸入信號 系統(tǒng)時鐘 控制 計數(shù) 鎖存 掃描顯示 數(shù)碼管 3 / 15 5. 總體電路圖、 分頻模塊級聯(lián)圖 4 / 15 6. 流程圖 待測信號 計數(shù) 大于 9999 小于 999 降檔 升檔 鎖存 清零 門控信號 5 / 15 7. 程序設計清單