【正文】
進(jìn)位語句 SEC(3 DOWNTO 0)=1001 THEN SEC(7 DOWNTO 4)=sec(7 DOWNTO 4)+1。 SEC(3 DOWNTO 0)=0000。 ELSE SEC(3 DOWNTO 0)=sec(3 DOWNTO 0)+1。ensec=39。039。 END IF。 END IF。 END PROCESS。 END。 分模塊 LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY MINUTE IS 分實(shí)體 PORT(CLKM,SET,RESET,MINH:IN STD_LOGIC。 SET1:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 MIN:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0)。 ENMIN:OUT STD_LOGIC)。 驅(qū)動(dòng)時(shí)計(jì)時(shí)信 END。 ARCHITECTURE A OF MINUTE IS 分結(jié)構(gòu)體 13 BEGIN PROCESS(CLKM,RESET,SET,MINH) BEGIN IF RESET=39。139。THEN MIN=00000000。 ELSIF SET=39。139。AND MINH=39。139。THEN MIN=SET1。 ELSIF CLKM39。EVENT AND CLKM=39。139。THEN IF MIN=01011001THEN MIN=00000000。ENMIN=39。139。清零,驅(qū)動(dòng)時(shí)模塊 ELSIF MIN(3 DOWNTO 0)=1001 THEN 進(jìn)位語句 MIN(7 DOWNTO 4)=MIN(7 DOWNTO 4)+1。 MIN(3 DOWNTO 0)=0000。 ELSE MIN(3 DOWNTO 0)=MIN(3 DOWNTO 0)+1。ENMIN=39。039。 END IF。 END IF。 END PROCESS。 END。 時(shí)模塊 LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY HOUR1 IS 時(shí)實(shí)體 PORT(CLKH,SET,RESET,MINH:IN STD_LOGIC。 SET1:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 HOUR:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0))。 END。 ARCHITECTURE A OF HOUR1 IS 時(shí)結(jié)構(gòu)體體 BEGIN PROCESS(CLKH,RESET,SET,MINH) BEGIN IF RESET=39。139。THEN HOUR=00000000。 ELSIF SET=39。139。AND MINH=39。039。THEN HOUR=SET1。 ELSIF CLKH39。EVENT AND CLKH=39。139。THEN IF HOUR=00100011THEN HOUR=00000000。 清零 ELSIF HOUR(3 DOWNTO 0)=1001 THEN 進(jìn)位 HOUR(7 DOWNTO 4)=HOUR(7 DOWNTO 4)+1。 HOUR(3 DOWNTO 0)=0000。 ELSE HOUR(3 DOWNTO 0)=HOUR(3 DOWNTO 0)+1。 END IF。 END IF。 END PROCESS。 END。 報(bào)警模塊 LIBRARY IEEE。 14 USE 。 USE 。 USE 。 ENTITY ALARM1 IS 報(bào)時(shí)實(shí)體 PORT(RESET,CLK1:IN STD_LOGIC。 SEC,MIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 ALARM:OUT STD_LOGIC)。 END。 ARCHITECTURE A OF ALARM1 IS 報(bào)時(shí)結(jié)構(gòu)體 BEGIN PROCESS(CLK1,SEC,MIN,RESET) BEGIN IF MIN=00000000 AND RESET=39。039。 AND (SEC=00000000 OR SEC=00000001) THEN ALARM=CLK1。 報(bào)時(shí)語句,持續(xù)兩秒 ELSE ALARM=39。039。 END IF。 END PROCESS。 END。