数字逻辑电路课设—简易数字钟的设计.docxVIP

  • 5
  • 0
  • 约5.5千字
  • 约 12页
  • 2018-06-29 发布于福建
  • 举报

数字逻辑电路课设—简易数字钟的设计.docx

数字逻辑电路课设—简易数字钟的设计

数字逻辑电路课程设计报告多功能数组钟设计设计要求:通过Maxplus II使用VHDL语言编写设计一款多功能数字钟,具体功能如下:时钟时,分,秒分别显示且能正确计数。整点报时,时钟在将要到达整点的最后十秒,给予蜂鸣提示。校时,可以通过相应开关按钮对时钟的时分秒进行调整。闹钟,用户可以预设闹铃时刻,当时间到达该时刻时,发出蜂鸣提示。总体设计:高频输入设计框图:高频输入秒校对分校对时校对秒校对分校对时校对分频模块分计时模块秒计时模块时计时模块分计时模块秒计时模块时计时模块报时模块位选模块报时模块位选模块显示数码管扬声器显示数码管扬声器外部输入输出要求:外部输入要求:输入信号有1024Hz时钟信号、低电平有效的秒清零信号CLR、低电平有效的调分信号SETmin、低电平有效的调时信号SEThour;外部输出要求:整点报时信号SOUND(59分51/3/5/7秒时未500Hz低频声,59分59秒时为1kHz高频声)、时十位显示信号h1(a,b,c,d,e,f,g)、时个位显示信号h0(a ,b,c,d,e,f,g)、分十位显示信号m1及分个位m0、秒十位s1及秒个位s0;数码管显示位选信号SEL0/1/2等三个信号。各模块功能: 1)FREQ分频模块:整点报时用的1024Hz与512Hz的脉冲信号,这里的输入信号是1024Hz信号,所以只要一个二分频即可;时间基准采用1Hz输入信号直接提供(当然也可以分频取得,这里先用的是分频取得的信号,后考虑到精度问题而采用硬件频率信号。 2)秒计数模块SECOND:60进制,带有进位和清零功能的,输入为1Hz脉冲和低电平有效的清零信号CLR,输出秒个位、时位及进位信号CO。 3)分计数模块MINUTE60进制,带有进位和置数功能的,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位及进位信号CO。4)时计数模块HOUR:24进制,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位。5)扫描模块SELTIME:输入为秒(含个/十位)、分、时、扫描时钟CLK1K,输出为D和显示控制信号SEL。6)整点报时功能模块ALERT:输入为分/秒信号,输出为高频声控Q1K和Q500。7)译码显示功能模块DISPLAY:输入为D,输出为Q。VHDL程序设计:分频模块(使用原理图输入):秒模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity SECOND isport(clk,clr:in std_logic; sec1,sec0:out std_logic_vector(3 downto 0); co:out std_logic);end SECOND;architecture SEC of SECOND isbeginprocess(clk,clr)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clr=1 thencnt1:=0000;cnt0:=0000;elsif clkevent and clk=1 thenif cnt1=0101 and cnt0=1000 thenco=1;cnt0:=1001;elsif cnt01001 thencnt0:=cnt0+1;elsecnt0:=0000;if cnt10101 thencnt1:=cnt1+1;elsecnt1:=0000;co=0;end if;end if;end if;sec1=cnt1;sec0=cnt0;end process;end SEC;3) 分模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MINUTE isport(clk,en:in std_logic; min1,min0:out std_logic_vector(3 downto 0); co:out std_logic);end MINUTE;architecture MIN of MINUTE isbeginprocess(clk,en)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clkevent and clk=1 thenif en=1 thenif cnt1=0101 and cnt0=1000 thenco=1;cnt0:=1001;elsif cnt01001 thencnt0:=cnt0+1;elsecnt0:=0000;if cnt10101 t

文档评论(0)

1亿VIP精品文档

相关文档