糕点自动售货机设计VHDL代码ISE basys2开发板
名称:糕点自动售货机设计VHDL代码ISE basys2开发板
软件:ISE
语言:VHDL
代码功能:
糕点自动售货机
共有5种糕点,均为独立包装,每份价格如下:蜂蜜蛋糕3.2元,牛舌饼4.6元,拿破仑蛋糕6.5元,山楂锅盔7元,枣花酥9.9元。一次购买一种,可一次性购买一份或两份,只能插入1元、5元或10元面值的钞票。
功能:①选择糕点的种类、份数。②插入钞票。当插入的钞票总金额=售价时,输出相应糕点;当钞票总金额<售价时,等待继续插入钞票;当钞票总金额>售价时,在输出相应糕点的同时找零。③完成交易,等待下一次交易。
用拨码开关选择糕点的种类及份数,用按钮代表插入1元、5元或10元钞票,用LED灯作为输出糕点和找零的指示灯,用数码管显示插入的总金额和找零金额,保留小数点后一位。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在basys2开发板验证,basys2开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件

2. 程序文件


3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图


部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --共有5种糕点,均为独立包装,每份价格如下:蜂蜜蛋糕3.2元,牛舌饼4.6元,拿破仑蛋糕6.5元,山楂锅盔7元,枣花酥9.9元。一次 --购买一种,可一次性购买一份或两份,只能插入1元、5元或10元面值的钞票。 --功能:①选择糕点的种类、份数。②插入钞票。当插入 --的钞票总金额=售价时,输出相应糕点;当钞票总金额售价时,在输出相应糕点的同时 --找零。③完成交易,等待下一次交易。 --用拨码开关选择糕点的种类及份数,用按钮代表插入1元、5元或10元钞票,用LED灯作为输出糕点和找零的指示灯,用数码管显示插 --入的总金额和找零金额,保留小数点后一位。 ENTITY auto_sell IS PORT ( clk : IN STD_LOGIC; reset_p : IN STD_LOGIC;--复位--SW7 cakes : IN STD_LOGIC_VECTOR(2 DOWNTO 0);--糕点选择--SW012 number : IN STD_LOGIC;--份数--SW3 coin_10_key : IN STD_LOGIC;--投币1元--btn1 coin_50_key : IN STD_LOGIC;--投币5元--btn2 coin_100_key : IN STD_LOGIC;--投币10元--btn3 start : IN STD_LOGIC;--启动--SW6 confirm : IN STD_LOGIC;--确认--btn0 succeed_led : OUT STD_LOGIC;--购买成功输出糕点 charge_led : OUT STD_LOGIC;--找零指示灯 bit_sel : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--数码管位选 seg_sel : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END auto_sell; ARCHITECTURE behave OF auto_sell IS COMPONENT control IS PORT ( clk : IN STD_LOGIC; reset_p : IN STD_LOGIC; cakes : IN STD_LOGIC_VECTOR(2 DOWNTO 0); number : IN STD_LOGIC; coin_10 : IN STD_LOGIC; coin_50 : IN STD_LOGIC; coin_100 : IN STD_LOGIC;--投币10元 start : IN STD_LOGIC; confirm : IN STD_LOGIC; total_money : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); charge_money : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); succeed_led : OUT STD_LOGIC; charge_led : OUT STD_LOGIC ); END COMPONENT; COMPONENT key_jitter IS PORT ( clkin : IN STD_LOGIC;--50M key_in : IN STD_LOGIC;--按键输入 key_negedge : OUT STD_LOGIC--按键下降沿输出 ); END COMPONENT; --显示模块 COMPONENT display IS PORT ( clk : IN STD_LOGIC; total_money : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输入钱币 charge_money : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--找零钱币 bit_sel : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--数码管位选 seg_sel : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END COMPONENT;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 糕点自动售货机设计VHDL代码ISE basys2开发板
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 糕点自动售货机设计VHDL代码ISE basys2开发板
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm