微波炉控制 FPGA 设计 VHDL Quartus

名称:微波炉控制 FPGA 设计 VHDL Quartus

软件:Quartus

语言:VHDL

功能介绍

本设计使用 VHDL 实现微波炉控制逻辑,面向加热、烧烤和解冻三种模式,设置了独立的模式选择输入,以及时间、温度和火力设置接口。操作接口还包括复位、启动/继续和暂停,适合用于学习带参数设置与运行状态控制的 FPGA 数字系统。 顶层设置门状态输入 door_check 和 9 位外部温度输入 temp_in。其中门状态为 1 表示门未关闭,温度输入按摄氏度表达。输出包括结束提示 bell、完成指示 end_led、门开/过温报警指示 alarm_led,以及三种模式指示灯和工作状态指示灯,便于分析操作条件与状态反馈之间的关系。 显示接口采用共阳极数码管段码形式,分别输出四位分钟/秒钟显示、一位火力显示和三位温度显示。设计同时覆盖控制、参数设置与显示三个方面,可作为 VHDL 模块化设计、顶层接口连接及 Testbench 仿真分析的学习参考。

运行环境

开发语言:VHDL。 工程软件:Quartus,工程名为 microwave_top_vhdl,使用 .qpf 工程文件与 .qsf 设置文件组织设计。 顶层实体:microwave_top_vhdl。 仿真环境:ModelSim,配合 tb_microwave_compare 测试模块进行仿真分析。 接口形式:系统时钟、操作按键、门状态输入、9 位温度输入,以及指示灯、结束提示和共阳极数码管段码输出。

设计思路

设计采用分模块组织方式,将微波炉控制过程拆分为时钟分频、状态控制、时间设置、温度设置和显示处理,再由 microwave_top_vhdl 顶层统一连接。阅读时可先理解各类按键和指示输出的含义,再沿着设置、启动、暂停与结束提示的控制关系分析模块之间的配合。 控制部分围绕加热、烧烤和解冻三种模式展开。模式选择按键与时间、温度、火力设置按键承担不同的操作职责,启动/继续和暂停接口用于工作过程控制。门状态与外部温度输入则为门开、过温报警逻辑提供输入条件,适合结合状态控制模块研究操作输入、状态变化与指示输出之间的关系。 显示部分将时间、火力和温度分别引出:时间对应分钟十位、分钟个位、秒钟十位和秒钟个位,温度对应百位、十位和个位,火力使用独立段码输出。这种接口划分便于在仿真中分别观察控制状态和显示结果,也便于学习数值处理与数码管译码之间的连接方式。 仿真分析可从顶层整体行为入手,再分别查看分频、状态控制、时间设置、温度设置和显示模块。对照 Testbench 激励与波形时,应重点关注按键操作前后的输出变化、门状态和温度输入对报警输出的影响,以及时间与参数显示是否与当前控制过程对应。

模块结构

microwave_top_vhdl:顶层模块,集中定义系统时钟、操作按键、门状态、温度输入,以及提示、指示灯和数码管段码输出。 div_clk_vhdl:时钟分频模块,用于组织设计所需的分频逻辑。 state_ctrl_vhdl:状态控制模块,是分析模式选择、启动/继续、暂停及状态指示关系的重点。 time_set_vhdl:时间设置模块,对应时间参数处理部分。 temp_set_vhdl:温度设置模块,对应温度参数处理部分。 display_vhdl:显示模块,对应数值显示与数码管段码输出部分。 tb_microwave_compare:仿真测试模块,用于结合输入激励分析顶层设计行为。

演示视频

微波炉控制设计演示视频,可配合顶层接口、模块说明与仿真内容观看。

仿真图/仿真说明/设计文档图片

设计文档围绕工程文件、程序文件、程序编译、RTL 图、Testbench 和仿真图展开,适合按工程结构、逻辑连接和波形分析的顺序阅读。 仿真说明覆盖顶层设计,以及分频模块、状态控制模块、时间设置模块、温度设置模块和显示模块。可结合对应模块代码与 Testbench 理解信号关系,重点分析操作输入、控制状态和显示输出之间的配合。

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image1.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image10.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image11.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image12.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image13.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image14.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image15.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image16.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image2.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image3.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image4.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image5.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image6.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image7.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image8.png

微波炉控制 FPGA 设计 VHDL Quartus 设计文档图片 image9.png

部分代码

以下展示顶层模块 microwave_top_vhdl 的部分代码,完整源码请下载压缩包查看。

entity microwave_top_vhdl is
   port (
      clk       : in  std_logic; -- 系统时钟
      reset_key : in  std_logic; -- 复位按键
      time_key  : in  std_logic; -- 设置时间
      temp_key  : in  std_logic; -- 设置温度
      fire_key  : in  std_logic; -- 设置火力(功率调节)
      start_key : in  std_logic; -- 启动/继续
      stop_key  : in  std_logic; -- 暂停
      --模式选择(解冻/加热/烧烤)
      key_1     : in  std_logic; -- 烹调(加热)
      key_2     : in  std_logic; -- 烘烤(烧烤)
      key_3     : in  std_logic; -- 解冻

      door_check : in std_logic;                   -- 1 表示门未关闭
      temp_in    : in std_logic_vector(8 downto 0); -- 外部温度传感器输入(℃)

      bell      : out std_logic; -- 结束提示(蜂鸣器)
      end_led   : out std_logic; -- 完成指示灯
      alarm_led : out std_logic; -- 报警指示灯(门开/过温)
      led_1     : out std_logic; -- 烹调模式指示灯
      led_2     : out std_logic; -- 烘烤模式指示灯
      led_3     : out std_logic; -- 解冻模式指示灯
      work_led  : out std_logic; -- 工作状态指示灯

      min_ten_HEX : out std_logic_vector(7 downto 0); -- 分钟十位数码管段码(共阳极)
      min_one_HEX : out std_logic_vector(7 downto 0); -- 分钟个位数码管段码(共阳极)
      sec_ten_HEX : out std_logic_vector(7 downto 0); -- 秒钟十位数码管段码(共阳极)
      sec_one_HEX : out std_logic_vector(7 downto 0); -- 秒钟个位数码管段码(共阳极)

      fire_HEX   : out std_logic_vector(7 downto 0); -- 火力数码管段码(共阳极)
      temp_h_HEX : out std_logic_vector(7 downto 0); -- 温度百位数码管段码(共阳极)
      temp_t_HEX : out std_logic_vector(7 downto 0); -- 温度十位数码管段码(共阳极)
      temp_o_HEX : out std_logic_vector(7 downto 0)  -- 温度个位数码管段码(共阳极)
   );
end entity microwave_top_vhdl;

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 微波炉控制 FPGA 设计 VHDL Quartus

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

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