【正文】
字鐘進(jìn)行快速校時、校分,即撥動開關(guān) K1可以對小時進(jìn)行校正,撥動開關(guān) K2 可以對分進(jìn)行校正。 3. 要求所有開關(guān)具有去抖動功能。 二. 總體方案設(shè)計 : 從設(shè)計要求可以對其進(jìn)行層次化設(shè)計,將所要設(shè)計的多功能數(shù)字鐘分層 6個模塊: (1) 計時模塊 : 包括兩個模 60的計 數(shù)器 (計秒與計分 )和一個模 24 的計數(shù)器 (計時 )。 (5) 整點報時模塊 : 由兩部分組成,一部分選擇報時時間 (59:53, 59:55, 59:57,59:59),一部分選擇報時頻率 (1kHz, 2kHz)。 將數(shù)字鐘的各功能模塊級聯(lián),生成頂層電路,實現(xiàn)總體設(shè)計要求,設(shè)計框圖如下圖所示: 三. 各子模塊設(shè)計原理 : 1. 計秒模塊 : 是一 個模 60 的計數(shù)器,具有計時、保持、清零的功能。 USE 。 qout1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 ARCHITECTURE behav OF second IS SIGNAL tem1: STD_LOGIC_VECTOR(3 DOWNTO 0)。)THEN tem1=tem1。)THEN tem1=0000。139。139。 END IF。 qout1=tem1。 其仿真波形圖如下: 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 5 封裝圖為: clkrs tenqo ut 1[ 3. .0]qo ut 2[ 3. .0]cosec on dinst 2. 計分模塊: 本質(zhì)上是跟計秒模塊一樣,也是模 60 的計數(shù)器,具有計數(shù)、保持、清零功能。 USE 。 qout1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 ARCHITECTURE behav OF minute IS SIGNAL tem1: STD_LOGIC_VECTOR(3 DOWNTO 0)。)THEN tem1=tem1。)THEN tem1=0000。139。139。 END IF。 qout1=tem1。 仿真波形圖如下: 封裝圖為: clkrs tenqo ut 1[ 3. .0]qo ut 2[ 3. .0]com inut einst 3. 計時模塊: 是一個模 24 的計數(shù)器, VHDL 的程序代碼如下: LIBRARY IEEE。 ENTITY hour IS PORT( clk: IN STD_LOGIC。 qout2: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 SIGNAL tem2: STD_LOGIC_VECTOR(3 DOWNTO 0)。 tem2=tem2。 tem2=0000。)THEN IF (tem2=0010 AND tem1=0011) THEN tem1=0000。 ELSE co=39。 ELSE tem1=tem1+1。 qout1=tem1。 仿真波形圖如下: 封裝圖為: 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 8 clkrs tenqo ut 1[ 3. .0]qo ut 2[ 3. .0]cohourinst 4. 校準(zhǔn)模塊: 在正常情況下 ,分的輸入時鐘 clk 信號是由秒的進(jìn)位輸出給的,而時的輸入時鐘 clk信號由分進(jìn)位輸出信號給的。 USE 。 key: IN STD_LOGIC。 ARCHITECTURE behav OF jiaoshi IS SIGNAL tem: STD_LOGIC。) THEN x=39。139。 en=x。 USE 。 clk_2H: IN STD_LOGIC。 ARCHITECTURE behav OF jiaofen IS SIGNAL tem: STD_LOGIC。 ELSE tem=clk_2H。 END behav。 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 10 USE 。 rst: IN STD_LOGIC。 qin4: IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 sel: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。039。 ELSIF (clk39。 ELSE t:=t+1。 WHEN 1=qout=qin2。 WHEN 3=qout=qin4。 WHEN 5=qout=qin6。 END CASE。 仿真波形:例如顯示 23:15:39 其從仿真波形結(jié)果可看知所設(shè)計的是正確的。 USE 。 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 12 ARCHITECTURE behav OF decode47 IS BEGIN WITH qin SELECT qout=00000011 WHEN 0000, 10011111 WHEN 0001, 00100101 WHEN 0010, 00001101 WHEN 0011, 10011001 WHEN 0100, 01001001 WHEN 0101, 01000001 WHEN 0110, 00011111 WHEN 0111, 00000001 WHEN 1000, 00011001 WHEN 1001, 00000011 WHEN OTHERS。 USE 。 qin1: IN STD_LOGIC_VECTOR(3 D