赞
踩
名称:基于FPGA的自动售货机Verilog代码Quartus 实验箱
软件:Quartus
语言:Verilog
代码功能:
(1)待售物品价格1元、2元、3元、五元;
(2)只接受1元、5元、10元币值
(3)机内存有1元零钱无限;
(4)投入钱币之前认为售货机为空闲状态;投入钱币后需要按下物品标签吐出商品
(5)自动找零
(6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。
本代码已在实验箱验证,实验箱如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. 管脚分配
5. RTL图
6. Testbench
7. 仿真图
部分代码展示:
//硬件连接:电机板子的J3连核心板P3,温度传感器板J3连接核心板P6 //售货机 module auto_sell( input clk_in,//50M input coin_1_key,//投币1元--SW1 input coin_5_key,//投币5元--SW2 input coin_10_key,//投币10元---SW3 input price_1_key,//1元商品--S1 input price_2_key,//2元商品--S2 input price_3_key,//3元商品--S3 input price_5_key,//5元商品--S4 input confirm_key,//确认--SW4 output succeed_ledn,//购买成功指示灯 output [2:0] DLA,//数码管位选ABC:0~7 output [7:0] HEX//数码管段选 ); wire [7:0] input_money_BCD;//投币金额 wire [3:0] need_money_BCD;//价钱 wire [7:0] change_money_BCD;//找钱 wire coin_1_p;//投币1元 wire coin_5_p;//投币5元 wire coin_10_p;//投币10元 wire price_2_p;//2元商品 wire price_3_p;//3元商品 wire price_5_p;//5元商品 wire price_1_p;//1元商品 wire confirm_p;//确认 //按键消抖模块 key_jitter i0_key_jitter( . clkin(clk_in), . key_in(coin_1_key),//输入 . key_negedge(coin_1_p)//消抖后按键下降沿 ); //按键消抖模块 key_jitter i1_key_jitter( . clkin(clk_in), . key_in(coin_5_key),//输入 . key_negedge(coin_5_p)//消抖后按键下降沿 ); //按键消抖模块 key_jitter i10_key_jitter( . clkin(clk_in), . key_in(coin_10_key),//输入 . key_negedge(coin_10_p)//消抖后按键下降沿 ); //按键消抖模块 key_jitter i2_key_jitter( . clkin(clk_in), . key_in(price_2_key),//输入 . key_negedge(price_2_p)//消抖后按键下降沿 ); //按键消抖模块 key_jitter i3_key_jitter( . clkin(clk_in), . key_in(price_3_key),//输入 . key_negedge(price_3_p)//消抖后按键下降沿 ); //按键消抖模块 key_jitter i4_key_jitter( . clkin(clk_in), . key_in(price_5_key),//输入 . key_negedge(price_5_p)//消抖后按键下降沿 ); //按键消抖模块 key_jitter i5_key_jitter( . clkin(clk_in), . key_in(price_1_key),//输入 . key_negedge(price_1_p)//消抖后按键下降沿 );
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。