自动售货机设计Verilog代码Quartus仿真

您所在的位置:网站首页 刮刮乐自动售货机价格 自动售货机设计Verilog代码Quartus仿真

自动售货机设计Verilog代码Quartus仿真

2024-07-15 06:16| 来源: 网络整理| 查看: 265

名称:自动售货机设计Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

2.设计内容及基本要求

设计一个小商品自动售货机,要求如下    

(1)基本功能

①售货机只售出价值为5角、1元、1.5元和2元的小商品。购买者每次通过开关选择一种小商品进行购买

②用开关分别模拟5角、1元硬币和5元纸币投入(一次只能投入一个硬币或张纸币)。当所投面值达到或超出购买者所选面值,并确认购买时,购买成功:小商品对应的灯亮表示售出。投入确认和购买确认可用按钮   

③当所投币值不足面值时,可通过一个复位按钮退回所投币值,回到初始状

④若退回或找零时,用几组灯分别表示找零数量:一组灯表示找回的5元纸币的数量,一组灯表示找回的1元的数量,一组表示找回的角的数量

⑤售出货物或退回后,都回到初始状态。

1. 工程文件

2. 程序运行

3. 管脚约束

4. 程序仿真

部分代码展示:

module auto_sell( input clk,//50M input reset_n,//复位 //开关 input select_5,//选中5角商品 input select_10,//选中1元商品 input select_15,//选中1.5元商品 input select_20,//选中2元商品 input money_5,//投入5角 input money_10,//投入1元 input money_15,//投入1.5元 input money_50,//投入5元 //按键 input confirm_purchase,//确认购买 input refund_money,//退钱 //LED output reg purchase_5,//购买成功指示灯 output reg purchase_10,//购买成功指示灯 output reg purchase_15,//购买成功指示灯 output reg purchase_20,//购买成功指示灯 output [2:0]give_change_5,//找零5角 output [2:0]give_change_10,//找零1元 output [2:0]give_change_15,//找零1.5元 output [2:0]give_change_20//找零2元 ); parameter s_idle=4'd0; parameter s_select=4'd1; parameter s_incoin=4'd2; parameter s_refund=4'd3; parameter s_wait5s=4'd4;//找零时间5秒 parameter s_refund_20=4'd5; parameter s_refund_15=4'd6; parameter s_refund_10=4'd7; parameter s_refund_5=4'd8; parameter s_end=4'd9; reg [3:0] state=4'd0; reg [7:0] input_money=8'd0;//投入总钱币 reg [7:0] select_need_money=8'd0;//选中商品价钱 reg [7:0] refund_money_out=8'd0;//找零金额 //选中商品价钱 always@(posedge clk) if(reset_n==0 || state==s_end) select_need_money


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3