• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

汽車速度表VHDL代碼開發(fā)板驗證超速警告功能

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-231110213421T0.doc

共1個文件

名稱:汽車速度表VHDL代碼數(shù)碼管顯示車速超速警告(代碼在文末下載)

軟件:QuartusII

語言:VHDL

代碼功能:

設(shè)計一個汽車速度表。車輪每轉(zhuǎn)一圈會產(chǎn)生一個脈沖,每個脈沖代表1米的距離,根據(jù)單位時間的脈沖數(shù)可推算出汽車的速度。

要求:

(1)模擬產(chǎn)生車輪運轉(zhuǎn)產(chǎn)生的脈沖信號并對其計數(shù),用按鍵選擇脈沖信號的不同頻率。

(2)每隔10秒讀取一次脈沖計數(shù)器,并據(jù)此計算車速;

(3)用數(shù)碼管顯示車速,單位Kmh;

(4)給出超速警告。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在21EDA EPM240-CPLD學(xué)習(xí)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

21EDA EPM240-CPLD學(xué)習(xí)板使用說明書(1).pdf

板子.jpg

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

管腳

5. Testbench

6. 仿真圖

按鍵模塊

控制模塊

速度模塊

報警模塊

顯示模塊

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--速度計數(shù)模塊
ENTITY?speed?IS
???PORT?(
??????clk????????:?IN?STD_LOGIC;--輸入時鐘1000Hz
??????pulse??????:?IN?STD_LOGIC;--傳感器脈沖信號,每個脈沖1米
??????clk_en?????:?IN?STD_LOGIC;--輸出10s使能信號
??????latch??????:?IN?STD_LOGIC;--輸出鎖存信號
??????rst????????:?IN?STD_LOGIC;--輸出清零
??????speed_num??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--輸出速度值
???);
END?speed;
ARCHITECTURE?behave?OF?speed?IS
???
???SIGNAL?cnt?????:?STD_LOGIC_VECTOR(16?DOWNTO?0)?:=?"00000000000000000";
???
???SIGNAL?cnt_lat?:?STD_LOGIC_VECTOR(16?DOWNTO?0)?:=?"00000000000000000";
SIGNAL?speed_num_buf?:?STD_LOGIC_VECTOR(23?DOWNTO?0);
BEGIN
???PROCESS?(clk,?rst)
???BEGIN
??????IF?(rst?=?'1')?THEN
?????????cnt?<=?"00000000000000000";
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN--傳感器脈沖計數(shù)
IF?(pulse?=?'1')?THEN
cnt?<=?cnt?+?"00000000000000001";--傳感器脈沖計數(shù)
END?IF;
??????END?IF;
???END?PROCESS;
???
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(latch?=?'1')?THEN
????????????cnt_lat?<=?cnt;--輸出鎖存信號
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
--速度換算:1?米/秒(米每秒)=3.6?千米/時(千米每時)
--10s對應(yīng)距離為cnt_lat米,速度為cnt_lat/10(米每秒)
--輸出速度值cnt_lat*92/256;
???speed_num_buf?<=?cnt_lat?*?"1011100";--*92/256
???speed_num<=speed_num_buf(15?DOWNTO?8);
???--speed_num<=speed_num_buf(11?DOWNTO?4);
END?behave;

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=273

  • 1-231110213421T0.doc
    下載

相關(guān)推薦