名称:出租车自动计费器Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
出租车自动计费器
功能:
1.里程:起步价16元(3Km内),大于3Km后,按照2.7元/Km的标准收费。
2.等候时间:1元/分钟计费。
3.行程结束,费用结算开始清零。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. 仿真文件
5. 仿真图
部分代码展示:
//出租车计费器 module?taxi_fee( input?clk,//时钟 input?reset,//复位信号,低有效? input?stop,//本次行程结束,停止计费,高有效 input?start,//启动信号,行程开始,高有效? input?Speed,//0:等待??1:行驶 input?one_kilometre,//1公里产生一次 input?one_minute,//1分钟产生一次 output?reg?[15:0]?totel_money_out//合计费用 ); parameter?s_idle=3'd0; parameter?s_starting_price=3'd1;//起步价 parameter?s_mileage_price=3'd2;//按里程计费 parameter?s_time_price=3'd3;//按时间计费 parameter?s_stop=3'd4; reg?[2:0]?state=3'd0; reg?[15:0]?totel_money=16'd0; reg?[7:0]?mileage=8'd0;//里程 always@(posedge?clk) if(reset==0) mileage<=8'd0; else if(state==s_starting_price?||?state==s_mileage_price) if(one_kilometre==1) mileage<=mileage+8'd1;//一公里里程加1 else mileage<=mileage; else?if(stop==1)? mileage<=8'd0;//结束,费用清零 else mileage<=mileage; //定义计费方式,可修改 parameter?start_price=15'd160;//起步价16.0元 parameter?start_kilometres=8'd3;//3公里内起步价 parameter?kilometres_price=15'd27;//2.7元每公里 parameter?time_price=15'd10;//1.0元每1分钟 always@(posedge?clk) if(reset==0)begin state<=s_idle;//reset totel_money<=16'd0; totel_money_out<=16'd0; end
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=540
阅读全文
461