名稱:汽車速度表設計verilog代碼具備超速報警功能(代碼在文末下載)
軟件:QuartusII
語言:Verilog
代碼功能:
速度表設計
任務與要求:
1、顯示汽車時速Km/h;
2、車輪每轉(zhuǎn)一圈,有一個傳感脈沖:每個脈沖假定代表1m的距離;
3、采樣周期設為10S;
4、要求數(shù)碼管顯示到小數(shù)點后2位;
5、具備超速報警功能。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真圖
整體仿真圖
控制模塊仿真圖
速度計算模塊
顯示模塊
部分代碼展示:
//速度計數(shù)模塊 //速度換算:1?米/秒(米每秒)=3.6?千米/時(千米每時) module?speed_cal( input?clk,//輸入時鐘100Hz input?pulse,//傳感器脈沖信號,每個脈沖1米 input?enable_10s,//10s使能信號 input?lock,//鎖存信號 input?rst,//輸出清零 output?reg?alarm,//報警信號 output?[16:0]?speed//輸出速度值KM/h ); reg?[16:0]?count=17'd0; always@(posedge?pulse?or?posedge?rst)//傳感器脈沖計數(shù) if(rst) count<=17'd0;//清零 else count<=count+17'd1;//傳感器脈沖計數(shù) reg?[16:0]?lock_num=17'd0;//鎖存計數(shù)值 always@(posedge?clk) if(lock)//輸出鎖存信號 lock_num<=count;//鎖存計數(shù)值 else lock_num<=lock_num; //10s對應距離為lock_num米,速度為lock_num/10(米每秒) //輸出速度值(lock_num/10)*360;//取2位小數(shù) assign?speed=lock_num*36;//取2位小數(shù) always@(posedge?clk) if(speed>15000)//超過150KM/h alarm<=1;//超速報警 else alarm<=0; endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=275
閱讀全文