微波炉控制器

合集下载

微波炉控制器的加热时间

微波炉控制器的加热时间

微波炉控制器的加热时间微波炉是现代家庭中常见的厨房电器之一,它可以快速加热食物,为我们提供便利。

而微波炉的加热时间则由其控制器来决定。

本文将探讨微波炉控制器的加热时间,介绍其工作原理和常见设置。

一、微波炉控制器的工作原理微波炉控制器是微波炉的核心部件之一,其主要功能是调节加热时间和功率。

在设定好加热时间后,微波炉控制器会通过电路控制微波的产生和释放,从而将食物加热到合适的温度。

微波炉控制器内部包含计时器、传感器和电路控制模块等组件。

计时器用于设定加热时间,传感器负责监测食物的温度和湿度,以便实时调节加热功率,电路控制模块则负责控制微波的生成和释放。

二、微波炉控制器的加热时间设置微波炉的加热时间设置可以根据不同食物的需求进行调整。

一般来说,微波炉的加热时间单位为秒,可以通过微波炉面板上的控制按钮进行设置。

1. 食物的种类和重量微波炉加热时间的设置通常与食物的种类和重量直接相关。

不同的食物具有不同的热传导性和吸收微波的能力,因此需要不同的加热时间。

举例来说,加热一杯水通常只需要几十秒,而加热一盘冷冻食品可能需要数分钟。

微波炉使用手册中一般会提供不同食物的加热时间参考表,可供用户参考。

2. 加热功率的调节除了食物的种类和重量,微波炉的加热时间还可以通过调节加热功率来进行控制。

微波炉一般提供多个档位的功率设置,如高、中、低档。

在实际使用中,如果需要快速加热食物,可以选择高档功率,而如果希望温和加热,可以选择中档或低档功率。

不同功率档位下的加热时间也会有所差异,用户可以根据需要进行灵活调整。

3. 实时监测和调整一些高级的微波炉控制器拥有智能传感器功能,可以实时监测食物的温度和湿度,并根据需要自动调整加热时间和功率。

这种智能化的控制方式能够更精确地控制微波炉的加热效果,确保食物受热均匀,避免出现过热或不足的情况。

三、正确设置微波炉控制器的加热时间的重要性正确设置微波炉控制器的加热时间对于食物的加热效果和口感有着重要的影响。

如何修复微波炉的时间控制器

如何修复微波炉的时间控制器

如何修复微波炉的时间控制器微波炉是我们生活中常见的厨房电器之一,它通过微波辐射加热食物。

然而,有时候我们可能会遇到微波炉的时间控制器出现问题的情况。

本文将向大家介绍如何修复微波炉的时间控制器,以便恢复其正常使用。

修复微波炉时间控制器的步骤如下:步骤一:检查电源连接首先,我们需要确保微波炉的电源连接正常。

请确保插头已经插入到电源插座中,并且没有松动或损坏的情况。

同时,检查电源线是否有断裂或损坏的情况。

如果发现任何问题,请及时更换或修复电源线。

步骤二:重新启动微波炉如果微波炉的时间控制器暂时失效,我们可以尝试重新启动微波炉来解决问题。

方法是将微波炉的插头拔出电源插座,等待约5分钟后再重新插入电源插座。

这样可以清除一些临时性故障,如果时间控制器仍然不能正常工作,请继续进行下一步骤。

步骤三:检查控制面板控制面板是微波炉时间控制器的核心部件,它负责接收我们输入的指令并控制微波炉的运行。

首先,我们需要检查控制面板上是否有明显的损坏或刮擦。

如果有,可能需要更换控制面板。

此外,还可以使用电压表来测试控制面板上的连接器是否正常。

步骤四:更换时间控制器如果经过前三步的检查后,微波炉的时间控制器仍然无法工作,那么我们可能需要考虑更换新的时间控制器。

首先,我们需要找到适配于微波炉型号的新时间控制器。

然后,按照微波炉的拆卸说明书,将微波炉的外壳打开。

请确保在操作之前,将电源插头拔出,以确保安全。

接下来,找到老的时间控制器,并将其与新的时间控制器进行比较,确保它们的连接接口和线路是相同的。

然后,将旧的时间控制器从微波炉中拆下,并用新的时间控制器进行更换。

最后,重新安装微波炉的外壳,并将电源插头插入电源插座,测试新的时间控制器是否正常工作。

在进行微波炉时间控制器修复时,请务必确保安全。

如果您不确定如何操作,请寻求专业人士的帮助或联系微波炉的售后服务中心。

结论:微波炉的时间控制器出现问题可能导致其无法正常工作。

通过检查电源连接,重新启动微波炉,检查控制面板以及更换时间控制器等步骤,我们可以尝试修复微波炉的时间控制器问题。

微波炉控制器的设计与分析

微波炉控制器的设计与分析

的 状态 转 换条 件 及 输 出信 号进 行 分 析 ,我 们 可得 到 其状 态 转 换 图如 图 3 , 3 主 要 VH L漂程 序 D 状态控 制器 K Q的 V D 源 程序 Z HL
A C IE T R R F K Q S R H T c U E A T O Z I
T P T T Y E I (I L ,L M E T E L C ,T M R Y ESA ETP S D E A P T S ,S T C O K I E ,
1系统 设计 要求 设计 一个微 波炉 控制 器 W L Z ,通过 该控制 器再 配 以 4 七段 数码 二极 B KQ 个 管 完 成 微波 炉 的定 时 及信 息 显示 。各信 号功 能要 求 : () L 1 C K是秒 时脉 冲输 入 ,它 接受 每秒 一 个 时钟 脉冲 的 节拍信 号 。 () E E 2 R S T为 复位 信 号 ,高 电平 有效 ,用 于 芯片 的 复位 功 能 。 () E T为测试信 号 ,高 电平有 效 ,用于 测试 4 七段 数码 管二极 管工 3TS 个 作是 否正常 。 ( 】 E T是 烹调 时 间设置 控 制信 号 ,高 电平 有效 。 4ST ()A A 是一 个 1 总线输 入信 号 ,输入 所设 的时 间长短 ,它又 高 到 5DTO 6位 低分 为 四组,每 一组 是 BD 输入 ,分 别表示 分 、 上 十位 、 位 的数字 。例 C码 秒 个
I E T F R SE =’ 1 T E ’ H N C R TT < IL UR S A E = D E: E S F C K’EV NT A D L = l L I L E N C K ’ ’ CR T T <N X T T U R S A E = E S A E:

微波炉控制面板按键失灵的解决方案

微波炉控制面板按键失灵的解决方案

微波炉控制面板按键失灵的解决方案微波炉作为现代家庭中常见的厨房电器之一,给我们的生活带来了很大的方便。

然而,有时我们可能会遇到微波炉控制面板按键失灵的问题,这给我们的使用带来了困扰。

本文将介绍一些常见的微波炉控制面板按键失灵的解决方案,帮助您重新恢复微波炉的正常使用。

1. 检查电源连接在开始尝试其他解决方案之前,我们应该首先检查微波炉的电源连接是否正常。

确保微波炉插头正确插入电源插座,并确保电源线没有受损。

如果电源线有明显的损坏,可能需要更换电源线或者联系专业维修人员进行检修。

2. 清洁按键面板有时候,微波炉的按键表面可能会被灰尘、油污等污物覆盖,导致按键失灵。

解决这个问题的简单方法是使用柔软的布和适当的清洁剂轻轻擦拭按键面板,去除表面污物。

请确保在清洁之前先断开微波炉的电源。

3. 按键面板锁定功能一些微波炉具有按键面板锁定功能,该功能可以防止误操作或儿童操作。

如果您的微波炉无法响应按键操作,可能是由于该功能被意外启用。

请仔细查看微波炉的用户手册,找到相应的解锁操作步骤,并按照说明进行操作。

4. 重启微波炉有时候,微波炉可能会出现临时故障,导致按键失灵。

这时,尝试简单地重启微波炉可能会解决问题。

断开微波炉的电源,等待几分钟后再重新插入电源,并尝试使用微波炉的按键。

如果按键仍然无法使用,可能需要进行其他的解决方案。

5. 检查电路板微波炉的控制面板按键是通过电路板来传递信号的。

如果电路板出现问题,可能会导致按键失灵。

这时,需要联系专业维修人员进行检查和修理。

请不要自行拆卸微波炉或尝试修理电路板,以免造成更大的损害。

6. 联系售后服务如果您无法通过以上方法解决微波炉控制面板按键失灵的问题,建议您联系微波炉的售后服务中心或品牌厂家。

他们将为您提供更专业的支持和解决方案。

在与售后服务或品牌厂家联系时,请准备好微波炉的相关信息,例如型号、序列号等,以便他们能够更好地为您提供帮助。

总结:微波炉控制面板按键失灵可能会给我们的生活带来不便,但是通过一些简单的解决方案,我们可以尝试自行解决问题。

基于FPGA的微波炉控制器的设计

基于FPGA的微波炉控制器的设计

1 微波 炉的 设计 与分析
现需设 计一 个微波 炉控 制器 WB K Q, L Z 其外部 结构 如
图1 所示 。通过该 控 制 器再 配 以 4 七 段 数 码 二极 管 完 个 成 微波 炉的定 时及信 息显示 。
trb 1 k 2 a t
^ T — o £墓 嚣 -
R 慧 霉 慧 t 臀 蕾 T — T 尊 _ T 一 糍
基 于 F G 的 微 波 炉 控 制 器 的 设 计 PA
陈 平, 王树 森
( 济源职业技 术学院 信息工程 系, 河南 济源 49 0 ) 5 00

要: 于FG 基 P A的 微 波 炉 控 制 器 以现 场 可 编 程 门 阵 列 F G 为载 体 , 用硬 件描 述 语 言 V D PA 使 H L编 程 实现 各
需 时问 , 系统 自动 回到 复位 状 态 , 然后 同时 4个七 段 数 码
管 显示 时间 信 息 ( 设 系统 最 长 的 烹 调 时 间 为 5 假 9分 5 9
秒) 。再 按 S A T键后 系统 进 入 烹调状 态 ,O K信 号 开 TR CO 始 为高 电平 , 此时 , 个七 段 数 码管 每 隔 1 钟变 化一 次 , 4 秒 用 以刷新 还剩 多少 时间结 束 烹调 。烹 调结 束 后 , O K信 CO
中图分类号 :M9 15 T 2 .
文献标识码 : A
文章编号 :6 17 6 (0 2 0 - 1-3 17 -84 2 1 ) 20 30 0
孛 . . . . . . ・ ・ ,夺 . . . ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 夺 夺 夺 夺 争 争 夺 { ・ 幸 幸 幸 夺 夺 夺 夺 夺 争 夺 夺 孛 夺 夺 夺 夺 夺 夺 孛 孛 牵 夺 孛 夺 孛 夺 夺 幸 夺 争 夺 夺 夺 夺 ÷ 夺

微波炉控制器的设计

微波炉控制器的设计

SOPC/EDA综合课程设计报告设计题目:微波炉控制器的设计设计者:学号:班级:指导老师:王忠锋完成时间:2012年1月6日SOPC/EDA综合课程设计报告 (1)第一章微波炉定时控制器的设计方案分析 (3)1.1 系统设计的要求 (3)1.2 系统总体功能描述 (3)1.3 各模块的功能实现 (4)第二章微波炉定时控制器的设计步骤 (5)2.1状态控制器的设计 (5)2.1.1 controllor状态换图及端口图 (5)2.2数据装载器loader的设计 (6)2.3烹调计时器counter的设计 (6)2.3.1烹调计时器的内部组成原理图 (7)2.4显示译码器YMQ47的设计 (7)2.5锁存器的设计 (8)第三章微波炉控制器的VHDL源程序 (9)3.1状态控制电路VHDL实现 (9)3.2数据装载电路的VHDL实现 (11)3.3计时电路的VHDL实现 (12)3.4六进制减法计数器 (13)3.5计时电路模块设计 (14)3.6顶层模块的VHDL实现 (16)3.7显示译码YMQ47的VHDL实现 (18)3.8锁存SCQ的VHDL实现 (19)第四章总体原理图 (20)4.1 总体功能的顶层原理图 (20)第五章系统功能的仿真验证 (21)5.1 状态控制电路仿真波形图 (21)5.2数据装载电路的仿真 (21)5.3 计时电路仿真 (22)5.4微波炉控制器显示仿真 (23)5.5SCQ的仿真图 (23)5.6总体功能的仿真分析 (24)结束语 (25)参考文献 (26)第一章微波炉定时控制器的设计方案分析1.1 系统设计的要求现需设计一个微波炉控制器WBLCONTROLLOR,其外部接口如下图所示。

通过该控制器再配以4个七段数码二极管完成微波炉的定时及信息显示。

各信号的功能及要求如下:CLK是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信号。

RESET为复位信号,高电平有效,用于芯片的复位功能。

微波炉控制器设计[1]

微波炉控制器设计[1]

二、文献综述现有市售的微波炉其主要弊端为:不能按既有程序进行烹调,在节能方面也未做过多考虑。

烹调经验告诉我们,家常菜大多可按固定程序烹调、炖肉、煮饭、烘烤。

若采取分时、分档火力加热,则可节能。

微波炉控制系统功能比较齐全,在火力档位设了解冻、烹调、烘烤、保温、自定义加热、自定义烹调以及按给定程序烹调等七种主要功能,其中程序烹调共设置了八种不同的烹调流程,供用户选择。

在控制方面,实现了智能化,信息化管理,并且具有密码开锁功能,即只有知道相应模式键继续运行的号码的人,才能对该机进行操作等等功能。

STC12C5404AD单片机是具有全新流水线和精简指令集结构的高速率、低功耗新一代单片机。

它带有8路10位精度ADC、4路PWM/PCA(可编程计数器阵列)、SPI同步通信口以及内部集成的MAX810专用复位电路。

这些特点不但增加了开发者的使用灵活性,同时还可以帮助用户减小PCB尺寸和系统成本。

此外,STC12C5404AD型处理器还可以通过串口(P3.0/P3.1)直接下载用户程序,从而使其适合于在系统(ISP)及在应用(IAP)中编程,因而可为许多计算密集的嵌入式控制应用领域提供功能强大、使用灵活且性价比高的解决方案。

STC12C5404AD是STC系列单片机,采用RISC型CPU内核,兼容普通8051指令集,片内含有10KB Flash 程序存储器,2KB Flash 数据存储器,512B RAM 数据存储器,同时内部还有看门狗(WDT);片内集成MAX810专用复位电路、8通道10位ADC以及4通道PWM,具有在系统编程(ISP)和在应用编程(IAP),片内资源丰富、集成度高、使用方便。

STC12C5404AD对系统的工作进行实施调度,实现外部输入参数的设置、蓄电池及负载的管理、工作状态的指示等。

电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成。

只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。

微波炉定时器和功率调节器结构和原理

微波炉定时器和功率调节器结构和原理

微波炉定时器和功率调节器结构和原理普通微波炉一般都采用定时器和功率调节(控制)器由同一电机驱动的组合体形式,简称定时功调器。

定时器主要由微型同步电机、降速齿轮组件和定时联动开关等组成。

由于其有联动开关串接在微波炉电源电路中,因此定时器大都兼作电源启动开关,当然另设启动开关的微波炉除外。

当操作人员拨动定时钮,设定定时时间时,定时开关被接通,微波炉得电而开始工作,同时定时器电机转动。

当定时时间到达时,开关被断开,微波炉停止工作。

许多定时开关断开时还会发出一声清脆的铃声,以提醒人们加热工作完成。

功率调节器也称火力调节器,它实际上也是个时间开关,功能是在微波炉工作期间周期性地不断接通和断开磁控管的电源,使磁控管有规律地间歇工作,即工作时间和休止时间有一定的比例关系,改变这个比例,就使磁控管在微波炉整个加热时间段中的工作时间得以相应改变,从而起到调节微波输出功率的作用。

功率调节器也由定时器所用的同一电机驱动。

实际工作时,当设定好功率值后,功率调节器便控制磁控管工作一段时间再休止一段时间,并按一定周期不断循环这个过程,直至微波炉工作结束。

这里假设磁控管在—个循环周期内的工作时间为t1,休止时间为t2,则一个循环周期T=t1+t2,可清楚地看出功率调节器控制微波输出功率的方式。

循环周期T取值很有讲究,从加热角度考虑取短些好,但太短将使功率调节开关频繁动作,影响磁控管的工作稳定和使用寿命。

通常机械式功率调节器的T都取30s左右,实践证明比较理想。

当T=30s时,若设磁控管工作时间t1分别为6、12、15、24、30s,那么对应6s的微波输出功率为保温功率,这是炉子额定微波输出功率Po的20%的功率,又称温火挡。

对应12s的为解冻功率(40%Po,又称低功率或低火)、对应15s的为中功率(50%Po,又称中火)、对应24s的为中高功率(80%Po,又称中高火)、对应30s的为高功率(100%Po,又称高火或全功率)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微波炉控制器微波炉是一种微波加热食品的现代化烹调灶具,它由电源、磁控管、控制电路和烹调腔组成。

其中,微波炉控制器部分完成各工作状态之间的切换功能,可以通过硬件语言描述的数字系统来实现。

详细分析微波炉控制器的原理和组成结构,并设计一个简单的具有定时和信息显示功能的微波炉控制器。

一、系统设计要求设计一个具备定时和信息显示功能的微波炉控制器。

要求该微波炉控制器能够在任意时刻取消当前工作,复位为初始状态。

可以根据需要设置烹调时间的长短,系统最长的烹调时间为59分59秒;开始烹调后,能够显示剩余时间的多少。

显示微波炉控制器的烹调状态。

二、系统设计方案分析上述设计要求,微波炉控制器可由以下四个电路模块组成:状态控制电路,其功能是控制微波炉工作过程中的状态转换,并发出相关控制信号;数据装载电路,其功能是根据控制信号选择定时时间,测试数据或计时完成信息的载入;计时电路,其功能是对时钟进行减法计数,提供烹调完成时的状态信号;显示译码电路,其功能是显示微波炉控制器的各状态信息。

图1 微波炉控制器的系统框图微波炉控制器的系统框图如图1所示。

其中,CLK为时钟输入信号,时钟上升沿敏感;RESET为复位信号,高电平有效时系统复位清零;TEST为数码显示管测试信号,高电平有效,用于测试显示管是否正常工作;SET_T为烹调时间设置信号,高电平有效时允许设置烹调时间;DATA为定时时间输入信号,用于设置烹调时间的长短,其由高到低分别表示定时时间分、秒的十位,个位;START为烹调开始信号,高电平有效时开始烹调;输出信号COOK指示微波炉状态,高电平时表示烹调进行时;SEC0、SEC1、MIN0、MIN1分别表示秒个位、秒十位、分个位、分十位。

顶层模块的RTL原理图如下:微波炉控制器的工作流程如下:首先,对系统进行复位清零,使其各电路模块均处于初始状态;当烹调时间设置信号SET_T有效时,读入时间信号DATA[15…0]的取值,此时系统自动复位并显示设置的时间信息,按下开始键START,系统进入烹调状态,COOK信号变为高电平,时钟计数器开始减法计数,显示剩余烹调时间。

烹调结束,系统恢复初始状态,数码管显示输出烹饪结束信息。

当系统处于复位清零状态时,按下显示管测试按钮TEST,将对显示管是否正常工作进行测试,正常工作时,显示管输出全1。

三个主要模块中状态控制电路的功能是根据输入信号和自身当时所处的状态完成状态的转换和输出相应的控制信号,根据微波炉工作流程的描述,分析状态转换条件及输出信号,可以得到如下所示的微波炉控制器的状态转换图。

三、VHDL编程状态控制电路的VHDL实现如下:Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY controller ISPORT ( RESET, SET_T, START, TEST, CLK, DONE : IN STD_LOGIC;COOK, LD_TEST, LD_CLK, LD_DONE: OUT STD_LOGIC );END controller;ARCHITECTURE rtl OF controller ISTYPE STATES IS (IDLE, LAMP_TEST, SET_CLOCK, TIMER, DONE_MSG);SIGNAL NXT, CUR: STATES;BEGINPROCESS ( CLK, RESET)BEGINIF RESET ='1' THENCUR <= IDLE;ELSIF (CLK‟EVENT AND CLK=‟1‟) thenCUR <= NXT;END IF;END PROCESS;PROCESS (CLK, CUR, SET_T, START, TEST, DONE) BEGINNEXT<=IDLE;LD_TEST<=‟0‟;LD_DONE<=‟0‟;LD_CLK<=‟0‟;COOK<=‟0‟;CASE CUR ISWHEN LAMP_TEST =>LD_TEST <=‟1‟;COOK<=‟0‟;WHEN SET_CLOCK =>LD_CLK <=‟1‟;COOK<=‟0‟;WHEN DONE_MSG =>LD_DONE <=‟1‟;COOK<=‟0‟;WHEN IDLE=>IF TEST=‟1‟ THENNXT <=LAMP_TEST;LD_TEST <=‟1‟;ELSIF SET_T=‟1‟ THENNXT <= SET_CLOCK;LD_ CLK <=‟1‟;ELSIF START=‟1‟ AND DONE=‟0‟ THENNXT <= TIMER;COOK <=‟1‟;END IF;WHEN TIMER =>IF DONE=‟1‟ THENNXT <= DONE_MSG;LD_DONE <=‟1‟;ELSENXT <= TIMER;COOK <=‟1‟;END IF;END CASE;END PROCESS;END rtl;数据装载电路的VHDL实现如下:Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY loader ISPORT ( LD_TEST, LD_CLK, LD_DONE : IN STD_LOGIC;DATAIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);DATAOUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);LOAD: OUT STD_LOGIC);END loader;ARCHITECTURE rtl OF loader ISBEGINPROCESS (DATAIN, LD_TEST, LD_CLK, LD_DONE)CONSTANT ALLS: STD_LOGIC_VECTOR(15 DOWNTO 0) :=”1000100010001000”;CONSTANT DONE: STD_LOGIC_VECTOR(15 DOWNTO 0) :=”1010101111001101”;V ARIABLE TEMP: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINLOAD<=LD_TEST OR LD_DONE OR LD_CLK;TEMP:= LD_TEST & LD_DONE & LD_CLK;CASE TEMP ISWHEN “100”=>DATAOUT <=ALLS;WHEN “010” =>DATAOUT <=DONE;WHEN “001” =>DATAOUT <=DATAIN;WHEN OTHERS=> NULL;END CASE;END PROCESS;END rtl;计时电路的VHDL实现如下:--十进制减法计数器Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT ( CLK, LOAD,EN : IN STD_LOGIC;DATAIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CARRY_OUT: OUT STD_LOGIC);END cnt10;ARCHITECTURE rtl OF cnt10 ISSIGNAL TMP: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINPROCESS ( CLK, LOAD,EN)BEGINIF LOAD ='1' THENTMP <=DATAIN;ELSIF (CLK‟EVENT AND CLK=‟1‟) thenIF EN ='1' THENIF TMP <=”0000” THENTMP <=”1001”;ELSETMP<=TMP-…1‟;END IF;END IF;END IF;END PROCESS;PROCESS ( CLK, TMP)BEGINIF (CLK‟EVENT AND CLK=‟1‟) thenIF TMP <=”0000” THENCARRY_OUT <=‟1‟;ELSECARRY_OUT <=‟0‟;END IF;END IF;END PROCESS;Q<=TMP;END rtl;--六进制减法计数器Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPORT ( CLK, LOAD,EN : IN STD_LOGIC;DATAIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CARRY_OUT: OUT STD_LOGIC);END cnt6;ARCHITECTURE rtl OF cnt6 ISSIGNAL TMP: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS ( CLK, LOAD,EN)BEGINIF LOAD ='1' THENTMP <=DATAIN;ELSIF (CLK‟EVENT AND CLK=‟1‟) thenIF EN ='1' THENIF TMP <=”0000” THENTMP <=”0101”;ELSETMP<=TMP-…1‟;END IF;END IF;END IF;END PROCESS;PROCESS ( CLK, TMP)BEGINIF (CLK‟EVENT AND CLK=‟1‟) thenIF TMP <=”0000” THENCARRY_OUT <=‟1‟;ELSECARRY_OUT <=‟0‟;END IF;END IF;END PROCESS;Q<=TMP;END rtl;--计数器电路模块设计Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter ISPORT ( COOK,LOAD,CLK : IN STD_LOGIC;DATAIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);SEC0,SEC1,MIN0,MIN1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DONE: OUT STD_LOGIC);END counter;ARCHITECTURE rtl OF counter ISCOMPONENT cnt10 ISPORT ( CLK, LOAD,EN : IN STD_LOGIC;DATAIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CARRY_OUT: OUT STD_LOGIC);END COMPONENT cnt10;COMPONENT cnt6 ISPORT ( CLK, LOAD,EN : IN STD_LOGIC;DATAIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CARRY_OUT: OUT STD_LOGIC);END COMPONENT cnt6;SIGNAL CLK0: STD_LOGIC;SIGNAL S0: STD_LOGIC;SIGNAL S1: STD_LOGIC;SIGNAL S2: STD_LOGIC;SIGNAL S3: STD_LOGIC;BEGINU1: cnt10 PORT MAP(CLK, LOAD,COOK,DATA (3 DOWNTO 0),SEC0,S0);U2: cnt6 PORT MAP(S0, LOAD,COOK,DATA (7 DOWNTO 4),SEC1,S1);U3: cnt10 PORT MAP(S1, LOAD,COOK,DATA (11 DOWNTO 8),MIN0,S2);U4: cnt6 PORT MAP(S2, LOAD,COOK,DATA (15 DOWNTO 12),MIN1,S3);DONE<=S0 AND S1 AND S2 AND S3;END rtl;顶层模块的VHDL实现如下:Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY top ISPORT ( RESET, SET_T, START, TEST, CLK : IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR(15 DOWNTO 0);SEC0,SEC1,MIN0,MIN1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COOK: OUT STD_LOGIC);END top;ARCHITECTURE rtl OF top ISCOMPONENT controller ISPORT ( RESET, SET_T, START, TEST, CLK,DONE: IN STD_LOGIC;COOK,LD_TEST, LD_CLK, LD_DONE: OUT STD_LOGIC);END COMPONENT controller;COMPONENT loader ISPORT ( DATAIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);LD_TEST, LD_CLK, LD_DONE: IN STD_LOGIC;DATAOUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);LOAD: OUT STD_LOGIC);END COMPONENT loader;COMPONENT counter ISPORT ( CLK, LOAD,COOK : IN STD_LOGIC;DATAIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);SEC0,SEC1,MIN0,MIN1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DONE: OUT STD_LOGIC);END COMPONENT counter;SIGNAL COOK_TMP: STD_LOGIC;SIGNAL TEST_TMP: STD_LOGIC;SIGNAL CLK_TMP: STD_LOGIC;SIGNAL DONE_TMP: STD_LOGIC;SIGNAL LOAD_TMP: STD_LOGIC;SIGNAL DONE: STD_LOGIC;SIGNAL DATA_TMP: STD_LOGIC_VECTOR(15 DOWNTO 0);BEGINCOOK<=COOK_TMP;U1: controller PORT MAP(RESET, SET_T, START, TEST, CLK, DONE, COOK_TMP, TEST_TMP, CLK_TMP, DONE_TMP);U2: loader PORT MAP(DATA, TEST_TMP, CLK_TMP, DONE_TMP, DATA_TMP, LODA_TMP);U3: counter PORT MAP(COOK_TMP, LOAD_TMP, CLK, DATA_TMP, SEC0, SEC1, MIN0, MIN1, DONE);END rtl;。

相关文档
最新文档