智能饮水机设计VHDL代码Quartus仿真

名称:智能饮水机设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

设计智能饮水机要求实现以下功能:

控制模块:实现对水温的控制。设置不同加热模式,沏茶、冲咖啡、泡牛奶等多个功能;设置保温模式,限制水反复加热的次数,若水反复加热次数超过上限值,放掉现有加热容器内的水重新加生水进去;若是生水直接加温到给定温度,必须是水烧开以后的水温,若是滚沸后的开水,则将温度直接下降或上升到给定温度。

节能模块:当水温达到预置温度后,半个小时内无人使用,暂停给水加热,有人用水,则恢复到上一时刻的设置状态;当水温达到预置温度后,一个小时内无人使用,暂停给水加热,有人用水,则除保持水反复加热的次数外,其他设置恢复初试状态。

显示模块:现有的水温、设置的水温;水加热的次数;加热的具体模式、保温模式。

采用50MHZ时钟源的FPGA芯片,使用VHDL语言编程。Quartus9.0版本


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


演示视频:

设计文档:

设计文档.doc

1. 工程文件


2. 程序文件





3. 程序编译


4. RTL图

状态图



5. 仿真图

饮水机控制模块仿真



显示模块仿真



部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--分频模块,分频到10Hz
ENTITY fenping IS
   PORT (
      clk_50M    : IN STD_LOGIC;
      clk_10Hz    : OUT STD_LOGIC--10Hz
   );
END fenping;
ARCHITECTURE behave OF fenping IS
   SIGNAL time_count       : STD_LOGIC_VECTOR(31 DOWNTO 0) := "00000000000000000000000000000000";
BEGIN
--分频
   PROCESS (clk_50M)
   BEGIN
      IF (clk_50M'EVENT AND clk_50M = '1') THEN
         IF (time_count = "00000000010011000100101101000000") THEN--5000000
            time_count <= "00000000000000000000000000000000";
            clk_10Hz <= '1';
         ELSE
            time_count <= time_count + "00000000000000000000000000000001";--计数
            clk_10Hz <= '0';
         END IF;
      END IF;
   END PROCESS;
   
   
END behave;


代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 智能饮水机设计VHDL代码Quartus仿真

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

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