【文章內(nèi)容簡(jiǎn)介】
RAM以及 SDR SDRAM;⑩ 支持多種IP,包括Altera公司的MegaCore以及其合伙組織的IP,支持最新推出的Nios II嵌入式處理器,具有超凡的性能、低成本和最完整的一套軟件開發(fā)工具。[7]。 EP2C3T144C8引腳圖顯示電路所選用4個(gè)數(shù)碼管以動(dòng)態(tài)顯示掃描方式完成時(shí)、分顯示。 LED數(shù)碼管顯示原理圖第四章 單元電路設(shè)計(jì)本次設(shè)計(jì)的多功能數(shù)字鐘具有如下功能:1.秒/分/時(shí)的依次顯示并正確計(jì)數(shù);2.定時(shí)鬧鐘:實(shí)現(xiàn)整點(diǎn)報(bào)時(shí),揚(yáng)聲器發(fā)出報(bào)時(shí)聲音;3.時(shí)間設(shè)置,即手動(dòng)調(diào)時(shí)功能:當(dāng)認(rèn)為時(shí)鐘不準(zhǔn)確時(shí),可以分別對(duì)分/時(shí)進(jìn)行調(diào)整; 總體設(shè)計(jì)外部輸入要求:輸入信號(hào)有1kHz/1Hz時(shí)鐘信號(hào)、低電平有效的調(diào)時(shí)切換SET、低電平有效的時(shí)分秒選擇信號(hào)SEL、低電平有效的加ADD和減MINUS;外部輸出要求:整點(diǎn)報(bào)時(shí)信號(hào)(59分51/3/5/7秒時(shí)未1Hz低頻聲,59分59秒時(shí)為1kHz高頻聲)、時(shí)十位顯示信號(hào)、時(shí)個(gè)位顯示信號(hào)、分十位顯示信號(hào)及分個(gè)位、秒十位及秒個(gè)位;數(shù)碼管顯示位選信號(hào)CHOOSE[7..0]等八個(gè)信號(hào)。: 1)分頻模塊:整點(diǎn)報(bào)時(shí)用的1kH與1Hz的脈沖信號(hào),這里的輸入信號(hào)是50MHz信號(hào),所以需要一個(gè)50分頻和一個(gè)1000分頻;時(shí)間基準(zhǔn)采用1Hz輸入信號(hào),則再用1000分頻將1KHz分頻成1Hz。 2)秒計(jì)數(shù)模塊SECOND:60進(jìn)制,帶有加減調(diào)節(jié)功能的,輸入為1Hz脈沖和低電平有效的使能信號(hào)及加減信號(hào),輸出秒個(gè)位、十位及進(jìn)位信號(hào)SLINKM。 3)分計(jì)數(shù)模塊MINUTE60進(jìn)制,帶有進(jìn)位SLINKM和加減調(diào)節(jié)功能的,輸入為1Hz脈沖和低電平有效的使能信號(hào)及加減信號(hào),輸出分個(gè)位、十位及進(jìn)位信號(hào)MLINKH。4)時(shí)計(jì)數(shù)模塊HOUR:24進(jìn)制,帶有進(jìn)位MLINKH和加減調(diào)節(jié)功能的,輸入為1Hz脈沖和低電平有效的使能信號(hào)及加減信號(hào),輸出時(shí)個(gè)位、十位。5)整點(diǎn)報(bào)時(shí)功能模塊ALERT:輸入為分/秒信號(hào),輸出為高頻聲控1KHz和1Hz。6)譯碼顯示功能模塊DISPLAY:輸入為DIN,輸出為DOUT。第五章 VHDL程序設(shè)計(jì)LIBRARY IEEE。USE 。USE 。ENTITY DIVCLK_50 IS PORT(CLK:IN std_logic。 CLK_50:OUT std_logic)。 END DIVCLK_50。 ARCHITECTURE BEHAVIOR OF DIVCLK_50 IS SIGNAL CNT:STD_LOGIC_VECTOR(4 DOWNTO 0):=00000。 SIGNAL DCLK:STD_LOGIC:=39。039。 BEGIN PROCESS(CLK) BEGIN IF CLK 39。event AND CLK =39。139。 THEN IF CNT=11000 THEN CNT=00000。 DCLK=NOT DCLK。 ELSE CNT=CNT+39。139。 END IF。 END IF。 END PROCESS。 CLK_50=DCLK。 END BEHAVIOR。 秒模塊程序LIBRARY IEEE。USE 。USE 。ENTITY CNT60_S ISPORT(CLK_1HZ :IN STD_LOGIC。 CLOCK_S_EN :IN STD_LOGIC。 ADD,MINUS :IN STD_LOGIC。 S_LINK_M :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 S_OUT_H,S_OUT_L :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) )。END ENTITY CNT60_S。ARCHITECTURE BEHAVIOR OF CNT60_S ISSIGNAL S_H,S_L:STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGINPROCESS(CLK_1HZ,CLOCK_S_EN,ADD,MINUS)BEGINIF RISING_EDGE(CLK_1HZ) THEN IF CLOCK_S_EN=39。139。 THEN IF ADD=39。039。 THEN IF (S_H=0101 AND S_L=1001) THEN S_H=0000。 S_L=0000。 ELSIF (S_H/=0101 AND S_L=1001) THEN S_H=S_H+39。139。 S_L=0000。 ELSE S_H=S_H。 S_L=S_L+39。139。 END IF。 ELSIF MINUS=39。039。 THEN IF (S_H=0000 AND S_L=0000) THEN S_H=0101。 S_L=1001。 ELSIF (S_H/=0000 AND S_L=0000) THEN S_H=S_H39。139。 S_L=1001。 ELSE S_H=S_H。 S_L=S_L39。139。 END IF。 END IF。 ELSIF (S_H=0101 AND S_L=1000) THEN S_LINK_M=0001。 S_H=0101。 S_L=1001。 ELSIF (S_H=0101 AND S_L=1001) THEN S_H=0000。 S_L=0000。 S_LINK_M=0000。 ELSIF (S_H/=0101 AND S_L=1001) THEN S_H=S_H+39。139。 S_L=0000。 S_LINK_M=0000。 ELSE S_H=S_H。 S_L=S_L+39。139。 S_LINK_M=0000。 END IF。END IF。END PROCESS。S_OUT_H=S_H。S_OUT_L=S_L。END BEHAVIOR。 秒模塊仿真波形LIBRARY IEEE。USE 。USE 。ENTITY CNT60_M IS PORT(CLK_1HZ :IN STD_LOGIC。 CLOCK_M_EN :IN STD_LOGIC。 ADD,MINUS :IN STD_LOGIC。 S_LINK_M :IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 M_LINK_H :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 M_OUT_H,M_OUT_L :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) )。END ENTITY CNT60_M。ARCHITECTURE BEHAVIOR OF CNT60_M ISSIGNAL M_H,M_L:STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGINPROCESS(CLK_1HZ,CLOCK_M_EN,S_LINK_M,ADD,MINUS)BEGINIF RISING_EDGE(CLK_1HZ) THEN IF CLOCK_M_EN=39。139。 THEN IF ADD=39。039。 THEN IF (M_H=0101 AND M_L=1001) THEN M_H=0000。 M_L=0000。 ELSIF (M_H/=0101 AND M_L=1001) THEN M_H=M_H+39。139。 M_L=0000。