- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能微波炉控制系统及设计讲解
题目:智能微波炉控制系统及设计 一、大作业摘要 我设计的是微波炉的控制系统,主要解决的是微波炉的定时功能,各种功能转换,比如说,加热食物都需要哪些步骤。首先要启动开始状态,其次设定时间,然后是火力档位的选择,最后是烹饪的方式选择。 我设计的微波炉可以对食物进行不同火力档位的加热,每种档位加热的时间可以不同。 我的设计存在的问题是,每次加热的时间最多99秒,没有检查功能。 二、设计的背景、目的和意义 随着控制技术和智能技术的发展,微波炉也向着智能化、信息化发展。而现有市售的微波炉其主要弊端:不能按既有程序进行烹调,需要使用者根据食物的类型、数量、温度等因素去设定微波炉的工作时间,若设定的工作时间过长,含水分较多的食物可能会产生过热碳化的现象,若时间过短则达不到预期的烹调效果。针对这些问题,我认为有必要研制一种操作简单且烹调效果好的微波炉,根据一些家常菜按固定程序烹调的现象,可采取分时、分档火力加热,节时又节能。 ?本设计采用?EDA?技术用?VHDL设计语言,设计一种微波炉控制器该控制器具有系统复位、状态控制、时间设定、火力档位选择、等功能,基于?FPGA?芯片实现 ? 三、设计任务及要求 本课题是基于FPGA的微波炉控制器设计,即设 一个具备定时,温控,烘烤,计时显示功能的微波炉控制器,实现一些功能: 1 ,该微波炉控制器能在任意时刻取消当前工作,复位为初始状态。 2, 可以根据需要设定火力及每种火力的加热时间,可供火力选择的档位有大火档,中火档,小伙档,三种档位。 3, 定时器需要与BCDto7SEG译码器连接,再通过数码管显示倒计时过程。 四、确定输入和输出变量 输入变量8个: nRST:清零 i1,i2,i3:输入信号 Clk:时钟 DIN:定时器输入 Load:同步加载控制信号 Count:计数控制端 输出变量2个: Q:状态输出 B:计数器输出端 五、确定输入状态(9个) START:开始 S1:解冻 S2:定时 S3:大火档 S4: 中火档 S5:小火档 S6 :加热 S7:烘烤 S8 : 停止 六、整体设计框图 开始 时间设定 火力档选择 (大,中,小) 烹饪功能选择 (加热,烘烤) 停止 十、状态机设计(状态转换图) 十一、状态机设计(状态编码) module Microwave(nRST,clk,i1,i2,i3,Q,B,load,DIN,count); input nRST,clk,load,count; input i1,i2,i3; input [7:0]DIN; output [7:0]B; output Q; wire [7:0]B ; reg [7:0]B1; reg [7:0] Q; reg [7:0] CS,NS; parameter[7:0] START=8S1=8S2=8S3=8S4=8S5=8S6=8S7=8S8=8 always@(posedge clk ,negedge nRST) begin if(!nRST) CS=START; else CS=NS; end always@(CS,i1,i2,i3) begin case(CS) START:begin if(i1) NS=S2; if(i2) NS=S1; end S1 :begin if(i3) NS=S2; if(~i2~i3) NS=S8; end S2: begin if(count!nRST)B1=8 else begin if(load)B1=DIN; else begin if(B1[3:0]==4b0000) begin if(B1[7:4]4b0000||B1[7:4]4b0000) begin B1[3:0]=9; B1[7:4]=B1[7:4]-1; end else begin B1=0;
文档评论(0)