自动售货机设计Verilog代码Quartus DE2-70开发板

名称:自动售货机设计Verilog代码Quartus  DE2-70开发板

软件:Quartus

语言:Verilog

代码功能:

自动售货机设计

设计目的

(1)了解DE2-70开发板的硬件构成;

(2)熟悉开发板可用资源的硬件电路

(3)掌握EDA开发流程

(4)熟悉 Quartus开发环境

(5)掌握 Verilog基本语法

(6)熟练掌握在 QuartusⅡ环境下进行软件仿真的方法

2,设计内容及基本要求

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

(1)基本功能

①用四个发光二极管分别模拟售出价值为1元、1.5元、2元、5元的小商品,购买者可以通过开关选择任意一种标价中的小商品

②灯亮时表示小商品售出

③用开关分别模拟5角、1元硬币和5元纸币投入,可以用几只发光二极管(或数码管)分别代表找回剩余的硬币;

④每次只能售出一种小商品,当所投硬币达到或超出购买者所选面值时,售出货物并找回剩余的硬币,回到初始状态

⑤当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始状态。

(2)扩展功能

按下确认购买开关,找零时,对应数码管显示找零金额,蜂鸣器响,对应价位商品的LED灯亮

要求.png

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

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

演示视频:

设计文档:

售货机设计文档.doc

1. 工程文件


2. 程序文件



3. 管脚分配


4. 程序编译


5. RTL图


6. 仿真图


按键下降沿检测模块



售货机状态控制模块



数码管显示模块



部分代码展示:

//数码管显示模块
module display(
input clk_in,//时钟
input [7:0] input_money_BCD,//投币金额
input [7:0] change_money_BCD,//找钱
output  reg [7:0] HEX0,//数码管-低亮
output  reg [7:0] HEX1,//数码管-低亮
output  reg [7:0] HEX2,//数码管-低亮
output  reg [7:0] HEX3//数码管-低亮
);
//定义十位个位信号
wire [3:0] money_ten;
wire [3:0] money_one;
wire [3:0] change_money_ten;
wire [3:0] change_money_one;
assignmoney_ten = input_money_BCD/10;//投币金额十位
assignmoney_one = input_money_BCD%10;//投币金额个位
assignchange_money_ten = change_money_BCD/10;//找钱十位
assignchange_money_one = change_money_BCD%10;//找钱个位
///段选输出///
//显示投币金额十位
always @(money_ten)
begin
case (money_ten)  //数字显示码
4'd0: HEX0= 8'b1100_0000;
4'd1: HEX0= 8'b1111_1001;
4'd2: HEX0= 8'b1010_0100;
4'd3: HEX0= 8'b1011_0000;
4'd4: HEX0= 8'b1001_1001;
4'd5: HEX0= 8'b1001_0010;
4'd6: HEX0= 8'b1000_0010;
4'd7: HEX0= 8'b1111_1000;
4'd8: HEX0= 8'b1000_0000;
4'd9: HEX0= 8'b1001_0000;
default:;
endcase
end

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动售货机设计Verilog代码Quartus DE2-70开发板

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员