【正文】
送數(shù)及六選一選擇器整點報警數(shù)碼管秒脈沖分脈沖時脈沖秒脈沖時計數(shù)秒計數(shù)分計數(shù)譯碼傳數(shù)掃描揚(yáng)聲器:以上為方案原理圖,秒計數(shù)、分計數(shù)模塊為60計數(shù),計滿后分別產(chǎn)生分脈沖、時脈 ,用于分計數(shù)、時計數(shù)。各計數(shù)器同時將計數(shù)值送報時模塊和送數(shù)及六選一選擇器模塊。送數(shù)及六選一選擇器模塊依次將秒分時數(shù)送往譯碼模塊譯碼,同時產(chǎn)生掃描信號用于數(shù)碼管掃描顯示。整點報警在整點時刻將秒脈沖信號送揚(yáng)聲器聲音報警。(1)秒計數(shù)模塊: Second模塊為秒計數(shù)模塊。Clk作為秒脈沖,reset復(fù)位,setmin用于調(diào)整分鐘,接按鍵,enmin是當(dāng)秒計數(shù)記到59后產(chǎn)生分脈沖,秒計數(shù)重新從0開始計數(shù)。Daout為秒計數(shù)。(2)分計數(shù)模塊: 分計數(shù)為分計數(shù)模塊。Clk作為分脈沖,接second模塊的enmin,reset用于復(fù)位,sethour用于調(diào)整小時,接按鍵,enhour是當(dāng)分計數(shù)記到59后產(chǎn)生時脈沖,分計數(shù)重新從0開始計數(shù)。Daout為分計數(shù)。(3)時計數(shù)模塊: 時計數(shù)為時計數(shù)模塊,clk為時脈沖,接minute模塊的enhour,reset復(fù)位,daout為時計數(shù)。五.硬件要求: 在同一EPLD芯片EPF10K10上集成了如下電路模塊: 1.時鐘計數(shù): 秒——60進(jìn)制BCD碼計數(shù); 分——60進(jìn)制BCDD碼計數(shù); 時——24進(jìn)制BCDD碼計數(shù);同時整個計數(shù)器有清零,調(diào)分,調(diào)時功能。在接近整數(shù)時間能提供報時信號。2.具有驅(qū)動8位八段共陰掃描數(shù)碼管的片選驅(qū)動信號輸出和八段字形譯碼輸 出。編碼和掃描可參照“實驗四”。3.揚(yáng)生器在整點時有報時驅(qū)動信號產(chǎn)生。六.實驗源程序及流程圖:(VHDL)library ieee。 use 。 use 。 use 。 entity daclk is port( Clk : in std_logic。 時鐘輸入 Rst : in std_logic。 復(fù)位輸入 S1,S2 : in std_logic。 時間調(diào)節(jié)輸入 SPK : out std_logic。 揚(yáng)聲器輸出 Display : out std_logic_vector(7 downto 0)。 八段碼管顯示輸出 SEG_SEL : buffer std_logic_vector(2 downto 0) 。 八段碼管掃描驅(qū)動 lam :out std_logic_vector(2 downto 0) )。 end daclk。 architecture behave of daclk is signal Disp_Temp : integer range 0 to 15。 signal Disp_Decode : std_logic_vector(7 downto 0)。 signal SEC1,SEC10 : integer range 0 to 9。 signal MIN1,MIN10 : integer range 0 to 9。 signal HOUR1,HOUR10 : integer range 0 to 9。 signal Clk_Count1 : std_logic_vector(13 downto 0)。 signal Clk1Hz : std_logic。 signal Music_Count : std_logic_vector(2 downto 0)。 signal count : std_logic_vector(1 downto 0)。 signal lamp :