售货机基于ego1开发板的自动饮料机verilog代码vivado软件

这篇具有很好参考价值的文章主要介绍了售货机基于ego1开发板的自动饮料机verilog代码vivado软件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名称:售货机基于ego1开发板的自动饮料机verilog代码vivado软件

软件:VIVADO

语言:Verilog

代码功能:

设计一个自动饮料机逻辑电路,

它的投币口只能投入一枚五角或一元硬币;

投入一元五角硬币后机器自动给出一杯饮料,投入两元硬币后再给出饮料的同时找回一枚五角硬币;

数码管显示投币金额、商品单价、找零金额;

出货时通过led灯指示。

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

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

代码下载:售货机基于ego1开发板的自动饮料机verilog代码vivado软件名称:售货机基于ego1开发板的自动饮料机verilog代码vivado软件(代码在文末下载)软件:VIVADO语言:Verilog代码功能:设计一个自动饮料机逻辑电路,它的投币口只能投入一枚五角或一元硬币;投入一元五角硬币后机器自动给出一杯饮料,投入两元硬币后再给出饮料的同时找回一枚五角硬币;数码管显示投币金额、商品单价、找零金额;出货时通过led灯指示。FPGA代码Verilog/VHDL代码http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=306

1. 工程文件

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

2. 程序文件

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

3. 程序编译

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

4. RTL图

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

5. 管脚分配

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

6. Testbench

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

7. 仿真图

整体仿真图

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

按键消抖模块

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

控制模块

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

显示模块

eg01开发板子怎么设计脱机运行,fpga开发,ego1,自动饮料机,verilog,vivado

部分代码展示:文章来源地址https://www.toymoban.com/news/detail-800373.html

//售货状态控制模块
module state_control(
input clk_in,
input rst,//高电平有效
input throw_into_10_down_out,//1.0元
input throw_into_05_down_out,//0.5元
output  outgo_done_15,//出货指示灯
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_4=4'd4;//等待
parameter state_5=4'd9;//结束
reg [3:0] state=4'd0;
reg [7:0] total_throw_inmoney=8'd0;//投入总钱币
reg [7:0] total_need_money=8'd0;//选中商品价钱
reg [7:0] total_refund_money=8'd0;//找零金额
reg [7:0] accumulated_money=8'd0;//累计卖货额
assign total_throw_inmoney_out=total_throw_inmoney;
assign total_need_money_out=total_need_money;
assign total_refund_money_out=total_refund_money;
assign total_accumulated_money=accumulated_money;
///控制模块:状态机,实现各个状态的转换//
reg wait_second_time=1'd0;
always@(posedge clk_in or posedge rst)
if(rst)
state<=state_0;
else
case(state)
state_0://初始状态
state<=state_1;
state_1://投钱
begin
if(total_throw_inmoney>=total_need_money)//投币足够
state<=state_2;//找零
else
state<=state_1;//继续投钱
end
state_2://确认购买
state <=state_4;
state_4://等待
state<=state_5;
state_5://结束
state<=state_5;
default:state<=state_0;
endcase
reg [7:0] univalence=8'd0;//单价
reg outgo_done=0;
always@(posedge clk_in)
begin
case (state)
state_0: //商品选择
begin
    univalence<=8'd15;//单价一元五角
total_need_money<=univalence;//单价
total_throw_inmoney<=8'd0;
total_refund_money<=8'd0;
outgo_done<=1'd0;
end
state_1:               ///投币输入
begin
if(throw_into_05_down_out ==1'd1)//投入0.5元
total_throw_inmoney<=total_throw_inmoney+8'd5;
else if(throw_into_10_down_out ==1'd1)//投入1.0元
total_throw_inmoney<=total_throw_inmoney+8'd10;
else
total_throw_inmoney<=total_throw_inmoney;
total_need_money<=total_need_money;
total_refund_money<=total_refund_money;
outgo_done<=1'd0;
end
state_2: //计算找零金额
begin
if(total_throw_inmoney>total_need_money) //如果投入大于所需
begin
total_refund_money<=total_throw_inmoney-total_need_money;//找零
end
else if(total_throw_inmoney==total_need_money)//如果投入等于所需
begin
total_refund_money<=8'd0;
end
else
total_refund_money<=total_throw_inmoney;//退币
total_need_money<=total_need_money;
total_throw_inmoney<=total_throw_inmoney;
outgo_done<=1'd0;//
end
state_4,state_5:
begin
total_need_money<=total_need_money;
total_throw_inmoney<=total_throw_inmoney;
total_refund_money<=total_refund_money;
outgo_done<=1'd1;
end

到了这里,关于售货机基于ego1开发板的自动饮料机verilog代码vivado软件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vivado序列检测器verilog代码ego1开发板验证

    名称:vivado序列检测器verilog代码ego1开发板验证 软件:VIVADO 语言:Verilog 代码功能: 设计一个111序列检测器。 要求:当检测到3个或3个以上的1时,输出为1,其他输入情况输出为0. 画出状态转移图,完成 Verilog描述。 本代码已在ego1开发板验证,开发板如下,其他开发板可以修改管

    2024年02月03日
    浏览(43)
  • 数码管移位循环显示数字verilog代码ego1开发板

    名称:数码管移位循环显示数字verilog代码ego1开发板 软件:VIVADO 语言:Verilog 代码功能: 采用EGO1中的两组数码管,让该8个数码管循环显示:01234567,12345678,23456789.... 电路的输入信号en进行启动或暂停;用按键控制循环,按一下显示下一组数。 FPGA代码Verilog/VHDL代码资源下载

    2024年02月03日
    浏览(30)
  • vivado数字秒表verilog代码ego1开发板电子秒表跑表

    名称:vivado数字秒表verilog代码ego1开发板电子秒表跑表 软件:VIVADO 语言:Verilog 代码功能: 数字秒表设计 1、秒表的设计精确到10毫秒(0.01秒) 2、可通过按键控制秒表启动、暂停、复位 3、数码管显示分、秒、毫秒 本代码已在ego1开发板验证,开发板如下,其他开发板可以修

    2024年02月03日
    浏览(35)
  • 电话拨号显示器verilog代码ego1开发板vivado软件

    名称:电话拨号显示器verilog代码ego1开发板vivado软件 软件:VIVADO 语言:Verilog 代码功能: 电话拨号显示 1、具体0~9的数字按键 2、有开始、拨出、接通、删除按键 3、按下“开始”按键后,可以按数字键进行拨号,每按一次数字,整体号码左移一位,输入错误时可以删除 4、输

    2024年02月04日
    浏览(37)
  • VIVADO弹球游戏VGA显示Verilog代码EGO1开发板游戏

    名称:VIVADO弹球游戏VGA显示Verilog代码EGO1开发板游戏 软件:VIVADO 语言:Verilog 代码功能: 设计一个弹球游戏,并在VGA显示器上显示 1、可以控制游戏开始,开始时数码管显示0分 2、使用按键控制球拍的运动,当控制球拍接住球时,分数加1 3、弹球触碰屏幕边缘或者球拍时可以

    2024年02月03日
    浏览(29)
  • VIVADO三层电梯控制器VHDL代码ego1开发板

    名称:VIVADO三层电梯控制器VHDL代码ego1开发板 软件:VIVADO 语言:VHDL 代码功能: 3层电梯控制 (1)电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下

    2024年02月04日
    浏览(31)
  • 电子拔河比赛游戏机的设计Verilog代码vivado ego1开发板

    名称:电子拔河比赛游戏机的设计Verilog代码vivado  ego1开发板(文末获取) 软件:vivado 语言:Verilog 代码功能: 电子拔河比赛游戏机的设计 时中间的LED亮。比赛时双方通过按扭使中间亮的LED向己方移动,当亮至某    电子拔河游戏机供2~3人玩耍。由一排LED表示拔河的“电子绳”

    2024年01月21日
    浏览(43)
  • 4人竞赛数字抢答器vivado软件verilog代码ego1开发板

    名称:4人竞赛数字抢答器vivado软件verilog代码ego1开发板 软件:VIVADO 语言:Verilog 代码功能: 数字抢答器的设计任务说明: 设计一个可供4人竞赛的数字抢答器。 (1)具有定时抢答功能,且一次抢答的时间由主持人设定,本抢答器的时间 设定为60秒以内,当主持人启动“开始”开关后

    2024年02月05日
    浏览(30)
  • FPGA学习心得分享——交通灯(EGO1)

      学期快结束了,学了一个学期FPGA课程,通过自己思索加上老师的指导我完成了自己第一份交通灯的作业,我希望把经验分享给学习Verilog遇到困难的同学,更希望大家都能顺利完成自己的作业。   灯能左右改变方向,作品能够模拟红、黄、绿、左右转弯灯等形式,按键可以

    2024年02月07日
    浏览(36)
  • EGO1—UART串行接口设计及通信的实现

    使用软件: Vivado 开发板: EGO1采用Xilinx Artix-7系列XC7A35T-1CSG324C FPGA (1)发送:8个拨码开关控制数码管最后后两位显示16进制数字,按下按键,数码管显示的内容通过TX发送,通过串口调试助手接收到内容。 (2)接收:从串口调试助手发送两位16进制数,接收到之后通过数码

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包