【正文】
ELSE CNT0:=CNT0+1。 CC=39。 ELSE IF(t0=1001) THEN CNT0:=0000。 CC=39。 ELSE CNT0:=CNT0+1。 END IF。 END IF。CNT0。 CO=CC OR SETHOUR。 仿真結(jié)果: 3. 時(shí)計(jì)數(shù)模塊 VHDL( ) 時(shí)計(jì)數(shù)模塊的的設(shè)計(jì)思路同分、秒的類(lèi)似,只是進(jìn)制由 60 進(jìn)制變成 24 進(jìn)制,且沒(méi)有了向前進(jìn)位信號(hào)。 USE 。 ENTITY HOUR IS PORT(CLK,EN:IN STD_LOGIC。 END HOUR。 BEGIN IF (CLK39。139。139。 CNT0:=0000。 END IF。 CNT0:=0000。 END IF。 END IF。 DAOUT=CNT1amp。 END PROCESS。 仿真結(jié)果: 4. 時(shí)間設(shè)置模塊 VHDL( ) 程序如下: LIBRARY IEEE。 USE 。 ENTITY SELTIME IS PORT(CKDSP,RESET:IN STD_LOGIC。 MINUTE:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 DAOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 END SELTIME。 BEGIN PROCESS(RESET,CKDSP) BEGIN IF(RESET=39。) THEN SEC=000。EVENT AND CKDSP=39。) THEN IF(SEC=101) THEN SEC=000。 END IF。 END PROCESS。 WHEN 001=DAOUT=SECOND(7 DOWNTO 4)。 WHEN 011=DAOUT=MINUTE(7 DOWNTO 4)。 WHEN 101=DAOUT=HOUR(7 DOWNTO 4)。 END CASE。 SEL=SEC。 仿真結(jié)果: 5. 報(bào)時(shí)模塊 VHDL( ) 喇叭在整點(diǎn)有時(shí)有報(bào)時(shí)驅(qū)動(dòng)信號(hào)產(chǎn)生,以及 LED 燈根據(jù)設(shè)計(jì)的要求再整點(diǎn)時(shí)有花樣顯示信號(hào)產(chǎn)生(在整點(diǎn)時(shí)從 51 秒到 59 秒時(shí)從左到右九個(gè) LED 登依次亮起)。在分位計(jì)數(shù)到 59 分時(shí),秒位為 5 5 5 5 59 秒時(shí)揚(yáng)聲器會(huì)發(fā)出一秒左右的警告音,并且 5 5 5 57 秒為低音, 59 秒為高音。 USE 。 ENTITY ALERT IS PORT(CLKSP:IN STD_LOGIC。 SPEAK:OUT STD_LOGIC。 END ALERT。 SIGNAL M1,M0,S1,S0:STD_LOGIC_VECTOR(3 DOWNTO 0)。 M0=MINUTE(3 DOWNTO 0)。 S0=SECOND(3 DOWNTO 0)。EVENT AND CLKSP=39。) THEN IF(M1=0101 AND M0=1001 AND S1=0101) THEN CASE S0 IS WHEN0001=LAMP=000000001。 WHEN0011=LAMP=000000100。 WHEN0101=LAMP=000010000。 WHEN0111=LAMP=001000000。 WHEN1001=LAMP=100000000。 END CASE。139。039。 SPEAK=q500。 END IF。139。039。 SPEAK=QLK。 END IF。 END ART。 USE 。 USE 。 RES:IN STD_LOGIC_VECTOR(2 DOWNTO 0)。 D0,D1,D2,D3,D4,D5,D6:OUT STD_LOGIC)。 ARCHIT