【文章內(nèi)容簡介】
Clk 顯示打鈴模塊Sec[6..0]Min[6..0]Hour[6..0]CLK Sec模塊 CLKClk校時模塊 minFen Shi hour Min模塊 Hour模塊 K1 K2 系統(tǒng)框圖 設(shè)計流程圖時計時秒計時分計時開始 顯示打鈴模塊KK2 自動打鈴的設(shè)計流程圖第3章 各模塊設(shè)計分析 計數(shù)器模塊計數(shù)器模塊包括秒計數(shù)器模塊、分計數(shù)模塊、時計數(shù)模塊以及功能按鍵的設(shè)計。給定固定頻率的時鐘信號,輸入計數(shù)60秒的秒計數(shù)器模塊電路,等待計數(shù)到60秒的瞬間,進位至60分的分計數(shù)器模塊電路加1后,秒計數(shù)器電路同時清為零重新計時。分計數(shù)器模塊電路與秒計數(shù)器模塊電路功能類似,當分計時模塊計時到60分的瞬間時計時模塊電路加1,分計時模塊清為零重新進行計時。時計時模塊與秒、分計時模塊類似,當來自分計時模塊的進位達到24瞬間,時計數(shù)器模塊清為零,再從零進行計時。這樣秒、分、時計時模塊依次進行計時完成24進制的計時功能。 秒和分計數(shù)器模塊秒計時模塊和分計數(shù)器模塊都為60進制的計數(shù)器,其代碼為:LIBRARY IEEE。USE 。USE 。ENTITY second IS PORT(clk:IN STD_LOGIC。 q1,q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 c:OUT STD_LOGIC)。END ENTITY second。ARCHITECTURE art OF second IS SIGNAL q11,q22:STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGIN PROCESS(clk) BEGIN IF clk39。EVENT AND clk=39。139。 THEN q11=q11+39。139。 IF q11=9 AND q22/=5 THEN q11=0000。 q22=q22+39。139。 END IF。 IF q22=5 AND q11=9 THEN q22=0000。 q11=0000。 c=39。139。 ELSE c=39。039。 END IF。 END IF。 END PROCESS。 q1=q11。q2=q22。END ARCHITECTURE art。、 秒模塊的元器件 分計時模塊的元器件給定輸入信號進行波形仿真得到秒、 秒、分計數(shù)器模塊的輸出仿真波形模塊說明:由仿真波形圖可以看出,當秒或分計時到59時,給C一個高電平脈沖,即分或時計時模塊加1,秒或分計時模塊清零后開始重新計時。 時計數(shù)器模塊時計數(shù)器模塊為24進制的計數(shù)器,其代碼為:LIBRARY IEEE。USE 。USE 。ENTITY hour IS PORT(clk:IN STD_LOGIC。 q1,q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。END ENTITY hour。ARCHITECTURE art OF hour IS SIGNAL q11,q22:STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGIN PROCESS(clk) BEGIN IF clk39。EVENT AND clk=39。139。 THEN q11=q11+39。139。 IF q11=9 THEN q11=0000。 q22=q22+39。139。 END IF。 IF q22=2 AND q11=3 THEN q22=0000。 q11=0000。 END IF。 END IF。 END PROCESS。 q1=q11。q2=q22。END ARCHITECTURE art。 時計時模塊采用24進制的計時器模式,: 時計時模塊的仿真波形模塊說明:由仿真波形圖可以看出,當時計數(shù)到23時時計數(shù)器模塊清零后,再重新開始從0時計時。 計時校時模塊計時校時模塊的代碼為:LIBRARY IEEE。USE . ALL。USE 。ENTITY jiaoshi ISPORT(sec,min:IN STD_LOGIC。 調(diào)時模塊的輸入信號 k1,k2:IN STD_LOGIC。 調(diào)時模塊的控制,調(diào)時信號輸入 fen,shi:OUT STD_LOGIC。 各計數(shù)器的輸入時鐘信號 led1,led2:OUT STD_LOGIC)。 工作模式顯示燈的控制信號END ENTITY jiaoshi。ARCHITECTURE art OF jiaoshi ISSIGNAL a:STD_LOGIC_VECTOR(1 downto 0)。BEGINPROCESS(k1,k2)BEGIN IF k139。EVENT AND k1=39。139。 THEN a=a+1。 IF a=2 THEN a=00。 END IF。 END IF。CASE a IS WHEN 00=fen=sec。shi=min。 模式0正常計時 led1=39。039。led2=39。039。 WHEN 01=fen=k2。shi=39。039。 模式1,分模塊,調(diào)分 led1=39。139。led2=39。039。WHEN 10=fen=39。039。shi=k2。 模式2,時模塊,調(diào)時 led1=39。039。led2=39。139。WHEN OTHERS=NULL。END CASE。END PROCESS。END ARCHITECTURE art。計時校時模塊編譯通過后,生成校時模塊的元器件,::模塊說明:由仿真波形可以看出,K1鍵是控制調(diào)時調(diào)分按鍵,按一下K1鍵系統(tǒng)處于調(diào)分狀態(tài),并且LED1燈常亮即提示此時處于調(diào)分狀態(tài),再按K2鍵對分進行加時。若再