EDA微波炉定时控制器的设计

合集下载

VHDL微波炉控制器设计

VHDL微波炉控制器设计

目录一、绪论 (2)二、关键技术简介 (2)2.1 FPGA简介 (2)2.2 VHDL语言概述 (2)2.3 ALTIUM DESIGNER简介 (3)三、微波炉定时控制器的设计方案分析 (4)3.1 系统设计的要求 (4)3.2 系统总体功能描述 (4)3.3 各模块的功能实现 (5)3.3.1 输入模块 (5)3.3.2 状态控制模块 (5)3.3.3 显示模块 (5)四、系统详细设计 (7)4.1控制模块 (7)4.1.1状态转换控制 (7)4.1.2数据装载 (9)4.1.3 烹饪计时 (10)4.1.4 控制模块的实现 (11)五、系统仿真 (11)5.1状态控制器仿真 (11)5.2 数据装载器的仿真 (12)5.3 烹饪计时器的仿真 (13)六、结论 (14)一、绪论随着人民生活水平的提高,微波炉开始进人越来越多的家庭,它给人们的生活带来了极大的方便。

微波炉由 2450MHz 的超高频来加热食物。

它省时、省电、方便和卫生。

作为现代的烹饪工具,微波炉的控制器体现着它的重要性能指标。

目前大部分微波炉控制器采用单片机进行设计,电路比较复杂,性能不够灵活。

本文采用先进的EDA技术,利用ALTIUM DESIGNER工作平台和VHDL设计语言,设计了一种新型的微波炉控制器系统。

该系统具有系统复位、时间设定、烹饪计时等功能,在 FPGA 上实现。

二、关键技术简介2.1 FPGA简介FPGA(Field-Programmable GateArray),即现场可编程门阵列,它是在PAL、 GAL、CPLD 等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。

微波炉eda

微波炉eda
time3 := "0000";-- 复位处理
elsif min10'event and min10 = '1' then -- 设置十分位时间
if time3 < 9 then
time3 := time3 + 1;
else
time3 := "0000"; -- 十分位最大为9,超过置0
end if;
if timeTotal <= "1001100101011001" then-- 在 5999 秒内
if time0 = "0000" then
if time1 /= "0000" then-- 向十秒位借位
time1 := time1-1;
time0 := "1001";-- 借位后一秒位为 "1001"
time1 := "1111";
time0 := "1111";
end if;
elsif timeTotal > 0 then
time0 := time0 - 1;-- 不需要借位则直接用一秒位减一
end if;
end if;
减计数模块的设计中,采用了if 嵌套的模式,处理各位的借位。当clock时钟上升沿到来即执行一次判断。程序中并没有采用直接对信号进行赋值,而是重新再进程中重新定义了四个临时的信号。处理完成后再赋值给中间信号 tSec1,tSec10,tMin1,tMin10。 由于变量赋值的即时性,程序也方便将信号赋给测试信号测试。
( 4 )当十分位不为零,如果borrow位为1则减一后清零借位信号borrow,置位一分位和一秒位为"1001 "即为9,置位十秒位为"0101"。为零则减计数完毕。置位tSec1、tSec10、tMin1、tMin10为"1111"。结束减计数程序。

数字电路报告-微波炉控制器

数字电路报告-微波炉控制器

课程设计课程名称数字电子技术课程设计课题名称微波炉定时控制器的设计专业测控技术与仪器1101学号201101200130班级1101姓名张奇指导教师郭照南2013年11月8日课程设计任务书课程名称:数字电子技术题目:微波炉定时控制器的设计与制作——B题专业班级:测控1101、02班学生姓名:张奇学号:1101指导老师:郭照南审批:任务书下达日期2013年10月28日星期一设计完成日期2013年11月8日星期五设计内容与设计要求一.设计内容:设计制作一个微波炉定时控制器电路,具有三档微波加热功能,分别表示微波加热为烹调、烘烤、解冻,试验中用LED模拟。

具体设计要求如下:(1)实现工作步骤:复位待机——〉设置输出功能和定时器初值——〉启动定时和工作开始——〉结束烹调、音响提示。

(2)设置三个功能预置键:具有三档微波加热功能, 分别用三个按键来设置不同功能,表示微波炉工作状态为烹调、烘烤、解冻,试验时分别使用三个LED来模拟输出(三个LED不能同时亮)。

(3)设置4位时间预置键:用四个消抖按键分别进行秒个位、秒十位、分个位和分十位的操作时间设置,采用十进制的递增计数方式预置定时器初值,最大预设数为99分99秒。

(4)设置开启键:设定功能和时间初值后,按开启键,使计时电路以秒为单位作倒计时。

当计时到时间为0则断开微波加热器,停止计时并给出声音提示。

(5)设置复位键:在工作过程中按复位键时,微波加热被随时中止,处于待机状态,三个LED均不亮(即表示控制器输出的微波功率控制信号为0),时间显示电路显示为00.00。

(6)功能扩展(自选);二、设计要求:1.设计思路清晰,给出整体设计框图;2.设计各单元电路,给出具体设计思路、电路工作原理,元器件清单;完成电路仿真。

3.完成总电路设计,设计图纸完备;4.安装调试电路;5.写出设计报告;主要设计条件1.提供直流稳压电源、信号源、示波器等仪器;2.提供各类TTL集成电路芯片、电阻、电容及插接件等元器件。

微波炉控制器的设计与实现

微波炉控制器的设计与实现

教学来源 教学目的 案例构思 实验任务与要求 实现方案 教学模式 实施进程 考核评价
案例构思
根据教学目的,选择了一个学生比较熟悉的生活电
器——微波炉控制器为载体进行数字系统设计与实现 的实验教学。
将实验任务和内容分为基本要求和提高要求两部分,
以适应学生能力的不同。
设置学生自拟实验内容,鼓励学生创新。
实验任务与要求 教学来源
教学目的 案例构思 实验任务与要求 实现方案 教学模式 实施进程 考核评价
实验任务与要求
设计制作一个简易的微波炉控制器,模拟家用微波炉
的工作过程:
一、基本要求: 1、微波炉的火力有大、中、小三档可选。用一个按键
实现火力的选择,用点阵显示火力档位,点阵的显示 随着按键的按下次数而变化,没有选择时默认的火力为 大。
热已结束,加热结束后回到等待状态。
实验任加热,
回到等待状态,只有在等待状态下才可以修改火力和 加热时间。
二、提高要求: 1、用8个LED灯作为加热进度显示条,随着加热时间
的增加匀速增加点亮LED灯的个数,无论加热时间是 多长,最后都必须将8个LED灯全部点亮。
实施进程 教学来源
教学目的 案例构思 实验任务与要求 实现方案 教学模式 实施进程 考核评价
实施进程
在4周以内用Verilog HDL和实验室提供的实验开发平
台完成实验任务的基本要求,根据个人的能力和兴趣 选择完成提高要求。
第一周完成系统设计,绘制系统顶层框图、系统对外
接口图、逻辑划分框图(模块划分和模块之间信息传 递关系等)、主控模块的状态图等。
教学来源 教学目的 1、学习数字系统自顶向下的设计方法和设计流程 案例构思 2、提高学生运用Verilog HDL描述数字电路的能力 实验任务与要求 3、提高学生应用QUAITUS II进行电路仿真的能力 实现方案 4、提高学生进行数字电路测试的能力 教学模式 5 、提高学生数字硬件电路的设计能力、动手能力和 解决实际工程问题的能力。 实施进程 考核评价

微波炉可编程逻辑控制系统设计

微波炉可编程逻辑控制系统设计

微波炉可编程逻辑控制系统设计微波炉可编程逻辑控制系统设计随着人们生活水平的提高,微波炉已经成为广大家庭不可或缺的电器,相信大家对微波炉已经非常熟悉了。

它能够以独特的方式加热食物,既快捷又方便。

但是,目前市场上的微波炉普遍存在着定时不准确、温度控制不稳定、操作复杂等问题,给用户的使用带来了不便。

为此,设计一种微波炉可编程逻辑控制系统,是非常有必要的。

需求分析:我们的系统需要满足以下几个主要功能:1.定时功能:以最短的时间精确地加热食物,避免加热过头。

2.温度控制:通过精确测量微波的温度,避免加热不均匀。

3.操作简单:用户操作界面应该简单直观,方便不同用户的使用。

基于以上需求分析,我们可以开始系统的设计。

硬件方案1.温度传感器:我们需要一种能够准确测量微波温度的传感器,在市面上有很多种温度传感器,常用的有热电偶、热敏电阻、热电阻等。

我们考虑使用一种精度高、反应速度快、稳定性好的热敏电阻。

2.触控屏:使用触控屏可以简化用户的操作,让用户界面更加直观,可触控的屏幕也可以避免误操作和按键损坏等问题。

3.微波开关:微波加热的过程中,需要让微波源开关控制微波闸门的开关,以达到加热的目的。

4.微波管:微波的加热核心是微波管。

我们需要选购高品质的微波管,以确保加热效果稳定并且寿命长。

5.逻辑控制板:所有硬件的控制需要一个逻辑控制板来负责。

我们可以使用单片机或者嵌入式芯片。

软件方案1.程序设计:我们需要编写运行在逻辑控制板上的程序。

程序需要实现用户控制界面、温度传感器数据采集、微波开关控制等功能。

程序同时需要确保稳定高效,以此保证系统的性能。

2.内存管理:部分程序需要保存在逻辑控制板的内存中,因此我们需要实现程序的内存管理。

其中,存储程序的部分,需要保证读写速度快、容量足够。

3.硬件驱动:逻辑控制板需要控制各种硬件,如温度传感器、微波管等。

因此,我们需要考虑如何写好各种硬件的驱动程序以及如何控制硬件的状态。

总结本文介绍了微波炉可编程逻辑控制系统的设计方案,包括硬件方案和软件方案。

微波炉控制器的设计任务书

微波炉控制器的设计任务书

课程设计(论文)任务书信息工程学院学院通信工程专业2008.1-3 班一、课程设计(论文)题目微波炉控制器的设计二、课程设计(论文)工作自2011年6月 19日起至 2011 年 6月 24 日止。

三、课程设计(论文) 地点: 华东交通大学4-410,图书馆四、课程设计(论文)内容要求:1.本课程设计的目的(1)掌握EDA技术及CPLD/FPGA的开发流程;(2)掌握自顶向下的设计思想;(3)掌握有限状态机的工作原理和设计方法;(4)掌握微波炉控制器的设计及分析方法;(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求1)基本要求:(1)掌握有限状态机的工作原理和设计方法;理解微波炉控制器的工作原理,设计一个微波炉控制器,要求能控制烹调的开关,并显示烹调状态进行和结束。

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

(2)能把设计文件进行仿真;(3)能把设计文件下载到实验箱并正确实现功能。

2)创新要求:在基本要求达到后,可进行创新设计,增加一个分频电路和一个“虚拟式”按键预置数据输入电路,以使系统的通用性更好写。

3)课程设计论文编写要求(1)要按照书稿的规格打印誊写毕业论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成系统分析:20分;(2)完成设计过程:20分;(3)完成仿真:10分;(4)完成下载:10分(5)回答问题:10分。

5)参考文献:(1)潘松,黄继业. EDA技术与VHDL. 北京:清华大学出版社,2005(2)徐志军,徐光辉编著.《CPLD/FPGA的开发与应用》,电子工业出版社,2001.1(3)/html/85/t-113885.html6)课程设计进度安排内容天数地点构思及收集资料1图书馆设计与调试3实验室撰写论文1图书馆、实验室学生签名:2011 年6 月24 日课程设计(论文)评审意见(1)设计程序(40分):优()、良()、中()、一般()、差();(2)仿真结果(10分):优()、良()、中()、一般()、差();(3)下载结果(10分):优()、良()、中()、一般()、差();(4)回答问题(10分):优()、良()、中()、一般()、差();(5)报告成绩(30分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人:朱路职称:讲师2011 年6 月27 日。

EDA微波炉定时控制器的设计

EDA微波炉定时控制器的设计

目录1 设计要求概述 (1)2功能模块整体结构设计 (1)2.1系统总体功能描述 (1)2.2各模块的功能实现 (2)3各模块详细设计 (3)3.1状态控制器的设计 (3)3.2数据装载器loader的设计 (4)3.3烹调计时器counter的设计 (5)3.4显示译码器YMQ47的设计 (5)3.5锁存器的设计 (6)4逻辑仿真与时序仿真的实现 (6)4.1 各模块的VHDL源程序 (6)4.2时序仿真的实现 (17)5.设计结论 (19)6 参考文献 (20)1 设计要求概述现需设计一个微波炉控制器WBLCONTROLLOR,其外部接口如下图所示。

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

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

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

TEST为测试信号,高电平有效,用于测试4个七段数码二极管工作是否正常。

Start为开始加热信号,高电平有效,SET_T信号为定时设置信号,高电平时可以设置定时时间,DATA为定时的时间,cook为加热输出(用指示灯代替),另外四个输出分别表示显示的定时时间的分和秒。

2功能模块整体结构设计2.1系统总体功能描述现需设计的微波炉控制器WBLCONTROLLOR的外部接口如图1-1所示,通过该控制器,再配以七段数码二极管完成微波炉的定时信息和信息的显示。

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

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

TEST信号是测试信号,高电平有效,用于测试七段数码管工作是否正常。

SET_T是烹调时间设置控制信号,高电平有效。

DATA0是一个16为总线输入信号,输入所设置的时间长短,它由高到低分为4组,每一组是BCD码输入,分别表示分、秒十位、个位的数字,如12分59秒。

可编程微波炉控制器系统设计E

可编程微波炉控制器系统设计E

可编程微波炉控制器系统设计(E)
一.任务
设计制作一个微波炉控制器电路,具有三档微波加热功能,分别表示微波加热为烹调、烘烤、解冻,试验中用LED 模拟。

示意图如下:
二.要求
1.基本要求
(1) 制定一个在不同功能时火力的控制时序表。

具有三档微波加热功
能,分别表示微波炉工作状态为烹调、烘烤、解冻,试验使用LED 模拟。

(2) 实现工作步骤:复位待机——〉检测显示电路——〉设置输出功
能和定时器初值——〉启动定时和工作开始——〉结束烹调、音响提示。

(3) 在上电或手动按复位键时,控制器输出的微波功率控制信号为0,
微波加热处于待机状态,时间显示电路显示为
00.00。

(4) 具有4位时间预置电路,按键启动时间设置,最大预设数为99
分99秒。

(5) 设定初值后,按开启键,一方面按选择的挡位启动相应的微波加
热;另一方面使计时电路以秒为单位作倒计时。

当计时到时间为0则断开微波加热器,并给出声音提示,即扬声器输出2~3s 的双音频提示音。

(6)若在待机状态时按测试键,则4位数码管交替显示全亮和全灭两种状态,以检测数码管各发光段的好坏。

2.发挥部分
(1)微波炉火力档位的增加。

(2)输出显示方面的扩展。

(3)实现智能控制、信息控制。

三.评分标准。

EDA微波炉定时控制器的设计

EDA微波炉定时控制器的设计

目录1 设计要求概述 (1)2功能模块整体结构设计 (1)2.1系统总体功能描述 (1)2.2各模块的功能实现 (2)3各模块详细设计 (3)3.1状态控制器的设计 (3)3.2数据装载器loader的设计 (4)3.3烹调计时器counter的设计 (5)3.4显示译码器YMQ47的设计 (5)3.5锁存器的设计 (6)4逻辑仿真与时序仿真的实现 (6)4.1 各模块的VHDL源程序 (6)4.2时序仿真的实现 (17)5.设计结论 (19)6 参考文献 (20)1 设计要求概述现需设计一个微波炉控制器WBLCONTROLLOR,其外部接口如下图所示。

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

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

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

TEST为测试信号,高电平有效,用于测试4个七段数码二极管工作是否正常。

Start为开始加热信号,高电平有效,SET_T信号为定时设置信号,高电平时可以设置定时时间,DATA为定时的时间,cook为加热输出(用指示灯代替),另外四个输出分别表示显示的定时时间的分和秒。

2功能模块整体结构设计2.1系统总体功能描述现需设计的微波炉控制器WBLCONTROLLOR的外部接口如图1-1所示,通过该控制器,再配以七段数码二极管完成微波炉的定时信息和信息的显示。

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

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

TEST信号是测试信号,高电平有效,用于测试七段数码管工作是否正常。

SET_T是烹调时间设置控制信号,高电平有效。

DATA0是一个16为总线输入信号,输入所设置的时间长短,它由高到低分为4组,每一组是BCD码输入,分别表示分、秒十位、个位的数字,如12分59秒。

EDA基于FPGA的微波炉定时器芯片设计

EDA基于FPGA的微波炉定时器芯片设计

微波炉定时器芯片的设计微波炉定时器的功能要求现代数字系统设计一般采用自顶向下的方法,其过程大致可分为三个大的步骤:系统调研;模块的划分;模块的实现。

承接一个数字系统设计的课题后,一般不要急于动手设计,而应对课题作充分的分析和调研,然后确定初步的方案。

分析:课题的任务、要求、原理和使用条件等调研:课题现状并和相同或相近课题进行比较现代数字系统设计一般是将其划分为控制器和受控电路两大部分,控制器由ASM图或MDS图决定,而受控电路则使用各种通用模块实现。

下面分析微波炉定时器的工作过程及基本要求:上电后,系统处于复位状态。

工作时首先进行烹调时间设置,并使用数码管显示时间信息,设要求最长的烹调时间为59分59秒,时间设置完毕后系统自动回到初始状态;按开始烹调按键进入烹调状态,时间显示数码管按每秒减1的倒计时方式显示剩余烹调时间;烹调结束后,数码管显示“done”信息,系统回到复位状态。

系统要求分析及初步方案的确定:根据系统的基本要求,着重应考虑如下问题:1.计时电路的设计:芯片内部产生和外部提供。

本例中由外部时钟电路以BCD码的形式提供。

2.时间设置出错及工作过程的取消等情况的处理:设置一个复位按键。

3.数码管状态的检测:设置数码管检测按键,按动该按键后,数码管能够显示“8888”的信息。

4.时间显示电路:采用4位7段显示数码管显示,并由芯片直接驱动。

5.微波管的驱动:设置一个输出驱动控制烹调状态的继电器即可。

性能指标略根据上述分析,可画出微波炉定时器的芯片符号图和基本流程如下:微波炉定时器芯片符号图MICROWARE _TIMER RESET SET START TESTCLKDATA[15:0] cooksh[1:7]ml[1:7]mh[1:7]sl[1:7]16位时间数据输入 时钟输入 复位输入 开始按键时间设置输入数码管测试输入分、秒信号输出驱动烹调继电器输出微波炉定时器工作流程图N接通电源初始状态 SET?时间设置START?烹 调 时间到?Y N完 成NYY 测试?数码管全亮NY微波炉定时器芯片的模块划分由上述分析,系统可由下面3个模块构成:控制器:控制微波炉的工作过程中的状态转换及相应的控制序列;数据装入器:根据控制信号选择定时时间、测试数据或完成信息的装入;定时器部分:负责完成烹调过程中的定时和译码等。

微波炉定时器集成电路的设计

微波炉定时器集成电路的设计

微波炉定时器集成电路的设计一、基本功能1、复位开关:reset2、启动开关:start_cook3、烹调时间设置:set_time4、烹调时间显示:min; sec5、七段码测试:test6、启动输出:cook二、 信号描述1、CLK:外部时钟。

std_logic;2、RESET:复位信号,“1”有效。

std_logic;3、TEST:测试信号“1” 有效。

std_logic;4、SET—TIME:时间设置“1” 有效。

std_logic;5、DATA[15..0]:4*4BCD数码设置(59分59秒)std_logic_vector(15..0);6、STRT—COOK:烹调开始“1” 有效。

std_logic;1、cook: 烹调进行信号,接继电器“1”有效。

std_logic;2、min_msb: std_logic_vector(1 to 7);3、min_lsb: std_logic_vector(1 to 7);4、sec_msb: std_logic_vector(1 to 7);5、sec_lsb: std_logic_vector(1 to 7);三、 设计分析1、控制状态机:工作状态状态转换。

2、数据装入电路:根据控制信号选择定时时间、测试数据或完成信号的装入。

3、定时器电路:负责完成烹调过程中的时间递减计数和数据译码供给七段数码显示,同时还可以提供烹调完成时间的状态信号供控制状态机产生完成信号。

四、模块设计1、控制状态机设计z输入输出信号ENTITY state_countrol ISPORT(std_logic;IN,done,reset,test,set_time,start_cook :clkOUT std_logic);cook,load_8888,load_clk,load_done :END ;根据输入信号和自身当时的状态完成状态转换和输出相应的信号。

Cook:指示烹调进行中,同时提示计时器减数。

EDA课程设计(微波炉定时控制器)

EDA课程设计(微波炉定时控制器)

目录一、设计题目和要求-----------------------------------------------------------------2二、设计思路--------------------------------------------------------------------------2三、单元模块设计--------------------------------------------------------------------3 --------------------------------------------------------------------------------------------83.1、FENPIN模块设计-----------------------------------------------------(3,4)3.2、FIRST模块设计------------------------------------------------------(4,5)3.3、JIANJISHU模块设计------------------------------------------------(5,6)3.4、CHOICE和VIEW模块设计------------------------------------------(7,8)四、硬件实验---------------------------------------------------------------------------8五、心得体会---------------------------------------------------------------------------9 附页:程序代码------------------------------------------------------------------------10 ---------------------------------------------------------------------------------------------17一、设计题目和要求设计题目为:微波炉定时控制器要求:1、复位开关:2、启动开关:3、烹调时间设置:4、烹调时间显示:5、七段码测试:6、启动输出:7、按TEST键可以测试七段码管,显示为“8888”;8、设定时间后,按启动键开始烹调,同时七段码显示剩余时间,时间为0时,显示烹调完成信息“CDEF”二、设计思路A.先有一个大概的模块话设计,就如下图:B:再在上面大模块的基础上进行改进增加复位端和测试端复位测试C:具体的设计过程:1、刚开始设计是先完成了FENPIN模块的设计,因为这个模块比较简单。

微波炉控制器的设计[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对系统的工作进行实施调度,实现外部输入参数的设置、蓄电池及负载的管理、工作状态的指示等。

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

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

EDA课程设计(微波炉定时控制器)

EDA课程设计(微波炉定时控制器)

目录一、设计题目和要求-----------------------------------------------------------------2二、设计思路--------------------------------------------------------------------------2三、单元模块设计--------------------------------------------------------------------3 --------------------------------------------------------------------------------------------83.1、FENPIN模块设计-----------------------------------------------------(3,4)3.2、FIRST模块设计------------------------------------------------------(4,5)3.3、JIANJISHU模块设计------------------------------------------------(5,6)3.4、CHOICE和VIEW模块设计------------------------------------------(7,8)四、硬件实验---------------------------------------------------------------------------8五、心得体会---------------------------------------------------------------------------9 附页:程序代码------------------------------------------------------------------------10 ---------------------------------------------------------------------------------------------17一、设计题目和要求设计题目为:微波炉定时控制器要求:1、复位开关:2、启动开关:3、烹调时间设置:4、烹调时间显示:5、七段码测试:6、启动输出:7、按TEST键可以测试七段码管,显示为“8888”;8、设定时间后,按启动键开始烹调,同时七段码显示剩余时间,时间为0时,显示烹调完成信息“CDEF”二、设计思路A.先有一个大概的模块话设计,就如下图:B:再在上面大模块的基础上进行改进增加复位端和测试端复位测试C:具体的设计过程:1、刚开始设计是先完成了FENPIN模块的设计,因为这个模块比较简单。

电磁炉控制器(eda)

电磁炉控制器(eda)

电磁炉控制器班级:电信103学号:1010064087姓名:李哲电磁炉控制器李哲(陕西理工学院物理与电信工程学院电信103 汉中,723000)摘要:设计一个有5个档的电磁炉控制器,其中1和5分别表示最低温和最高温。

另外此电磁炉控制器还具有定时功能,可以定时5和10分钟,当定时结束时,蜂鸣器会鸣叫3秒,分别用一个静态数码管和动态数码管显示温度档和定时时间。

关键字:FPGA VHDL 电磁炉控制器Induction cooker controllerLi Zhe(shaanxi institute of physics and telecommunications telecommunications engineering institutein 103, hanzhong city, 723000)Abstract: Design a induction cooker controller has five gears, the highest temperature with moderate lowest 1 and 5, respectively. The induction cooker controller also has the function of timing, timing of 5 and 10 minutes, when timing is over, a buzzer will singing for 3 seconds, respectively, in a static dynamic digital tube display digital tube and temperature profile and timing.Key words: the FPGA VHDL induction cooker controller整体设计思路设计一个有5个档的电磁炉控制器,其中1和5分别表示最低温和最高温。

微波炉定时系统

微波炉定时系统

微波炉定时器在开始具体设计之前,先对先对系统进行模块划分,具体划分如图1所示。

图1 系统模块划分一、各模块程序Top模块:// Top: 为顶层模块,包含三个模块:microwave ,display和timer 。

//clk:为系统的同步时钟。

//reset: 定时器timer 的复位控制端,如果复位为0,系统处于IDLE 等待状态;为1时定时器timer 开始计时。

//test: 为灯测信号,用于检查LED等是否正常;test为1,LED 显示为8888.//cook_time:设置的加热时间。

//set_time:加热时间设置确定信号。

如果set_time为1,cook_time将被加载到timer。

//start_cook: 开始加热确定信号。

Start_cook 为1 时开始加热。

Cook_time开始倒计时数秒。

//min_msb_led,min_lsb_led,sec_msb_led,sec_lsb_led:为7段数码管译码器的输出信号,用来驱动LED灯。

module top(clk, reset, test, set_time, start_cook, cook_time, min_msb_led,min_lsb_led, sec_msb_led, sec_lsb_led);input clk, reset, test, set_time, start_cook;input [15:0] cook_time;output [6:0] min_msb_led, min_lsb_led, sec_msb_led, sec_lsb_led;wire clk, reset, test, set_time, start_cook;wire [15:0] cook_time, time_load;wire [6:0] min_msb_led, min_lsb_led, sec_msb_led, sec_lsb_led;wire [3:0] min_msb_next, min_lsb_next, sec_msb_next, sec_lsb_next;microwave microwave(clk, reset, test, set_time, start_cook, done, cook_time,time_load, cook, load);timer timer(time_load, clk, cook ,load, min_msb_next, min_lsb_next, sec_msb_next, sec_lsb_next, done);display display( min_msb_next, min_lsb_next, sec_msb_next, sec_lsb_next ,min_msb_led, min_lsb_led, sec_msb_led, sec_lsb_led); endmoduledisplay模块://display :为系统显示模块,使用七段led 数码管显示倒计时时间。

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

目录1 设计要求概述 (1)2功能模块整体结构设计 (1)2.1系统总体功能描述 (1)2.2各模块的功能实现 (2)3各模块详细设计 (3)3.1状态控制器的设计 (3)3.2数据装载器loader的设计 (4)3.3烹调计时器counter的设计 (5)3.4显示译码器YMQ47的设计 (5)3.5锁存器的设计 (6)4逻辑仿真与时序仿真的实现 (6)4.1 各模块的VHDL源程序 (6)4.2时序仿真的实现 (17)5.设计结论 (19)6 参考文献 (20)1 设计要求概述现需设计一个微波炉控制器WBLCONTROLLOR,其外部接口如下图所示。

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

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

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

TEST为测试信号,高电平有效,用于测试4个七段数码二极管工作是否正常。

Start为开始加热信号,高电平有效,SET_T信号为定时设置信号,高电平时可以设置定时时间,DATA为定时的时间,cook为加热输出(用指示灯代替),另外四个输出分别表示显示的定时时间的分和秒。

2功能模块整体结构设计2.1系统总体功能描述现需设计的微波炉控制器WBLCONTROLLOR的外部接口如图1-1所示,通过该控制器,再配以七段数码二极管完成微波炉的定时信息和信息的显示。

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

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

TEST信号是测试信号,高电平有效,用于测试七段数码管工作是否正常。

SET_T是烹调时间设置控制信号,高电平有效。

DATA0是一个16为总线输入信号,输入所设置的时间长短,它由高到低分为4组,每一组是BCD码输入,分别表示分、秒十位、个位的数字,如12分59秒。

START是烹调开始的控制信号,高电平有效。

COOK是烹调进行信号,外接用于控制烹调的继电器开关,高电平时表明烹调已经开始或正在进行,低电平表示烹调结束或没有进行。

MIN_0,MIN_1,SEC_0,SEC_1是四组七位总线信号,分别接4个七段数码管,动态的显示完成烹调所剩的时间及测试状态信息“0000”,烹调完毕的状态信息“DONE”.该微波炉控制器WBLCONTROLLOR的具体功能要求如下[9]:上电后系统首先处于复位状态。

在工作是首先按SET_T键设置烹调时间,此时系统输入DATA0的数据作为烹调所需的时间,然后系统自动回到复位状态,同时4个七段数码管显示时间信息。

在按START键后系统进入烹调状态。

COOK信号开始为高电平,此时4个七段数码管每隔一秒钟变化一次,用以刷新还剩剩余多少时间结束烹调。

烹调结束后,COOK信号变为低电平,同时4个七段数码管组合在一起显示“DONE”的信息,然后系统回到复位状态。

系统可以通过按RESET键随时回到复位状态。

在复位状态下,按TEST键在4个数码管上会显示“0000”的信息,它可以测试4个七段数码管工作是否正常。

2.2各模块的功能实现根据该微波炉定时控制器的设计要求,本系统有四个模块:状态控制模块controllor,数据装载模块loader,烹调计时模块counter,显示译码模块YMQ47,锁存器模块SCQ。

(1)状态控制器模块是控制微波炉工作过程中的状态转换,并发出有关的控制信息,输入信号为CLK,TEST,SET_T,START,TESET,DONE和SEL.输出信号为LD_DONE,LD_test,LD_CLK,PT,WB等。

根据输入的控制信号来完成完成状态转换;LD_DONE指示LOADER装入烹调完毕的状态信息“DONE”的显示驱动信息数据;LD_CLK指示LOADER装入设置的烹饪时间数据;LD_test指示LOADER装入用于测试的数据“0000”以显示驱动信息数据;COOK指示烹调正在进行中,并提示计数器进行减计数,PT和WB是两种状态的选择显示信息。

(2)数据装载器LOADER的功能是根据CONTROLLOR发出的控制信号选择定时时间,测试数据或烹调完成信息的装入。

当LD_DONE为高电平时,输出烹调完毕的信息数据;LD_CLK为高电平时,输出设置的烹饪时间数据;LD_test为高电平是,输出测试的数据。

输出信号LOAD用于指示counter将处于数据装入状态。

(3)计时器counter的功能是负责烹调过程中的时间递减计数,并提供烹调完成时的状态信号供CONTROLLOR产生烹调完成信号。

LOAD为高电平时完成装入功能,COOK为高电平时执行逆计数功能。

输出DONE指示烹调完成。

MIN_1,MIN_0,SEC_1,SEC_0为完成烹调所剩的时间及测试状信息“0000”,烹调完毕的状态信息“DONE”的BCD码信息。

(4)显示译码器YMQ47的功能是负责将各种显示信息的BCD码转换成七段数码管显示的驱动信息编码。

需要译码的信息有:数字0-9,字母D,O,N,E。

图1-2 YMQ47原理图3各模块详细设计3.1状态控制器的设计状态控制器的功能是控制微波炉工作过程中的状态转换,并发出有关的控制信息,因此可以用一个状态机来实现。

经过对微波炉工作过程中的状态转换条件及输出信号进行分析,我们可以得到其状态转换图如图3-1。

图3-1 CONTROLLOR的状态转换图说明:SET_T烹调时间设置状态,LAMP_TEST数码管测试状态;DONE_MSG完成信息显示状态,TIMER 减数定时状态。

CONTROLLOR 的端口图如下图所示:图3-2 CONTROLLOR 的端口图3.2数据装载器loader 的设计LOADER 的输入、输出端口如图3-3所示,根据其应完成的逻辑功能,它本质上就是一个三选一数据选择器。

数据选择是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去。

实现数据选择功能的逻辑电路称为数据选择器。

它的作用相当于多个输入的单刀多掷开关。

数据选择器的电路结构一般由与或门阵列组成,也有用传输门开关和门电路混合而成的。

数据选择器的应用很广,它可以作二进制比较器、二进制发生器、图形发生电路、顺序选择电路。

本设计采用一个进程来完成,但由于三个被选择的数据只有一个来自输入端口,因此另两个被选择的数据则通过在进程的说明部分定义两个常数来产生。

由于用于显示“8888”的常数ALL 8需分解成4个8,分别经过四个4-7译码器译码后才是真正的显示驱动信息编码,因此该常数应是4个分段的4位BCD 码,故应设为“1000100010001000”。

同理,显示“donE”的常数DONE 可设为“1010101111001101”,其中D,O,N,E 的B CD 码分别为:“1010”、“1011”、“1100”、“1101”。

该模块主要实现对状态控制器发出的状态信息的相应数据的装载功能。

图3-3 loader 的端口图3.3烹调计时器counter的设计计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路。

计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。

计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T 触发器、D触发器及JK触发器等[10]。

计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。

计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等[10]。

烹调计时器counter为减数计数器,其最大计时时间为59分59秒,因此我们可以用两个键计数十进制计数器cnt10和两个减计数六进制cnt6级联构成。

3.4显示译码器YMQ47的设计本显示译码器不但要对数字0-9进行显示译码,还要对字母D,O,N,E进行显示译码。

其译码对照表如表3-4所示,表3-4 YMQ47的译码对照表[3.5锁存器的设计锁存器SCQ的输入、输出端口如图3-5所示图3-5 SCQ的端口图此单元主要用于完成定时时间到蜂鸣报警信息的实现,当时钟上升沿到来且清零信号无效时,同时COOK信号开始有高电平变为低电平时,输出信号则是蜂鸣器报警。

其实质就是一个D触发器的功能。

4逻辑仿真与时序仿真的实现4.1 各模块的VHDL源程序----------------------下面是各模块的源程序-------------------------- LIBRARY IEEE;--定义库文件USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY controllor ISPORT (RESET:IN STD_LOGIC;--复位信号SET_T:IN STD_LOGIC;--时间设置信号START:IN STD_LOGIC;--开始烹调信号TEST:IN STD_LOGIC;--显示电路测试信号CLK:IN STD_LOGIC;--时钟信号DONE:IN STD_LOGIC;--完成信号SEL:IN STD_LOGIC;COOK:OUT STD_LOGIC;LD_test:OUT STD_LOGIC;LD_CLK:OUT STD_LOGIC;LD_DONE:OUT STD_LOGIC;PT:OUT STD_LOGIC;WB:OUT STD_LOGIC);END ENTITY controllor;ARCHITECTURE ART OF controllor ISTYPE STATE_TYPE IS (IDLE,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG);--状态 SIGNAL NXT_STATE ,CURR_STATE:STATE_TYPE;BEGINPROCESS(CLK,RESET) ISBEGINIF RESET ='1' THEN --清零IF SEL='0'THENPT<='1';WB<='0';ELSE PT<='0';WB<='1' ;END IF;CURR_STATE<=IDLE;ELSIF CLK 'EVENT AND CLK='1' THENCURR_STATE<=NXT_STATE;END IF;END PROCESS;PROCESS(CLK, CURR_STATE,SET_T,START,TEST,DONE) ISBEGINNXT_STATE<=IDLE;LD_test<='0';LD_DONE<='0';LD_CLK<='0';COOK<='0';CASE CURR_STATE 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') THEN --初始状态NXT_STATE<=LAMP_TEST;LD_test<='1';ELSIF SET_T='1' THENNXT_STATE<=SET_CLOCK;LD_CLK<='1';ELSIF ((START='1')AND(DONE='0')) THENNXT_STATE<=TIMER;COOK<='1';END IF;WHEN TIMER=>IF DONE='1' THEN --减法计数定时状态NXT_STATE<=DONE_MSG;LD_DONE<='1';ELSENXT_STATE<=TIMER;COOK<='1';END IF;END CASE;END PROCESS;END ARCHITECTURE ART;--------------------------数据装载电路的VHDL实现------------------------------ library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity loader isport(datain:in std_logic_vector(15 downto 0);ld_test:in std_logic;ld_clk:in std_logic;ld_done: in std_logic;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";variable 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:in std_logic;load:in std_logic;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:in std_logic;load:in std_logic;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:in std_logic;load:in std_logic;clk:in std_logic;data:in std_logic_vector(15 downto 0);sec0:out std_logic_vector(3 downto 0);sec1:out std_logic_vector(3 downto 0);min0:out std_logic_vector(3 downto 0);min1:out std_logic_vector(3 downto 0);done:out std_logic);end counter;architecture rtl of counter is-----------------------定义十进制和六进制计数器电路模块------------------------ component cnt10 isport(clk:in std_logic;load:in std_logic;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:in std_logic;load:in std_logic;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;begin--元件例化U1: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(data:in std_logic_vector(15 downto 0);reset:in std_logic;set_t:in std_logic;start:in std_logic;test:in std_logic;clk:in std_logic;cook:out std_logic;sec0:out std_logic_vector(3 downto 0);sec1:out std_logic_vector(3 downto 0);min0:out std_logic_vector(3 downto 0);min1:out std_logic_vector(3 downto 0));end top;architecture rtl of top is------------------------------定义状态控制电路模块----------------------------- component controllor isport(reset: in std_logic;set_t:in std_logic;start:in std_logic;test:in std_logic;clk:in std_logic;done:in std_logic;cook:out std_logic;ld_test:out std_logic;ld_clk:out std_logic;ld_done:out std_logic);end component controllor;component loader is----------------------------定义数据装载电路模块------------------------------ port( datain:in std_logic_vector(15 downto 0);ld_test:in std_logic;ld_clk:in std_logic;ld_done:in std_logic;dataout:out std_logic_vector(15 downto 0);load:out std_logic);end component loader;------------------------------定义计时电路模-----------------------------component counter isport( cook:in std_logic;load:in std_logic;clk:in std_logic;data:in std_logic_vector(15 downto 0);sec0:out std_logic_vector(3 downto 0);sec1:out std_logic_vector(3 downto 0);min0:out std_logic_vector(3 downto 0);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:controllor 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,load_tmp);U3:counter port map(cook_tmp,load_tmp,clk,data_tmp,sec0,sec1,min0,min1,done); end rtl;-------------------------显示译码YMQ47的VHDL实现------------------------------ LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YMQ47 ISPORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY YMQ47;ARCHITECTURE ART OF YMQ47 ISBEGINPROCESS(AIN4)BEGINCASE AIN4 ISWHEN "0000"=>DOUT7<="0111111";WHEN "0001"=>DOUT7<="0000110";WHEN "0010"=>DOUT7<="1011011";WHEN "0011"=>DOUT7<="1001111";WHEN "0100"=>DOUT7<="1100110";WHEN "0101"=>DOUT7<="1101101";WHEN "0110"=>DOUT7<="1111101";WHEN "0111"=>DOUT7<="0000111";WHEN "1000"=>DOUT7<="1111111";WHEN "1001"=>DOUT7<="1101111";WHEN "1010"=>DOUT7<="1011110";WHEN "1011"=>DOUT7<="1011100";WHEN "1100"=>DOUT7<="1010100";WHEN "1101"=>DOUT7<="1111001";WHEN OTHERS =>DOUT7<="0000000";END CASE;END PROCESS;END ARCHITECTURE ART; ---YMQ47的源程序----------------------------锁存SCQ的VHDL实现---------------------------- LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCQ ISport(clk:in std_logic;done:in std_logic;clr:in std_logic;arlm: out std_logic);end entity;ARCHITECTURE ART OF SCQ ISbeginprocess( clk,done,clr)beginif (done='1' and clr='0')then arlm<='1';else arlm<='0';end if ;end process;end;4.2时序仿真的实现图4-1 状态控制controllor显示的仿真图上图中,当测试信号TEST为高电平有效时,测试输出信号为高电平;否则,当时间设置信号SET_T为高电平,对应的指示信号LD_CLK输出高电平;当烹饪开始信号START信号为高电平时,对应输出COOK为高电平;当复位信号RESET 为高电平时,系统复位清零,恢复初始状态。

相关文档
最新文档