自动售货机Verilog代码vivado ego1开发板

名称:自动售货机Verilog代码vivado  ego1开发板(文末获取)

软件:vivado

语言:Verilog

代码功能:

1待售商品有两种15元和3元(可通过开关或按键选择,用led指示选择结果)

2可投硬币有两种:5角和1元。分别用两个按键表示,按下按键代表投入硬币,同时数码管显示投入硬币的总金额。3.当投入金额与所选商品标价相同时,使用led灯进行提示。

1增加待售商品数量

增加硬币种类为:5角、1元、2元。(至少增加至三种,金额可自定)3.自行设计售货机其他功能,比如找零等

本代码已在ego1开发板验证,ego1开发板如下,其他开发板可以修改管脚适配:

ego1开发板.png

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

6. Testbench

7. 仿真图

整体仿真图

按键消抖模块

控制模块

显示模块

部分代码展示:

//自动售货机
module auto_sell(
input clk_in,//100M
input rst,//高电平有效
//按键 高电平有效(SW0,1,2,3)
input Selection_goods_10,//选商品1元
input Selection_goods_20,//选商品2元
input Selection_goods_30,//选商品3元
input Selection_goods_15,//选商品1.5元
//按键 高电平有效(S1,S2,S3)
input throw_into_10_down,//投1.0元
input throw_into_05_down,//投0.5元
input throw_into_20_down,//投2.0元
//按键 高电平有效
input  confirm_button,//确认购买,高电平有效(SW7)
output [7:0] LED,//闪烁报警(3s)(D9~16)
output  outgo_done_10,//出货指示灯(D1)
output  outgo_done_20,//出货指示灯(D2)
output  outgo_done_30,//出货指示灯(D3)
output  outgo_done_15,//出货指示灯(D4)
output  [7:0] dig_led_1,//数码管段选显示
output  [3:0] wei_led_1, //数码管位选显示
output  [7:0] dig_led_2,//数码管段选显示
output  [3:0] wei_led_2 //数码管位选显示
);
//所有按键取上升沿
wire throw_into_10_down_out;
wire throw_into_05_down_out;
wire throw_into_20_down_out;
wire confirm_button_out;
//按键消抖模块
key_xiaodou  throw_into_10 
(
    .  clk_in(clk_in), 
    .  key_in(throw_into_10_down),
    .  key_out(throw_into_10_down_out)
);
//按键消抖模块
key_xiaodou  throw_into_05 
(
    .  clk_in(clk_in), 
    .  key_in(throw_into_05_down),
    .  key_out(throw_into_05_down_out)
);
//按键消抖模块
key_xiaodou  throw_into_20
(
    .  clk_in(clk_in), 
    .  key_in(throw_into_20_down),
    .  key_out(throw_into_20_down_out)
);
//按键消抖模块
key_xiaodou  confirm_btt 
(
    .  clk_in(clk_in), 
    .  key_in(confirm_button),
    .  key_out(confirm_button_out)
);
wire [7:0] total_throw_inmoney;//投入总钱币
wire [7:0] total_need_money;//选中商品价钱
wire [7:0] total_refund_money;//找零金额
//售货状态控制模块
state_control state_control_u(
. clk_in(clk_in),
. rst(rst),
. Selection_goods_10(Selection_goods_10),
. Selection_goods_20(Selection_goods_20),
. Selection_goods_30(Selection_goods_30),
. Selection_goods_15(Selection_goods_15),
. throw_into_10_down_out(throw_into_10_down_out),
. throw_into_05_down_out(throw_into_05_down_out),
. throw_into_20_down_out(throw_into_20_down_out),
. confirm_button_out(confirm_button_out),
. LED(LED),
. outgo_done_10(outgo_done_10),//出货指示灯1
. outgo_done_20(outgo_done_20),//出货指示灯2
. outgo_done_30(outgo_done_30),//出货指示灯3
. outgo_done_15(outgo_done_15),//出货指示灯4
. total_throw_inmoney_out(total_throw_inmoney),//投入总钱币
. total_need_money_out(total_need_money),//选中商品价钱
. total_refund_money_out(total_refund_money)//找零金额
);
///
//显示模块
display_num i_display_num(
. clk(clk_in),//100M
. total_throw_inmoney(total_throw_inmoney),//投入总钱币
. total_need_money(total_need_money),//选中商品价钱
. total_refund_money(total_refund_money),//找零金额
. dig_led_1(dig_led_1),//数码管段选显示
. wei_led_1(wei_led_1),//数码管位选显示
. dig_led_2(dig_led_2),//数码管段选显示
. wei_led_2(wei_led_2)//数码管位选显示
);
endmodule
源代码

 扫描文章末尾的公众号二维码

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用、引用[2]和引用中提到了ego1开发板vivado以及Verilog代码。这些是用于实现数电大作业中的各种功能和设计的工具和语言。ego1开发板是一款硬件开发板vivado是一款用于FPGA设计和开发的集成开发环境,而Verilog是一种硬件描述语言,常用于FPGA设计。根据引用和引用的描述,这些大作业使用ego1开发板vivado软件来设计多功能的售货机和蓝牙密码锁。具体的设计内容和功能可以参考引用、引用和引用中提供的链接和说明。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [数电满分大作业,数电满分大作业。数字电路——FPGA自动售货机 EGO1开发板 Vivado工程 Verilog代码.rar](https://download.csdn.net/download/yytju123/61110039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [数字逻辑设计大作业-乒乓球游戏模拟器](https://blog.csdn.net/weixin_50952205/article/details/121720196)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [FPGA-基于EGO1开发板的蓝牙密码锁 无线控制 开锁 修改密码 防盗保护](https://blog.csdn.net/sirlhh/article/details/125598103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值