名称:Quartus速度表设计verilog代码仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
4、速度表设计任务与要求:
1、显示汽车时速Km/h;
2、车轮每转一圈,有一个传感脉冲:每个脉冲假定代表1m的距离;
3、采样周期设为10S:
4、要求数码管显示到小数点后2位5、具备超速报警功能。
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
整体仿真图
控制模块仿真图
速度计算模块
显示模块
部分代码展示:
//速度计数模块 //速度换算:1 米/秒(米每秒)=3.6 千米/时(千米每时) module speed_cal( input clk,//输入时钟100Hz input pulse,//传感器脉冲信号,每个脉冲1米 input enable_10s,//5s使能信号 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)//传感器脉冲计数 if(rst) count<=17'd0;//清零 else count<=count+17'd1;//传感器脉冲计数 reg [16:0] lock_num=17'd0;//锁存计数值 always@(posedge clk) if(lock)//输出锁存信号 lock_num<=count;//锁存计数值 else lock_num<=lock_num; //5s对应距离为lock_num米,速度为lock_num/5(米每秒) //输出速度值(lock_num/5)*360;//取2位小数 assign speed=lock_num*72;//取2位小数 always@(posedge clk) if(speed>15000)//超过150KM/h alarm<=1;//超速报警 else alarm<=0; endmodule
完整代码
扫描文章末尾的公众号二维码