带闹钟功能的24小时制闹钟系统的设计.doc_第1页
带闹钟功能的24小时制闹钟系统的设计.doc_第2页
带闹钟功能的24小时制闹钟系统的设计.doc_第3页
带闹钟功能的24小时制闹钟系统的设计.doc_第4页
带闹钟功能的24小时制闹钟系统的设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

江西理工大学应用科学学院课程设计SOPC/EDA综合课程设计报告 设计题目:带闹钟功能的24小时制闹钟系统的设计设 计 者: 学 号: 班 级: 指导老师: 完成时间: 设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)1目录目录1第一章系统设计综述21.1设计要求21.2要求分析2第二章系统模块分析42.1 译码器的设计42.2移位寄存器的设计:42.3闹钟寄存器的设计:42.4 时间计数器模块设计:42.5显示驱动器的设计:52.6分频器的设计:52.7控制器的设计:5第三章闹钟系统的整体组装7第四章系统子程序设计84.1、整个设计中将要用到的程序包定义程序P_ALARM.VHD84.2、译码器源程序DECODER.VHD84.3、寄存器源程序ALARM_REG.VHD94.4、时间计数器源程序ALARM_COUNTER.VHD104.5、移位寄存器源程序KEY_BUFFER.VHD114.6、显示驱动器源程序DISPLAY_DRIVER.VHD124.7、分频器源程序FQ_DIVIDER.VHD134.8、控制器源程序ALARM_CONTROLLER.VHD144.9、闹钟系统的整体组装源程序ALARM_CLOCK.VHD17 第五章心得体会19第六章参考文献201第一章系统设计综述1.1设计要求随着电子技术与计算机技术的高速发展,电子电路的设计产品无处不在。开发周期短兼容性的电子设计自动化(EDA)已经成为电子设计领域的潮流。本设计的研究目的也是利用EDA技术来实现带闹钟功能的24小时计时器。分别介绍研究背景、发展动态、研究思路、系统原理、系统功能分析、系统结构、各个模块分析与设计以及主要工作过程。其中将重点介绍Quartus II 软件进行各部分器件程序的编辑、综合、波形仿真。从而实现了一种基于FPGA的精确可靠的数字闹钟系统。计时器设计要求完成如下功能。(1) 计时功能:这是 本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。(2) 闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。(3) 设置新的计时器时间:用户用数字键09输入新的时间,然后按 TIME键确认。(4) 设置新的闹钟时间:用户用数字键“0”“9”输入新的时间,然后按“ALARM”键确认。过程与(3)类似。(5) 显示所设置的闹钟时间:在正常计时显示状态下,用户直接按下“ALARM”键,则已设置的闹钟时间将显示在显示屏上。1.2要求分析根据本设计的要求,闹钟系统包括以下几个子系统:1用于键盘输入的缓冲器2用于时钟计时的计数器;3用于保存闹钟时间的寄存器;4用于显示的气短数码管闲事电路和控制以上各个电路协同工作的控制器。各部分的功能:(1)译码器(DECOER)可将KEYPAD信号转换为0-9的整数可直观额表示和处理用户输入的数字。(2)键盘缓冲器(KEY-BUFFER)是一个移位寄存器,暂存用户键入的数字并且实现用户键入数字在显示器上从左到右依次显示,由上图我们可以看出KEY_BUFFER的时钟端连接的是外部KEY_DOWN的信号。这个表示用户输入一个数字KEY_BUFFER移位一次。(3)分频器(FQ_DIVIER)将较高速的外部时钟频率成为每分钟一次的时钟频率以便进行时钟的计时。(4)计数器(ALARM_COUNTER)实际上市一个异步复位、异步置数的累加器,通常情况下进行时间累加计数必要时可置入新时钟值然后从该值开始新的计数。(5)寄存器(ALARM_REG)用于保存用户设置的闹钟时间,是一个异步复位寄存器。(6)显示器(DISPLAY_DRIVER)根据需要显示当前时间,用户设置的闹钟时间或用户通过键盘键入的新时间,同时判断当前时间是否已经到了闹钟实际上是一个多路选择器加比较器。(7)控制器(ALARM_CONTEOLLER)设计的核心部分,按设计的要求产生相应的控制逻辑,以控制其他个部分额工作。第二章系统模块分析2.1 译码器的设计:本模块的功能是将每次按下难找那个系统的数字键盘后产生的一个数字所对应的10位二进制数据信号转换为1为10进制整数信号;以作为小时,分钟计数的四个数字之一,其中,KEYPAD为输入端口,接受10位二进制数据信号;VALUE为输出端口,输出相应的1位十进制整数信号。2.2移位寄存器的设计:本模块的功能是在CLK端口输入信号的上升沿同步下,将KEY端口的输入信号移入NEW_TIME端口的输出信号最低位,原有的信息依次向左移,最高位信息丢失;RESET端口的输入信号对NEW_TIME端口输出信号进行异步清零复位。储存键入的数字,并实现键入数字在显示屏上从左到右的显示,RESET端口的输入信号对NEW_TIME端口的输出信号清零,在CLK端口输入信号的上升沿同步下,KEY端口的输入信号移入NEW_TIME端口的输出信号最低位,依次左移,最高为丢失,由图可知,程序功能正常。2.3闹钟寄存器的设计:闹钟寄存模块的功能是在时钟上升沿同步下,根据LOAD_NEW_A端口的输入信号控制ALARM_TIME端口的输出;当控制信号有效时,把NEW_ALARM_TIME端口的输入信号值输出;RESET端口输入信号随ALAR_TIME端口的输出进行异步的清零复位。异步复为寄存器,从图中可以看到当控制信号为高电平寄存器把NEW_ALARM_TIME端口的输入信号值(即闹钟时间)输出,程序功能正常。2.4 时间计数器模块设计:当RESET端口输入信号为高电平时,对CURRENT_TIME端口输出信号清零复位;当LOAD_NEW_C端口输入信号为高电平时,将NEW_CURRENT_TIME端口的输入信号输出给CURRENT_TIME端口。RESET端口的控制优先于LAOD_NEW_C端口。当这两个控制信号都无效时,在时钟上升沿同步下,对CURRENT_TIME端口输出信号累加1,并根据小时,分钟的规律处理进位计数器实际是一个异步复位、异步指数的累加器,由图可以看出,当没有新的地输入值时,只是进行时钟累加计数,在输入新的时钟值时又开始新的计数。2.5显示驱动器的设计:本模块的功能是当SHOW_NEW_TIME端口输入信号有效时,根据NEW_TIME端口输入信号,产生相应的四个七段数码显示器的驱动数据,并在DISPLAY端口输出该信号没为高电平时,根据ALARM_TIME端口的输入信号产生相应的四个七段数码显示管的驱动数据,并在DISPLAY端口输出该信号:为低电平时,根据CURRENT_TIME端口的输入信号,对DISPLAY端口进行驱动,当ALARM_TIME端口的输入信号值与CURRENT_TIME端口的输入喜好值相同时,SOUND_ALARM端口的输出信号有效,反之无效。显示器的功能是根据需要的显示当前时间、设置的闹钟时间或通过键盘输入的新时间同时判断当前时间是否和设定的时间一致是一个多路选择加比较器,从仿真图中看到相应的输入输出,程序功能正常2.6分频器的设计:模块的功能是将CLK_IN端口输入的时钟信号分频后送给CLK_OUT端口:当RESET端口输入信号有效时,CLK_OUT端口输出信号清零。分频器将比较高速的外部时钟频率分成每分钟一次的时钟频率,以便进行时钟计数,从仿真图上可以看到CLK_IN端口的输入的时钟信号分频后输出,当RESET端口为高电平时,输出端口CLK_OUT输出信号清零2.7控制器的设计:控制器的功能是控制各模块协同工作的,端口及各自作用为:a、CLK为外部始时钟信号,REXET为复位信号。b、当KEY为高电平时(KEY=1),表示按下数字键(“0”“9”)。c、当ALARM_BUTTON为高电平时,表示按下“ALARM”键。d、当TIEM_BUTTON为高电平时,表示按下“TIME”。e、当LOAD_NEW_A为高电平时,控制加载新的闹钟时间。f、当LOAD_NEW_C为高电平时,控制设置新的时间值。g、当SHOW_NEW_TIME为高电平时,控制显示新的时间值,即通过数字键输入的时间;否则,当SHOW_NEW_TIME为低电平时,根据SHOW_A信号的值控制显示当前时间或闹钟时间.此时,当SHOW_A为高电平时,控制显示闹钟时间,否则,显示当前时间.控制器的功能可以通过有限状态自动机(FSM)的方式来实现.根据设计的具体要求及端口设置,需要五个状态实现:S0:表示电路初态即正常时钟计数状态,完成前面设计功能a的工作.S1:接受键盘输入状态.在状态S0时用换下数字键后进入此状态.在此状态下,显示屏上显示的是键入的数字.S2:设置新的闹钟时间.在状态S1时按下ALARM键后进入比赛.S3:设置新的计时器时间.在状态S1时按下TIME键后进入此状态.S4:显示闹钟时间.在状态S0时按下ALARM键后进入此状态.在此状态下,显示屏上显示的是所设置的闹钟时间.在此状态下,按下ALARM键后,显示屏上保持显示闹钟时间,经过一段时间以后,再返回状态S0显示计时器时间.第三章闹钟系统的整体组装前面已经完成了计数器各个总成部分的设计。下面把这些组成部分组装起来,形成完整的总体设计。该计时器命名为ALARM_CLOCK,其外部端口如下图所示。对应5种不同的状态,是闹钟系统分别执行正常技术状态(S0),键盘输入状态(S1),设置闹钟时间状态(S2),设置计数器状态(S3),显示闹钟时间状态(S4).操作流程如下(1)给定CLK输入信号,其他输入给定无效电平,闹钟工作于正常计数状态。(2)给定CLK输入信号,并用数字键入,闹钟处于键盘输入数字状态,输出不变。(3)给定CLK输入信号,并用数字键入1235,同时给定ALARM_BUTTON有效电平,闹钟时间设置状态,显示频显示该闹钟时间。(4)给定CLK输入信号,并用数字键键入1235,同时给定ALARM_TIME有效电平,闹钟处于新的计数时间设置状态,显示频显示改时间,并把它作为计时时间起点。(5)给定CLK输入信号,并用数字键键入1235,同时给定ALARM_BUTTON有效电平,闹钟显示频显示的为闹钟时间。第四章系统子程序设计4.1、整个设计中将要用到的程序包定义程序P_ALARM.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;PACKAGE P_ALARM ISSUBTYPE T_DIGITAL IS INTEGER RANGE 0 TO 9;SUBTYPE T_SHORTIS INTEGER RANGE 0 TO 65535;TYPE T_CLOCK_TIME IS ARRAY (3 DOWNTO 0) OF T_DIGITAL;TYPE T_DISPLAY IS ARRAY (3 DOWNTO 0) OF STD_LOGIC_VECTOR(6 DOWNTO 0);TYPE SEG7 IS ARRAY (0 TO 9) OF STD_LOGIC_VECTOR(6 DOWNTO 0);CONSTANT SEVEN_SEG: SEG7 :=(0111111,0000110,1011011,1001111,1100110,1101101,1111101,0000111,1111111,1110011 );TYPE KEYPAD9 IS ARRAY (0 TO 9) OF STD_LOGIC_VECTOR (9 DOWNTO 0);CONSTANT KEYNUMBER: KEYPAD9 :=( 0000000001, -00000000010, -10000000100, -20000001000, -30000010000, -40000100000, -50001000000, -60010000000, -70100000000, -81000000000);-9END PACKAGE P_ALARM;4.2、译码器源程序DECODER.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY DECODER ISPORT(KEYPAD:IN STD_LOGIC_VECTOR(9 DOWNTO 0);VALUE:OUT T_DIGITAL);END ENTITY DECODER;ARCHITECTURE ART OF DECODER ISBEGINWITH KEYPAD SELECTVALUE=0 WHEN 0000000001,1 WHEN 0000000010,2 WHEN 0000000100,3 WHEN 0000001000,4 WHEN 0000010000,5 WHEN 0000100000,6 WHEN 0001000000,7 WHEN 0010000000,8 WHEN 0100000000,9 WHEN 1000000000,0 WHEN OTHERS;END ARCHITECTURE ART;4.3、寄存器源程序ALARM_REG.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY ALARM_REG ISPORT(NEW_ALARM_TIME:IN T_CLOCK_TIME;LOAD_NEW_A:IN STD_LOGIC;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;ALARM_TIME:OUT T_CLOCK_TIME);END ENTITY ALARM_REG;ARCHITECTURE ART OF ALARM_REG ISBEGINPROCESS(CLK, RESET)BEGINIF RESET=1THENALARM_TIME=(0,0,0,0);ELSEIF RISING_EDGE(CLK) THENIF LOAD_NEW_A=1 THENALARM_TIME=NEW_ALARM_TIME;ELSIF LOAD_NEW_A/=0THENASSERT FALSE REPORT UNCERTAIN LOAD_NEW_ALARM CONTROL!SEVERITY WARNING;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE ART;4.4、时间计数器源程序ALARM_COUNTER.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY ALARM_COUNTER ISPORT(NEW_CURRENT_TIME:IN T_CLOCK_TIME;LOAD_NEW_C:IN STD_LOGIC;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;CURRENT_TIME:OUT T_CLOCK_TIME);END ENTITY ALARM_COUNTER;ARCHITECTURE ART OF ALARM_COUNTER ISSIGNAL I_CURRENT_TIME:T_CLOCK_TIME;BEGINPROCESS(CLK, RESET, LOAD_NEW_C)VARIABLE C_T:T_CLOCK_TIME;BEGINIF RESET=1 THENI_CURRENT_TIME=(0, 0, 0, 0);ELSIF LOAD_NEW_C=1 THENI_CURRENT_TIME=NEW_CURRENT_TIME;ELSIF RISING_EDGE(CLK) THENC_T:=I_CURRENT_TIME;IF C_T(0)9 THENC_T(0):=C_T(0)+1;ELSEC_T(0):=0;IF C_T(1)5 THENC_T(1):=C_T(1)+1;ELSEC_T(1):=0;IF C_T(3)2 THENIF C_T(2)9 THENC_T(2):=C_T(2)+1;ELSEC_T(2):=0;C_T(3):=C_T(3)+1;END IF;ELSEIF C_T(2)3 THENC_T(2):=C_T(2)+1;ELSEC_T(2):=0;C_T(3):=0;END IF;END IF;END IF;END IF;I_CURRENT_TIME=C_T;END IF;END PROCESS;CURRENT_TIME=I_CURRENT_TIME;END ARCHITECTURE ART;4.5、移位寄存器源程序KEY_BUFFER.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY KEY_BUFFER ISPORT(KEY:IN T_DIGITAL;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;NEW_TIME:OUT T_CLOCK_TIME);END ENTITY KEY_BUFFER;ARCHITECTURE ART OF KEY_BUFFER ISSIGNAL N_T:T_CLOCK_TIME;BEGINSHIFT:PROCESS(RESET, CLK)BEGINIF (RESET=1) THENN_T=(0, 0, 0, 0);ELSIF (CLKEVENT AND CLK=1) THENFOR I IN 3 DOWNTO 1 LOOPN_T(I)=N_T(I-1);END LOOP;N_T(0)=KEY;END IF;END PROCESS SHIFT;NEW_TIME=N_T;END ARCHITECTURE ART;4.6、显示驱动器源程序DISPLAY_DRIVER.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY DISPLAY_DRIVER ISPORT(ALARM_TIME:IN T_CLOCK_TIME;CURRENT_TIME:IN T_CLOCK_TIME;NEW_TIME:IN T_CLOCK_TIME;SHOW_NEW_TIME:IN STD_LOGIC;SHOW_A:IN STD_LOGIC;SOUND_ALARM:OUT STD_LOGIC;DISPLAY:OUT T_DISPLAY);END ENTITY DISPLAY_DRIVER;ARCHITECTURE ART OF DISPLAY_DRIVER ISSIGNAL DISPLAY_TIME: T_CLOCK_TIME;BEGINCTRL:PROCESS(ALARM_TIME, CURRENT_TIME, NEW_TIME, SHOW_A, SHOW_NEW_TIME)BEGINSOUND_LP: FOR I IN ALARM_TIMERANGE LOOPIF NOT(ALARM_TIME(I)=CURRENT_TIME(I) THENSOUND_ALARM=0;EXIT SOUND_LP;ELSESOUND_ALARM=1;END IF;END LOOP SOUND_LP;IF SHOW_NEW_TIME=1 THENDISPLAY_TIME=NEW_TIME;ELSIF SHOW_A=1 THENDISPLAY_TIME=ALARM_TIME;ELSIF SHOW_A=0 THENDISPLAY_TIME=CURRENT_TIME;ELSEASSERT FALSE REPORT UNCERTAIN DISPLAY_DRIVER CONTROL!SEVERITY WARNING;END IF;END PROCESS CTRL;DISP:PROCESS(DISPLAY_TIME)BEGINFOR I IN DISPLAY_TIMERANGE LOOPDISPLAY(I)=SEVEN_SEG(DISPLAY_TIME(I);END LOOP;END PROCESS DISP;END ARCHITECTURE ART;4.7、分频器源程序FQ_DIVIDER.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY FQ_DIVIDER ISPORT(CLK_IN:IN STD_LOGIC;RESET:IN STD_LOGIC;CLK_OUT:OUT STD_LOGIC);END ENTITY FQ_DIVIDER;ARCHITECTURE ART OF FQ_DIVIDER ISCONSTANT DIVIDE_PERIOD:T_SHORT:=6000;BEGINDIVIDE_CLK: PROCESS(CLK_IN, RESET)VARIABLE CNT : T_SHORT;BEGINIF(RESET=1) THENCNT:=0;CLK_OUT=0;ELSIF RISING_EDGE(CLK_IN) THENIF(CNT(DIVIDE_PERIOD/2) THENCLK_OUT=1;CNT:=CNT+1;ELSIF(CNT(DIVIDE_PERIOD-1) THENCLK_OUT=0;CNT:=CNT+1;ELSECNT:=0;END IF;END IF;END PROCESS DIVIDE_CLK;END ARCHITECTURE ART;4.8、控制器源程序ALARM_CONTROLLER.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY ALARM_CONTROLLER ISPORT(KEY : IN STD_LOGIC;ALARM_BUTTON : IN STD_LOGIC;TIME_BUTTON : IN STD_LOGIC;CLK : IN STD_LOGIC;RESET : IN STD_LOGIC;LOAD_NEW_A : OUT STD_LOGIC;LOAD_NEW_C : OUT STD_LOGIC;SHOW_NEW_TIME : OUT STD_LOGIC;SHOW_A : OUT STD_LOGIC);END ENTITY ALARM_CONTROLLER;ARCHITECTURE ART OF ALARM_CONTROLLER ISTYPE T_STATE IS (S0, S1, S2, S3, S4);CONSTANT KEY_TIMEOUT : T_SHORT:=500;CONSTANT SHOW_ALARM_TIMEOUT : T_SHORT:=500;SIGNAL CURR_STATE : T_STATE;SIGNAL NEXT_STATE : T_STATE;SIGNAL COUNTER_K : T_SHORT;SIGNAL ENABLE_COUNT_K : STD_LOGIC;SIGNAL COUNT_K_END : STD_LOGIC;SIGNAL COUNTER_A : T_SHORT;SIGNAL ENABLE_COUNT_A : STD_LOGIC;SIGNAL COUNT_A_END : STD_LOGIC;BEGINPROCESS(CLK, RESET)BEGINIF RESET=1 THENCURR_STATE=S0;ELSIF RISING_EDGE(CLK) THENCURR_STATE=NEXT_STATE;END IF;END PROCESS;PROCESS(KEY, ALARM_BUTTON, TIME_BUTTON, CURR_STATE, COUNT_A_END, COUNT_K_END)BEGINNEXT_STATE=CURR_STATE;LOAD_NEW_A=0;LOAD_NEW_C=0;SHOW_A=0;SHOW_NEW_TIME=0;ENABLE_COUNT_K=0;ENABLE_COUNT_AIF (KEY=1) THENNEXT_STATE=S1;SHOW_NEW_TIME=1;ELSIF (ALARM_BUTTON=1) THENNEXT_STATE=S4;SHOW_A=1;ELSENEXT_STATEIF (KEY=1) THENNEXT_STATE=S1;ELSIF (ALARM_BUTTON=1) THENNEXT_STATE=S2;LOAD_NEW_A=1;ELSIF (TIME_BUTTON=1) THENNEXT_STATE=S3;LOAD_NEW_C=1;ELSEIF (COUNT_K_END=1) THENNEXT_STATE=S0;ELSENEXT_STATE=S1;END IF;ENABLE_COUNT_K=1;END IF;SHOW_NEW_TIMEIF (ALARM_BUTTON=1) THENNEXT_STATE=S2;LOAD_NEW_A=1;ELSENEXT_STATEIF (TIME_BUTTON=1) THENNEXT_STATE=S3;LOAD_NEW_C=1;ELSENEXT_STATEIF (KEY=1) THENNEXT_STATE=S1;ELSENEXT_STATE=S4;IF (COUNT_A_END=1) THENNEXT_STATE=S0;ELSENEXT_STATE=S4;SHOW_A=1;END IF;ENABLE_COUNT_ANULL;END CASE;END PROCESS;COUNT_KEY: PROCESS(ENABLE_COUNT_K, CLK)BEGINIF (ENABLE_COUNT_K=0) THENCOUNTER_K=0;COUNT_K_END=KEY_TIMEOUT) THENCOUNT_K_END=1;ELSECOUNTER_K=COUNTER_K+1;END IF;END IF;END PROCESS COUNT_KEY;COUNT_ALARM: PROCESS(ENABLE_COUNT_A, CLK)BEGINIF (ENABLE_COUNT_A=0) THENCOUNTER_A=0;COUNT_A_END=SHOW_ALARM_TIMEOUT) THENCOUNT_A_END=1;ELSECOUNTER_A=COUNTER_A+1;END IF;END IF;END PROCESS COUNT_ALARM;END ARCHITECTURE ART;4.9、闹钟系统的整体组装源程序ALARM_CLOCK.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE WORK.P_ALARM.ALL;ENTITY ALARM_CLOCK ISPORT(KEYPAD: IN STD_LOGIC_VECTOR(9 DOWNTO 0);KEY_DOWN: IN STD_LOGIC;ALARM_BUTTON: IN STD_LOGIC;TIME_BUTTON: IN STD_LOGIC;CLK : IN STD_LOGIC;RESET: IN STD_LOGIC;DISPLAY: OUT T_DISPLAY;SOUND_ALARM:OUT STD_LOGIC);END ENTITY ALARM_CLOCK;ARCHITECTURE ART OF ALARM_CLOCK ISCOMPONENT DECODER ISPORT( KEYPAD:IN STD_LOGIC_VECTOR(9 DOWNTO 0);VALUE :OUT T_DIGITAL);END COMPONENT DECODER;COMPONENT KEY_BUFFER ISPORT(KEY:IN T_DIGITAL;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;NEW_TIME:OUT T_CLOCK_TIME);END COMPONENT KEY_BUFFER;COMPONENT ALARM_CONTROLLER ISPORT(KEY:IN STD_LOGIC;ALARM_BUTTON:IN STD_LOGIC;TIME_BUTTON:IN STD_LOGIC;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;LOAD_NEW_A:OUT STD_LOGIC;LOAD_NEW_C:OUT STD_LOGIC;SHOW_NEW_TIME:OUT STD_LOGIC;SHOW_A:OUT STD_LOGIC);END COMPONENT ALARM_CONTROLLER;COMPONENT ALARM_COUNTER ISPORT(NEW_CURRENT_TIME:IN T_CLOCK_TIME;LOAD_NEW_C:IN STD_LOGIC;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;CURRENT_TIME:OUT T_CLOCK_TIME);END COMPONENT ALARM_COUNTER;COMPONENT ALARM_REG ISPORT(NEW_ALARM_TIME:IN T_CLOCK_TIME;LOAD_NEW_A:IN STD_LOGIC;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;ALARM_TIME:OUT T_CLOCK_TIME);END COMPON

温馨提示

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

评论

0/150

提交评论