名称:汽车速度表设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
汽车速度表设计
设计一个汽车速度表。车轮每转一圈会产生一个脉冲,每个脉冲代表1米的距离,根据单位时间的脉冲数可推算出汽车的速度。
要求:
(1)模拟产生车轮运转产生的脉冲信号并对其计数,用按键选择脉冲信号的不同频率;
(2)每隔10秒读取一次脉冲计数器,并据此计算车速;
(3)用数码管显示车速,单位Km/h;
(4)给出超速警告。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
部分代码展示:
//汽车速度表 module Speedometer( input clk_50M,//输入时钟50MHz input key_1,//按键输入控制脉冲 input key_2,//按键输入控制脉冲 input key_3,//按键输入控制脉冲 output beep,//超速报警指示灯 output [5:0] bit_select,//数码管位选 output [7:0] seg_select//数码管段选 ); wire clk_en; wire latch; wire rst; wire [16:0] speed_num;//输出速度值。XXX.XXKM/h wire pulse;//传感器脉冲信号,每个脉冲1米 //分频模块 div_freq i_div_freq( . clk_50M(clk_50M),//输入时钟50MHz . clk_1000(clk)//分频到1000Hz ); //按键控制脉冲输出 key_ctrl i_key_ctrl( . clk(clk),//1000Hz . key_1(key_1),//按键输入控制脉冲 . key_2(key_2),//按键输入控制脉冲 . key_3(key_3),//按键输入控制脉冲 . pulse(pulse)//传感器脉冲信号,每个脉冲1米 ); //控制模块,输出控制信号 div i_div( . clk(clk),//输入时钟1000Hz . clk_en(clk_en),//输出10s使能信号 . latch(latch),//输出锁存信号 . rst(rst)//输出清零 ); //速度计算模块 speed i_speed( . clk(clk),//输入时钟1000Hz . pulse(pulse),//传感器脉冲信号,每个脉冲1米 . clk_en(clk_en),//输出10s使能信号 . latch(latch),//输出锁存信号 . rst(rst),//输出清零 . speed_num(speed_num)//输出速度值。XXX.XXKM/h );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1319
阅读全文
557