微波炉控制器
- 格式:doc
- 大小:89.50 KB
- 文档页数:11
微波炉控制器的加热时间微波炉是现代家庭中常见的厨房电器之一,它可以快速加热食物,为我们提供便利。
而微波炉的加热时间则由其控制器来决定。
本文将探讨微波炉控制器的加热时间,介绍其工作原理和常见设置。
一、微波炉控制器的工作原理微波炉控制器是微波炉的核心部件之一,其主要功能是调节加热时间和功率。
在设定好加热时间后,微波炉控制器会通过电路控制微波的产生和释放,从而将食物加热到合适的温度。
微波炉控制器内部包含计时器、传感器和电路控制模块等组件。
计时器用于设定加热时间,传感器负责监测食物的温度和湿度,以便实时调节加热功率,电路控制模块则负责控制微波的生成和释放。
二、微波炉控制器的加热时间设置微波炉的加热时间设置可以根据不同食物的需求进行调整。
一般来说,微波炉的加热时间单位为秒,可以通过微波炉面板上的控制按钮进行设置。
1. 食物的种类和重量微波炉加热时间的设置通常与食物的种类和重量直接相关。
不同的食物具有不同的热传导性和吸收微波的能力,因此需要不同的加热时间。
举例来说,加热一杯水通常只需要几十秒,而加热一盘冷冻食品可能需要数分钟。
微波炉使用手册中一般会提供不同食物的加热时间参考表,可供用户参考。
2. 加热功率的调节除了食物的种类和重量,微波炉的加热时间还可以通过调节加热功率来进行控制。
微波炉一般提供多个档位的功率设置,如高、中、低档。
在实际使用中,如果需要快速加热食物,可以选择高档功率,而如果希望温和加热,可以选择中档或低档功率。
不同功率档位下的加热时间也会有所差异,用户可以根据需要进行灵活调整。
3. 实时监测和调整一些高级的微波炉控制器拥有智能传感器功能,可以实时监测食物的温度和湿度,并根据需要自动调整加热时间和功率。
这种智能化的控制方式能够更精确地控制微波炉的加热效果,确保食物受热均匀,避免出现过热或不足的情况。
三、正确设置微波炉控制器的加热时间的重要性正确设置微波炉控制器的加热时间对于食物的加热效果和口感有着重要的影响。
如何修复微波炉的时间控制器微波炉是我们生活中常见的厨房电器之一,它通过微波辐射加热食物。
然而,有时候我们可能会遇到微波炉的时间控制器出现问题的情况。
本文将向大家介绍如何修复微波炉的时间控制器,以便恢复其正常使用。
修复微波炉时间控制器的步骤如下:步骤一:检查电源连接首先,我们需要确保微波炉的电源连接正常。
请确保插头已经插入到电源插座中,并且没有松动或损坏的情况。
同时,检查电源线是否有断裂或损坏的情况。
如果发现任何问题,请及时更换或修复电源线。
步骤二:重新启动微波炉如果微波炉的时间控制器暂时失效,我们可以尝试重新启动微波炉来解决问题。
方法是将微波炉的插头拔出电源插座,等待约5分钟后再重新插入电源插座。
这样可以清除一些临时性故障,如果时间控制器仍然不能正常工作,请继续进行下一步骤。
步骤三:检查控制面板控制面板是微波炉时间控制器的核心部件,它负责接收我们输入的指令并控制微波炉的运行。
首先,我们需要检查控制面板上是否有明显的损坏或刮擦。
如果有,可能需要更换控制面板。
此外,还可以使用电压表来测试控制面板上的连接器是否正常。
步骤四:更换时间控制器如果经过前三步的检查后,微波炉的时间控制器仍然无法工作,那么我们可能需要考虑更换新的时间控制器。
首先,我们需要找到适配于微波炉型号的新时间控制器。
然后,按照微波炉的拆卸说明书,将微波炉的外壳打开。
请确保在操作之前,将电源插头拔出,以确保安全。
接下来,找到老的时间控制器,并将其与新的时间控制器进行比较,确保它们的连接接口和线路是相同的。
然后,将旧的时间控制器从微波炉中拆下,并用新的时间控制器进行更换。
最后,重新安装微波炉的外壳,并将电源插头插入电源插座,测试新的时间控制器是否正常工作。
在进行微波炉时间控制器修复时,请务必确保安全。
如果您不确定如何操作,请寻求专业人士的帮助或联系微波炉的售后服务中心。
结论:微波炉的时间控制器出现问题可能导致其无法正常工作。
通过检查电源连接,重新启动微波炉,检查控制面板以及更换时间控制器等步骤,我们可以尝试修复微波炉的时间控制器问题。
微波炉控制面板按键失灵的解决方案微波炉作为现代家庭中常见的厨房电器之一,给我们的生活带来了很大的方便。
然而,有时我们可能会遇到微波炉控制面板按键失灵的问题,这给我们的使用带来了困扰。
本文将介绍一些常见的微波炉控制面板按键失灵的解决方案,帮助您重新恢复微波炉的正常使用。
1. 检查电源连接在开始尝试其他解决方案之前,我们应该首先检查微波炉的电源连接是否正常。
确保微波炉插头正确插入电源插座,并确保电源线没有受损。
如果电源线有明显的损坏,可能需要更换电源线或者联系专业维修人员进行检修。
2. 清洁按键面板有时候,微波炉的按键表面可能会被灰尘、油污等污物覆盖,导致按键失灵。
解决这个问题的简单方法是使用柔软的布和适当的清洁剂轻轻擦拭按键面板,去除表面污物。
请确保在清洁之前先断开微波炉的电源。
3. 按键面板锁定功能一些微波炉具有按键面板锁定功能,该功能可以防止误操作或儿童操作。
如果您的微波炉无法响应按键操作,可能是由于该功能被意外启用。
请仔细查看微波炉的用户手册,找到相应的解锁操作步骤,并按照说明进行操作。
4. 重启微波炉有时候,微波炉可能会出现临时故障,导致按键失灵。
这时,尝试简单地重启微波炉可能会解决问题。
断开微波炉的电源,等待几分钟后再重新插入电源,并尝试使用微波炉的按键。
如果按键仍然无法使用,可能需要进行其他的解决方案。
5. 检查电路板微波炉的控制面板按键是通过电路板来传递信号的。
如果电路板出现问题,可能会导致按键失灵。
这时,需要联系专业维修人员进行检查和修理。
请不要自行拆卸微波炉或尝试修理电路板,以免造成更大的损害。
6. 联系售后服务如果您无法通过以上方法解决微波炉控制面板按键失灵的问题,建议您联系微波炉的售后服务中心或品牌厂家。
他们将为您提供更专业的支持和解决方案。
在与售后服务或品牌厂家联系时,请准备好微波炉的相关信息,例如型号、序列号等,以便他们能够更好地为您提供帮助。
总结:微波炉控制面板按键失灵可能会给我们的生活带来不便,但是通过一些简单的解决方案,我们可以尝试自行解决问题。
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为复位信号,高电平有效,用于芯片的复位功能。
二、文献综述现有市售的微波炉其主要弊端为:不能按既有程序进行烹调,在节能方面也未做过多考虑。
烹调经验告诉我们,家常菜大多可按固定程序烹调、炖肉、煮饭、烘烤。
若采取分时、分档火力加热,则可节能。
微波炉控制系统功能比较齐全,在火力档位设了解冻、烹调、烘烤、保温、自定义加热、自定义烹调以及按给定程序烹调等七种主要功能,其中程序烹调共设置了八种不同的烹调流程,供用户选择。
在控制方面,实现了智能化,信息化管理,并且具有密码开锁功能,即只有知道相应模式键继续运行的号码的人,才能对该机进行操作等等功能。
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、报警铃报警铃安装在同步电动机的上端,通过两个固定螺钉固定在定时控制组件上,主要由铃盖、摆锤、摇擘、摇擘弹簧等构成。
当调整定时调节旋钮选择微波时间后,炊饭完成时,微波炉会发出一声报警声,此时是通过定时器内部齿轮控制摇擘、摇擘弹簧,使摆锤击打铃盖,最终使铃盖发出报警声。
下图所示为摆锤的实物图。
2、同步电动机机械控制装置的同步电动机是定时器的动力源,是定时器中的重要器件。
两个供电端为同步电动机提供工作电压,使其同步电动机在工作过程中正常地转动,从而带动定时控制组件内的齿轮转动。
同步电动机的转速与电源频率同步(50Hz),当同步电动机不转动或出现故障时,会直接导致定时、火力功能失效。
3、定时控制组件下图所示为机械控制式微波炉的定时控制组件,在其内部设有许多齿轮,均受同步电动机、定时调节旋钮和火力调节旋钮的控制。
定时控制组件从其外形可看出,主要由外壳、火力调节螺杆托架安装孔、定时调节旋钮杆和火力设置齿轮等。
打开定时控制组件的外壳,可以看到内部许多的齿轮及组件,其中包括定时开关控制齿轮、定时开关触片、火力开关触片、火力开关控制杆、定时开关控制杆、同步电动机传动齿轮、控制轮、火力开关控制齿轮等。
机械控制式微波炉的定时器是通过其内部的传动齿轮组的运转实现定时,当旋转传动齿轮使其工作时,并通过同步电动机的运转,驱动定时器工作。
定时控制齿轮固定点落入控制轮的凹陷处进行卡住,即可实现微波炉的定时控制。
4、火力控制组件下图所示为机械控制式微波炉的火力控制组件,它通过火力调节旋钮选择微波炉适当的火力,进而带动火力调整蜗杆动作,来使定时控制组件中的火力设置齿轮转动。
如何修复微波炉的控制器电路板微波炉是我们日常生活中常见的厨房电器之一,而其中的控制器电路板的损坏可能会导致微波炉失去正常的功能。
修复微波炉的控制器电路板并不是一项复杂的任务,只要按照正确的步骤进行操作,就能使微波炉重获新生。
本文将介绍修复微波炉控制器电路板的具体步骤和注意事项。
修复微波炉控制器电路板的步骤如下:1. 准备工作:在进行修复前,确保微波炉已经断开电源,避免触电风险。
同时,准备好以下工具:螺丝刀、镊子、焊接工具、焊锡、测试仪器(如万用表)以及替换零件(如有必要)。
2. 检查电路板:仔细检查微波炉控制器电路板表面,寻找任何明显的物理损坏,如烧蚀、损坏的电阻或电容等。
用放大镜仔细观察,确保没有任何部件失焊或短路的情况。
3. 清洁电路板:使用清洁剂和软毛刷小心地清洁电路板表面,去除尘埃和污垢。
注意,清洁过程中要避免用力刷擦,以免损坏电路板上的部件。
4. 检测电路板元件:使用测试仪器,如万用表,对电路板上的各个元件进行测试。
确保元件的工作状态正常,如电阻、电容、二极管、晶体等。
对于有损坏的元件,需要将其替换为新的可靠元件。
5. 修复焊接问题:在电路板上观察并检查焊接连接是否存在问题。
如果发现焊点出现断裂、短路或者虚焊等情况,使用焊接工具和焊锡重新焊接。
注意,焊接时需要控制温度,避免热损伤其他元件。
6. 更换损坏的元件:如果发现某些元件无法正常工作,例如损坏的电容、电阻等,需要将它们替换为同样规格的新元件。
在进行更换时,确保选择适当的元件,并注意正确安装和连接。
7. 验证修复效果:在完成修复后,重新连接微波炉电源,开启微波炉进行测试。
确保控制器电路板能够正常工作,微波炉各项功能恢复正常。
修复微波炉控制器电路板时需要注意以下事项:1. 安全第一:修复微波炉控制器电路板涉及到电力和焊接等操作,务必断开电源,并采取必要的安全措施,以免发生意外。
2. 仔细检查:在修复前,进行细致的检查,确保找到全部问题点,避免遗漏导致修复失败。
微波炉控制器微波炉是一种微波加热食品的现代化烹调灶具,它由电源、磁控管、控制电路和烹调腔组成。
其中,微波炉控制器部分完成各工作状态之间的切换功能,可以通过硬件语言描述的数字系统来实现。
详细分析微波炉控制器的原理和组成结构,并设计一个简单的具有定时和信息显示功能的微波炉控制器。
一、系统设计要求设计一个具备定时和信息显示功能的微波炉控制器。
要求该微波炉控制器能够在任意时刻取消当前工作,复位为初始状态。
可以根据需要设置烹调时间的长短,系统最长的烹调时间为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;。