• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

自动售票机设计Verilog代码Quartus 实验箱

08/22 08:26
395
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240Z9164610A6.doc

共1个文件

名称:自动售票机设计Verilog代码Quartus? 实验箱

软件:Quartus

语言:Verilog

代码功能:

自动售票机设计要求:

1.自动售票机有两个投币口,每次只能投入一枚伍角或一元的硬币。当投入的硬币数值满两元时,按下确认按钮,出票口自动吐出。

2.当投入的硬币数值为一元伍角时,再投入一元硬币并按下确认按钮,此时出票口自动吐出一张车票并在退币口吐出伍角硬币。

3.用两位七段数码管显示已投入的硬币数值(5角、10角、15角、20角)。

4.自定义其它功能。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

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

实验箱.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

整体仿真图

按键模块

控制模块

显示模块

部分代码展示:

module?auto_sell(
input?clk_in,//时钟
input?reset_n,//复位
input?coin_10_key,//投币1.0元
input?coin_05_key,//投币0.5元
input?confirm_key,//确认
input?return_key,//退币
output?succeed_ledn,
output?[7:0]?DLA,//数码管位选,低电平选择
output?[7:0]?HEX//数码管段选,低亮
);
wire?[7:0]?input_money_BCD;//投币金额
wire?[7:0]?change_money_BCD;//找钱
wire?coin_10_p;//投币1.0元
wire?coin_05_p;//投币0.5元
//按键上升沿检测模块
key_xd?i0_key_jitter(
.?clkin(clk_in),?????
.?key_in(coin_10_key),//输入
.?key_posedge(coin_10_p)//按键上升沿检测
);
//按键上升沿检测模块
key_xd?i2_key_jitter(
.?clkin(clk_in),?????
.?key_in(coin_05_key),//输入
.?key_posedge(coin_05_p)//按键上升沿检测
);
//状态控制模块
state_ctrl?i_state_ctrl(
.?clk_in(clk_in),//时钟100Hz
.?reset_n(reset_n),//系统复位
.?coin_10_p(coin_10_p),//投币1.0元
.?coin_05_p(coin_05_p),//投币0.5元
.?return_p(~return_key),//退币键
.?confirm_p(~confirm_key),//确认
.?succeed_ledn(succeed_ledn),
.?input_money_BCD(input_money_BCD),//投币金额
.?change_money_BCD(change_money_BCD)//找钱
);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1048

  • 2-240Z9164610A6.doc
    下载

相关推荐