自动售货机设计VHDL代码Quartus DE2-115开发板

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

软件:Quartus

语言:VHDL

代码功能:

1、假定可出售1元和1.5元两种商品

2、投币只能投入五角和1元硬币

3、可找零

自动售货机.jpg

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

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

演示视频:

设计文档:

设计文档.doc

1. 工程文件


2. 程序文件


3. 程序编译


4. RTL图


5. 管脚分配


6. 仿真图

整体仿真图



按键边沿检测模块



售货控制模块    



显示模块



部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--顶层模块
ENTITY auto_sell IS
   PORT (
      clk_in        : IN STD_LOGIC;--时钟
      reset_n        : IN STD_LOGIC;--复位
      select_key_n   : IN STD_LOGIC;--商品选择按键
      confirm_key_n  : IN STD_LOGIC;--确认按键
      cancel_key_n   : IN STD_LOGIC;--取消按键
      coin_5_n       : IN STD_LOGIC;--投币0.5元
coin_10_n       : IN STD_LOGIC;--投币1.0元
buy_succeed    : OUT STD_LOGIC;--购买成功
      HEX0     : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管段选
HEX1     : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选
   );
END auto_sell;
ARCHITECTURE bahave OF auto_sell IS
--售货控制模块
component sell_ctrl IS
   PORT (
      clk            : IN STD_LOGIC;
      reset_n        : IN STD_LOGIC;
      
      confirm_p      : IN STD_LOGIC;
      select_p       : IN STD_LOGIC;
      concel_p       : IN STD_LOGIC;
      
      coin_5_p       : IN STD_LOGIC;--投币0.5元
coin_10_p       : IN STD_LOGIC;--投币1.0元
      
      buy_succeed    : OUT STD_LOGIC;
      select_num     : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
      input_money    : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
      refound_money  : OUT STD_LOGIC_VECTOR(4 DOWNTO 0)
   );
END component;
--按键下降沿检测模块
component key_jitter IS
   PORT (
      clkin        : IN STD_LOGIC;
      key_in       : IN STD_LOGIC;
      key_negedge  : OUT STD_LOGIC
   );
END component;
--显示模块
component display IS
   PORT (
      clk            : IN STD_LOGIC;
select_num     : IN STD_LOGIC_VECTOR(4 DOWNTO 0);
      refound_money  : IN STD_LOGIC_VECTOR(4 DOWNTO 0);--找零
      HEX0     : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管段选
HEX1     : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选
   );
END component;
   SIGNAL select_num        : STD_LOGIC_VECTOR(4 DOWNTO 0);
   SIGNAL input_money       : STD_LOGIC_VECTOR(4 DOWNTO 0);
   SIGNAL refound_money     : STD_LOGIC_VECTOR(4 DOWNTO 0);
   
   SIGNAL confirm_p         : STD_LOGIC;
   SIGNAL select_p          : STD_LOGIC;
   SIGNAL concel_p          : STD_LOGIC;
   
   SIGNAL coin_5_p          : STD_LOGIC;
SIGNAL coin_10_p          : STD_LOGIC;
BEGIN
--按键下降沿检测模块  
   i1_key_jitter : key_jitter
      PORT MAP (
         clkin        => clk_in,
         key_in       => select_key_n,
         key_negedge  => select_p
      );
   
   
--按键下降沿检测模块   
   i2_key_jitter : key_jitter
      PORT MAP (
         clkin        => clk_in,
         key_in       => confirm_key_n,
         key_negedge  => confirm_p
      );

代码文件(付费下载):



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

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

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