文档介绍:摘要本文介绍了应用FPGA芯片和硬件描述语言(VHDL)设计微波炉控制器的方法。系统使用VHDL编程实现各底层模块的功能,顶层的设计采用图形输入完成,主要阐述模块化设计的思想和状态图的描述方法,以及他们在硬件描述语言中的应用,微波炉控制器系统是一个实用型的系统,系统不仅具有操作简单的功能,而且实用性能非常出色,既能节约时间又能节约能源。主要有以下几个模块:输入模块、控制模块和显示模块。输入模块主要实现按键扫描和键盘译码,控制模块主要包括数据装载、计时、温度控制,显示模块涉及到显示译码和指示灯的闪烁。经过对系统做需求分析,验证了设计方案的可行性及实现方法的有效性,基本实现了系统的要求。关键词:FPGA;VHDL;微波炉;状态图; 系统总体方案设计 输入模块设计 124. 结论 14参考文献 14附系统整体结构图 ,电路比较复杂,性能不够灵活。本设计采用先进的EDA技术,利用VHDL设计语言,设计一种新型的微波炉控制器。该控制器具有系统复位、状态控制、时间设定、火力档位选择、烹饪计时、温度控制、显示译码和音效提示功能,基于FPGA芯片实现。本系统控制部分以FPGA芯片为核心,通过功能按键设置和手动数据输入,完成不同功能时自动以预置方案或者自定义方案加热。其中,预制方案提供烹调、烘烤、解冻等系统烹调流程,仅供用户选择,无需设置;而自定义方案,用户根据食物含量、重量等手动设置时间、温度和选择火力等操作。在烹饪过程中,能通过数码管显示或者指示灯提示知道食物的成熟度,可以智能控制。该系统在功能执行时,能实现门开关检测、键盘输入扫描、温度控制、LED显示、工作状态指示、蜂鸣。,该系统控制部分以FPGA芯片为核心,实现时间设置、温度设定、火力选择、音效响应提示、LED数码管显示等,在硬件组成上,涉及到电源供电、按键输入、LED数码管显示、指示灯提示等。以下是该系统总体框图,如图下图所示:本系统主要由输入、控制和显示部分组成。输入部分主要完成用户对控制功能的设置,采用按键作为输入设备。控制部分是本系统的核心,它接收用户的输入,完成相应的控制逻辑功能,并将当前的工作状态等信息送到显示部分。显示部分主要监视系统工作状态并提示用户进行控制操作。以下是该系统功能模块图,*4矩阵键盘作为输入设备,实现数据输入控制。矩阵键盘是一种常见的输入装置,在日常生活中,矩阵键盘在计算机、电话、手机、微波炉等格式电子产品上已经被广泛应用,计算机键盘通常采用行列扫描法来确定所按下键的行列位置。由于键盘按键是一种机械开关,所以设计其控制电路时,需要涉及到键盘扫描、键盘译码,光靠矩阵键盘是无法完成按键输入工作的。、键盘扫描和按键消抖,以下分别针对所涉及到的电路进行描述。1、时序产生电路本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲、扫描键盘时钟、键盘消抖动时钟。分别定义如下:CLK:INSTD_LOGIC;--系统时钟脉冲CLK_SCAN:OUTSTD_LOGIC;--扫描键盘时钟CLK_DEB:OUTSTD_LOGIC--键盘消抖动时钟一般消抖动信号时钟频率必须比其它的电路使用的脉冲信号频率更高,一般消抖动频率是键盘扫描或LED频率的4倍或更高。这里系统时钟频率取50MHZ,扫描时钟频率取100KHZ,消抖时钟频率取200KHZ。生成的电路符号如下,图所示:2、按键扫描电路所谓行列式键盘扫描,即用带有I/O口的线组成行列式结构,按键设置在行列的交点上。行列式矩阵键盘原理:按键设置在行列线的交叉点,行列线分别连接到按键的两端。列线通过上拉电阻截止+5V电压,即列线的输出被定位到高电平状态;判断有无按键按下时通过行线送出扫描信号,然后列线读取状态得到。其方法是依次给行线送低电平,检查列线的输入。若列线全为高电平,则代表所在行无按键按下,若列线出现低电平,则低电平所在的行和出现低电平的列的交叉点处有按键按下。行扫描信号为KEY_DRV[3..0],列输入信号为KEY_IN[3..,将键盘扫描后的值根据需要设定成相应的按键。程序设计如下:key_decode:PROCESS(SC_CLK)BEGINZ<=KEY_DRV&KEY_IN;--读入的编码与扫描结果拼接IFSC_CLK'E