B组:微波炉设计任务书-(2).doc_第1页
B组:微波炉设计任务书-(2).doc_第2页
B组:微波炉设计任务书-(2).doc_第3页
B组:微波炉设计任务书-(2).doc_第4页
B组:微波炉设计任务书-(2).doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南工程学院 课程设计任务书 课程名称课程名称: EDA 技术 题题 目:基于目:基于 FPGAFPGA 的微波炉控制器设计的微波炉控制器设计 专业: 电子科学与技术 班级: 0981 姓名: 贺垚焱 学号: 08 指导老师: 郭照南 审 批: 任务书下达日期 2012 年 5 月 28 日星期一 设计完成日期 2012 年 6 月 8 日星期五 设计内容与设计要求 一设计内容:一设计内容: 用 FPGA 为核心器件,用 VHDL 为设计手段设计制作一个微波炉 控制器电路,具有三档微波加热功能,分别表示微波加热为烹调、 烘烤、解冻,试验中用 LED 模拟。示意图如下: 功能设 置部分 定时 部分 数据装 入部分 显示 部分 音响控 制部分 二要求二要求 (1) 实现工作步骤:复位待机检测显示电路设置输 出功能和定时器初值启动定时和工作开始结束 烹调、音响提示。 (2) 设置三个功能预置键:具有三档微波加热功能, 分别用三个 按键来设置不同功能,表示微波炉工作状态为烹调、烘烤、 解冻,试验时分别使用三个 LED 来模拟输出。 (3) 设置复位键:在上电或手动按复位键时,微波加热处于待机 状态,三个 LED 均不亮(即表示控制器输出的微波功率控制 信号为 0) ,时间显示电路显示为 00.00。 (4) 设置 4 位时间预置键:用四个按键分别进行秒个位、秒十位、 系统功能模块图 分个位和分十位的操作时间设置,采用十进制的递增计数方 式预置,最大预设数为 99 分 99 秒。 (5) 设置开启键:设定功能和初值后,按开启键,一方面按选择 的挡位启动相应的微波加热;另一方面使计时电路以秒为单 位作倒计时。当计时到时间为 0 则断开微波加热器,并给出 声音提示,即扬声器输出 23s 的双音频提示音。 (6)设置测试键:若在待机状态时按测试键,则 4 位数码管交替 显示全亮和全灭两种状态,以检测数码管各发光段的好坏。 要求采用分层次描述方式,且用图形输入和文本输入混合方 式建立描述文件。 二、设计要求:二、设计要求: 1、 设计思路清晰,给出整体设计框图; 2、 用 VHDL 设计各单元电路,完成其功能仿真和编译并生 成低层模块; 3、 在 Quartus中完成顶层设计并编译通过; 4、 在 Quartus中完成设计下载并调试电路; 5、写出设计报告; 主要设计条件 1、提供 EDA 设计环境和 EDA 软件Quartus; 2、提供 EDA 实验箱和 CPLD 下载装置; 说明书格式 1、课程设计报告书封面; 2、任务书; 3、说明书目录; 4、设计总体思路; 5、单元电路设计; 6、总电路设计; 7、设计调试体会与总结; 8、附录; 9、参考文献。 注意:课程设计报告说明书要求用注意:课程设计报告说明书要求用 1616 开纸开纸打印打印! 进 度 安 排 第一周: 星期一 上午 安排任务、讲课。 星期一下午星期五 查资料、设计 第二周: 星期一星期二 设计输入和设计仿真四楼 EDA 室 星期三 低层编译和设计下载四楼 EDA 室 星期四 调试电路、写总结报告; 星期五 答辩。 参 考 文 献 EDA 技术实用教程第四版 潘松主编 电子技术与 EDA 技术课程设计指导 郭照南主编 中南大学出版社 电子线路设计、实验、测试 谢自美主编 华中 理工出版社。 目 录 总体设计。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。1 课题的主要内容及基本要求。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。1 设计思路。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。1 设计方案。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。2 模块分析。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。4 状态控制电路模块。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。4 数据控制电路模块。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。5 计时器模块。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。6 程序设计及仿真。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。8 程序简要说明。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。8 仿真时序图。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。8 硬件调试。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。11 总结。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。14 参考文献。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。14 附录一 原理图。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。15 附录二 源程序。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。16 总体设计总体设计 要求采用 EDA 技术设计一个微波炉控制器,可完成以下功能: (1)可控制烹调的开关; (2)可设置烹调时间, (假设系统最长的烹调时间为 59 分 59 秒) ; (3)可显示烹调的剩余时间。 设计思路 现代数字系统设计一般采用自顶向下的方法,其过程大致可分为三个大 的步骤:系统调研;模块的划分;模块的实现。承接一个数字系统设计的课 题后,一般不要急于动手设计,而应对课题作充分的分析和调研,然后确定 初步的方案。 分析:课题的任务、要求、原理和使用条件等。 调研:课题现状并和相同或相近课题进行比较。 现代数字系统设计一般是将其划分为控制器和受控电路两大部分,控制 器由 ASM 图或 MDS 图决定,而受控电路则使用各种通用模块实现。 下面分析微波炉定时器的工作过程及基本要求: 上电后,系统处于复位状态。工作时首先进行烹调时间设置,并使用数 码管显示时间信息,设要求最长的烹调时间为 59 分 59 秒,时间设置完毕后 系统自动回到初始状态;按开始烹调按键进入烹调状态,时间显示数码管按 每秒减 1 的倒计时方式显示剩余烹调时间;烹调结束后,系统回到复位状态。 系统要求分析及初步方案的确定: 根据系统的基本要求,着重应考虑如下问题: (1)计时电路的设计:芯片内部产生和外部提供。本例中由外部时钟电 路以 BCD 码的形式提供。 (2)时间设置出错及工作过程的取消等情况的处理:设置一个复位按键。 (3)数码管状态的检测:设置数码管检测按键,按动该按键后,数码管 能够显示“8888”的信息。 (4)时间显示电路:采用 4 位 7 段显示数码管显示,并由芯片直接驱动。 (5)微波管的驱动:设置一个输出驱动控制烹调状态的继电器即可。 设计方案 微波炉控制器系统可由以下三个电路模块组成:状态控制电路,其功能 是控制微波炉工作过程中的状态转换,并发出相关控制信号;数据装载电路, 其功能是根据控制信号选择定时时间,测试数据或计时完成信息的载入;计 时器电路,其功能是对时钟进行减法计数,提供烹调完成时的状态信号。 微波炉控制器的系统框图如图 1 所示。其中,CLK 为时钟输入信号,时 钟上升沿敏感;RESET 为复位信号,高电平有效时系统复位清零;TEST 为数 码显示管测试信号,高电平有效系统显示 8888;SET_T 高电平有效时允许设 置烹饪时间;KEY 为定时时间输入信号,用于设置烹饪时间的长短,其高到 低分别表示时间分、秒的十位、个位;START 为烹调开始信号,高电平有效 时开始烹调;输出信号 COOK 指示微波炉状态,高电平时表示烹调进行时; SEC0 、SEC1、MIN0、MIN1 分别表示秒个位、秒十位、分个位、分十位。 图 1 微波炉控制器系统框图 微波炉控制器的工作流程图如图 2 所示。 时间输入 时钟输入 复位输入 时间设置 输入 开始按键 数码管测 试输入 分秒 信号 输 出 驱动烹调输出 显示设置时间和 烹饪时间信号 接通电源 初始状态 时间设置 显示 8888 烹调 完成 SET_T TEST? START ? 时间到? N Y N Y N Y N Y 图 2 工作流程图 首先,对系统进行复位清零,使其各电路模块均处于初始状态;当烹饪 时间设置信号 SET_T 有效时,读入时间信号 KEY3.0的取值,此时系统显 示设置的时间信息,再按下 SET_T 确定设置时间完成。按下开始键 START,系 统进入烹调状态,COOK 信号变为高电平,时钟计数器开始减法计数, MIN1、MIN0、SEC1、SEC0 显示剩余烹调时间。烹调结束,系统恢复初始状态。 当系统处于复位清零状态时,按下显像管测试按钮 TEST,将对显像管是 否正常工作进行测试,正常工作时,显像管输出全 8。 模块分析 状态控制电路模块 状态控制器的功能根据输入信号和自身当时所处的状态完成状态的转换 和输出相应的控制信号,其模块框图如图 3 所示。其中,输出信号 LD_DONE 指示数据装载电路载入的烹调结束的状态信息的显示的驱动信息数据; LD_CLK 显示数据装载电路的设置的时间数据;LD_TEST 指示数据装载电路载 入的用于测试的数据,以显示驱动信息数据;COOK 指示烹饪的状态,并提示 计时器进行减法计算;KEY 为定时时间输入信号,用于设置烹饪时间的长短, 其高到低分别表示时间分、秒的十位、个位。当 LD_DONE 有效时,输出烹调 结束数据。当 LD_CLK 有效时,输出烹调的设置时间数据。当 LD_TEST 有效时, 输出数码管测试数据包括 6 个输入信号和 4 个输出信号。 图 3 状态控制电路模块框图 根据微波炉工作流程的描述,分析状态转换条件及输出信号,可以得到 如图 4 所示的微波炉控制器的状态转换图。 TEST/LD_TEST RESET 初 始 状 态 IDLE SET_ CLOCK LAMP_ TEST DONE_ MSG TIMER START USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY controllor IS PORT( RESET:IN STD_LOGIC; -复位信号 KEY: IN STD_LOGIC_VECTOR(3 DOWNTO 0);-输入时间 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; -指示数据装载电路载入设置时间数据 DATA:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);-16 位数据 LED_SET_T:OUT STD_LOGIC; -LED 显示状态 LD_DONE:OUT STD_LOGIC -LED 显示完成 ); END controllor; ARCHITECTURE rtl OF controllor IS TYPE STATES IS(IDLE,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG); SIGNAL NXT,CUR:STATES; -2 个信号:下一状态、当前状态 SIGNAL DATATMP:STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL SET_T0: STD_LOGIC; -设置时间信号 BEGIN PROCESS(CLK,RESET) -时钟和复位的进程 BEGIN IF RESET=1 THEN -复位时将 IDLE(显示 0000)赋予当前 状态 CUR=IDLE; ELSIF CLKEVENT AND CLK=1 THEN CUR=NXT; -如果不是,遇到上边沿则自动跳转下一 状态 END IF; END PROCESS; PROCESS(RESET,KEY) -复位和输入的进程 BEGIN -可以让输入 4 位数字 显示时间 IF RESET = 1 THEN -复位时不论任何状态数码管都将显示 0000 DATATMP 0); ELSE IF KEY(3)EVENT AND KEY(3) = 1 THEN -设置分的十位 IF DATATMP(15 DOWNTO 12) = 0101 THEN -5 自动跳转到 0 DATATMP(15 DOWNTO 12) = 0000; ELSE DATATMP(15 DOWNTO 12) = DATATMP(15 DOWNTO 12) + 1; END IF; -否则自动加 1 END IF; IF KEY(2)EVENT AND KEY(2) = 1 THEN -设置分的个位 IF DATATMP(11 DOWNTO 8) = 1001 THEN -9 自动跳转到 0 DATATMP(11 DOWNTO 8) = 0000; ELSE DATATMP(11 DOWNTO 8) = DATATMP(11 DOWNTO 8) + 1; END IF; -否则自动加 1 END IF; IF KEY(1)EVENT AND KEY(1) = 1 THEN -设置秒的十位 IF DATATMP(7 DOWNTO 4) = 0101 THEN -5 自动跳转到 0 DATATMP(7 DOWNTO 4) = 0000; ELSE DATATMP(7 DOWNTO 4) = DATATMP(7 DOWNTO 4) + 1; END IF; -否则自动加 1 END IF; IF KEY(0)EVENT AND KEY(0) = 1 THEN -设置秒的个位 IF DATATMP(3 DOWNTO 0) = 1001 THEN -9 自动跳转到 0 DATATMP(3 DOWNTO 0) = 0000; ELSE DATATMP(3 DOWNTO 0) = DATATMP(3 DOWNTO 0) + 1; END IF; END IF; -否则自动加 1 END IF; DATA = DATATMP; END PROCESS; PROCESS(SET_T,RESET) -设置时间和复位进程 BEGIN IF RESET = 1 THEN -复位时设置时间变为低电平 SET_T0 = 0; ELSIF SET_TEVENT AND SET_T = 1 THEN -按下 SET_T 键时 SET_T0 = NOT SET_T0; -SET_T 非它前之状态 END IF; IF SET_T0 = 1 THEN LED_SET_T = 1; -赋予 SET_T 持续电平 ELSE LED_SET_T = 0; -赋予 SET_T 持续电平 END IF; END PROCESS; PROCESS(CLK,CUR,SET_T,START,TEST,DONE) IS BEGIN NXT=IDLE; -将 IDLE 载入 NXT LD_TEST=0; -复位 LD_DONE=0; LD_CLK=0; COOK -译码器显示测试状态 LD_TEST=1; COOK -烹调时间测试状态 LD_CLK=1; COOK -完成信息显示状态 LD_DONE=0; COOK -初始状态定义 IF TEST=1 THEN NXT=LAMP_TEST; -设置 TEST LD_TEST=1; ELSIF SET_T0=1 THEN -设置 SET_T NXT=SET_CLOCK; LD_CLK=1; ELSIF START=1 AND DONE=0 THEN -设置计时模式 NXT=TIMER; COOK IF DONE=1 THEN -设置计时完成 NXT=DONE_MSG; LD_DONE=0; ELSE NXT=TIMER; COOKNULL; END CASE; END PROCESS; END rtl; - -数据装载电路的 VHDL 实现如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY loader IS PORT( DATAIN:IN STD_LOGIC_VECTOR(15 DOWNTO 0); -输入 16 位数 据 LD_TEST:IN STD_LOGIC; LD_CLK:IN STD_LOGIC; LD_DONE:IN STD_LOGIC; DATAOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); -输出 16 位数据 LOAD:OUT STD_LOGIC -选择状态 ); END loader; ARCHITECTURE rtl OF loader IS BEGIN PROCESS(DATAIN,LD_TEST,LD_CLK,LD_DONE) CONSTANT ALLS:STD_LOGIC_VECTOR(15 DOWNTO 0)-测试信息 :=1000100010001000; -显示 8888 CONSTANT DONE:STD_LOGIC_VECTOR(15 DOWNTO 0)-烹调完成信 息 :=1010101111001101; VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN LOAD-测试 DATAOUT-烹调完成 DATAOUT DATAOUTNULL; END CASE; END PROCESS; END rtl; - -十进制计数器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt10 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR:IN STD_LOGIC; -CLR:清除数据 EN:IN STD_LOGIC; -信号使能 DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -输入的 4 位数 据 Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -输出的 4 位数据 CARRY_OUT:OUT STD_LOGIC -数据装载 ); END cnt10; ARCHITECTURE rtl OF cnt10 IS SIGNAL TMP:STD_LOGIC_VECTOR(3 DOWNTO 0); -链接输入输出 BEGIN -数据的信号 PROCESS(CLK,LOAD,CLR,EN) BEGIN IF CLR = 1 THEN -当 CLR 高电平,数据变为 0000 TMP= 0000; ELSIF LOAD=1THEN -否则装载输入的数据 TMP=DATAIN; ELSIF CLKEVENT AND CLK=0THEN -上升沿时,执行 10 进制减 法 IF EN=1THEN IF TMP=0000THEN -0 跳转到 9 TMP=1001; ELSE -自动减 1 TMP=TMP-1; END IF; END IF; END IF; IF TMP=0000THEN CARRY_OUT=1; -COOK=CARRY_OUT ELSE CARRY_OUT=0; END IF; END PROCESS; Q=TMP; END rtl; - -六进制减法计数器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt6 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR: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 IS SIGNAL TMP:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,LOAD,CLR,EN) BEGIN IF CLR = 1 THEN TMP= 0000; ELSIF LOAD=1 THEN TMP=DATAIN; ELSIF CLKEVENT AND CLK=0THEN -上升沿时进行 6 进制减 法 IF EN=1THEN IF TMP=0000THEN -0 自动跳转到 5 TMP=0101; ELSE TMP=TMP-1; -否则自动减 1 END IF; END IF; END IF; IF TMP=0000THEN CARRY_OUT=1; -赋值给 COOK ELSE CARRY_OUT=0; END IF; END PROCESS; Q=TMP; END rtl; - -计时电路的 VHDL 实现如下: -计数器电路模块设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY counter IS PORT( COOK:IN STD_LOGIC; LOAD,CLR: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 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR: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 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR: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 -元件例化 CLK0 = NOT CLK; U1:cnt10 PORT MAP(CLK0,LOAD,CLR,COOK,DATA(3 DOWNTO 0),SEC0,S0); U2:cnt6 PORT MAP(S0,LOAD,CLR,COOK,DATA(7 DOWNTO 4),SEC1,S1); U3:cnt10 PORT MAP(S1,LOAD,CLR,COOK,DATA(11 DOWNTO 8),MIN0,S2); U4:cnt6 PORT MAP(S2,LOAD,CLR,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 IS PORT( KEY: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -输入 4 位 16 进 制 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; -烹调状态 LED2:OUT STD_LOGIC_VECTOR(1 DOWNTO 0); -LED 显示状 态 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 IS PORT( RESET:IN STD_LOGIC; KEY: IN STD_LOGIC_VECTOR(3 DOWNTO 0); SET_T:IN STD_LOGIC; START:IN STD_LOGIC; TEST:IN STD_LOGIC; CLK :IN ST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论