名称:自动售货机设计Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
自动售货机
1、可以选果汁、牛奶、面包、水
2、可以投币1元、10元、5元
3、具有确认购买按键
4、购买成功通过对应led显示
5、数码管显示投入总钱币、商品价钱、找零金额
1. 工程文件
2. 程序运行
3. RTL图
4. 程序仿真
Testbench
仿真图
下图为选中牛奶(4元),投币1,5,10共16元,确认后找零12元,并有出货成功指示信号(buy_succeed_led_04)
下图为选中果汁(3元),投币1元后,超时(wait_30s_time高电平脉冲),自动退回1元,无出货成功信号
部分代码展示:
//主控模块 module zhukong( input clk_50M,//50M input rst_button,//复位 //开关 input Selection_of_03,//选3元商品 input Selection_of_04,//选4元商品 input Selection_of_05,//选5元商品 input Selection_of_02,//选2元商品 //按键 input confirm_button,//确认购买 input Give_change_timeover,//不买退钱 output [3:0] state_out, input wait_second_time, input [7:0] total_need_money,//选中商品价钱 input [7:0] total_throw_inmoney,//投入总钱币 output [7:0] total_throw_inmoney_out,//投入总钱币 output [7:0] total_need_money_out,//选中商品价钱 output [7:0] total_refund_money_out//找零金额 ); parameter state_0=4'd0; parameter state_1=4'd1;//选择 parameter state_2=4'd2;// parameter state_3=4'd3;// parameter state_4=4'd4;//找零时间4秒 parameter state_5=4'd5;//找零20元 parameter state_6=4'd6;//找零15元 parameter state_7=4'd7;//找零10元 parameter state_8=4'd8;//找零5元 parameter state_9=4'd9;//结束
源代码
点击下方的公众号卡片获取