My title page contents

糕点自动售货机设计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开发板如下,其他开发板可以修改管脚适配:basys2开发板.png

演示视频:

设计文档:

设计文档.doc

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开发板

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

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

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