基于Verilog的微波炉控制器的设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Verilog的微波炉控制器的设计

基于FPGA的微波炉控制器的设计 一、设计任务及要求 该实验主要完成微波炉控制器的设计。主要功能有复位开关、模式选择、烹调时间设置、LED指示烹调状态及数码管显示烹调剩余时间。 上电后,系统处于复位状态。工作时首先进行烹调时间设置,并使用数码管显示时间信息,设要求最长的烹调时间为59分59秒,时间设置完毕后系统处于等待状态状态;选择开始烹调模式时系统进入烹调状态,时间显示数码管按每秒减1的倒计时方式显示剩余烹调时间;烹调结束后,系统回到复位状态。 二、设计方案及流程 微波炉控制器系统主要有一下五个电路模块组成:分频模块、模式选择电路、时间设置电路、倒计时模块、显示模块。分频模块完成系统50MHz的时钟向1Hz的分频,使计时器能够按照1S的频率倒计时。模式选择电路,其功能是控制微波炉工作过程中模式的切换,选择不同的模式系统计入不同的工作状态。时间设置模块,该模块主要是可根据用户需求输入烹调时间;倒计时电路会根据用户所设置的时间进行倒计时,由数码管显示电路显示目前烹调状态,同时由LED灯指示系统反正在烹调。系统总体框图如下: 系统的输入输出信号如下:输入clk,key0,key1,key2,key3,key4五个信号,输出hex0,hex1,hex2,hex3,sec_flag,cook六个信号。 clk作为50MHz分频模块的输入,时钟上升沿有效。Key3作为模式选择信号,mode0表示系统进入分设置模块,mode1表示系统进入秒设置模块,mode2表示系统设置时间完成,进入烹调状态。key2的作用是在mode0及mode1模式下对分、秒设置进行加操作,按一下分、秒加1。key1的作用是在mode0及mode1模式下对分、秒设置进行减操作,按一下分、秒信号减1。key0作为系统的复位信号,在不同模式下按下key0系统都会进入复位状态,数码管显示”0000”,cook标志的LED灯处于灭状态。 hex0,hex1,hex2,hex3分别作为四个数码管的输出,它是时间设置信号sec_t0,sec_t1,min_t0,min_t1及倒计时信号sec0,sec1,min0,min1译码结果。当系统处于时间设置状态时数码管显示用户设置时间的状态,当系统处于烹调倒计时状态时,数码管显示倒计时剩余时间。开始和计时结束时数码管处于复位状态。sec_flag是分频输出的秒信号标志位,驱动LEDR7灯闪烁。cook是烹调状态指示信号,cook= 1表示系统正在烹调倒计时,其它状态下cook=0,它作为输出驱动LEDR6灯亮或灭。 程序设计流程图如下: 三、仿真及结果分析 程序输入完成后进行编译,编译通过后先对程序进行仿真,仿真结果如下: 为便于观察仿真结果,在仿真过程中未对时钟进行分频,也未对输出结果进行译码。d3,d2,d1,d0是倒计时输出,min_t1,min_t0,sec_t1,sec_t0是设置时间输出。如上图所示:按下复位键key0后,系统输出“0000”;key3作为模式选择,处于mode0时,进行分设置,key2和key1分别表示对分进行加、减操作;如上图加4次减3次,故分设置为1分钟。处于mode1时,进行秒设置,key2和key1分别表示对秒进行加、减操作;如上图加3次减2次,故秒设置为1秒。 四 硬件调试 五、实验总结 本次实验是基于FPGA的微波炉控制器的设计。通过此次实验,我收获了很多,对以前在学习过程中不时很懂或模糊不清的东西能够直观的了解掌握。不仅巩固了Verilog硬件描述语言的应用,而且让我更加熟悉了QuartusⅡ9.1软件的使用和操作方法。硬件调试过程中对管脚分配以及DE1开发板有了更深刻的了解和掌握。由以前的读程序到现在的用自己的方法写程序,这是此次实验带给我最本质的收获。虽然实验过程中失败了很多次,每次不是错误就是实现功能不够全面,但最后都得到了解决,让我学会了用不同的方法去理解实现所要实现的功能,这要比读懂一个程序要难得多也宝贵得多。 时间设置模块 模式选择模块 倒计时电路 数码管显示电路 图1 系统总体框图 50MHz分1Hz的 分频模块 图2 工作流程图 Y N Y N Y N Y N 时间到? mode2 ? key0 ? mode0 ? mode1 ? 完成 烹调 显示0000 时间设置 初始状态 接通电源 N 图3 系统仿真图 图4 硬件调试结果

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档