EDA數(shù)字時鐘設(shè)計作業(yè)(總12頁_第1頁
EDA數(shù)字時鐘設(shè)計作業(yè)(總12頁_第2頁
EDA數(shù)字時鐘設(shè)計作業(yè)(總12頁_第3頁
EDA數(shù)字時鐘設(shè)計作業(yè)(總12頁_第4頁
EDA數(shù)字時鐘設(shè)計作業(yè)(總12頁_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、安陽工學(xué)院電子信息與電氣工程學(xué)院EDA技術(shù)課程大作業(yè)題目: 數(shù)字時鐘的設(shè)計 班級: 13級電氣自動化技術(shù)一班評分標(biāo)準(zhǔn):1、 設(shè)計和結(jié)論正確,分析清晰合理。 40%2、 大作業(yè)報告闡述清晰,格式規(guī)范。 30%3、 陳述清晰,回答問題正確。 30%大作業(yè)成績姓名學(xué)號個人貢獻百分比(學(xué)生自評)教師評分回答問題總成績總成績=T+J*40%+(J+J*(X-1/N)*30%T為回答問題成績,J為教師成績,X為學(xué)生自評分值,N為小組人數(shù)數(shù)字時鐘的設(shè)計1. 設(shè)計任務(wù)設(shè)計一款數(shù)字電子時鐘,具體要求如下:1:輸入條件:50MHz時鐘,2個輸入按鍵;2:功能實現(xiàn):具有顯示時、分、秒功能;采用LED數(shù)碼管顯示;具有

2、對時功能,對時精確到分,對時采用按鍵作為輸入信號。2. 設(shè)計方案 要實現(xiàn)一個數(shù)字時鐘小系統(tǒng),整個系統(tǒng)由主要模塊電路模塊和外部輸入輸出以及顯示模塊組成。首先分別實現(xiàn)單個模塊的功能,然后再通過級聯(lián)組合的方式實現(xiàn)對整個系統(tǒng)的設(shè)計。其中,主要模塊有六個。它包括脈沖信號產(chǎn)生模塊、時間計數(shù)模塊(計數(shù)模塊又分為分計數(shù)模塊、秒計數(shù)模塊、時計數(shù)模塊)、譯碼顯示模塊、復(fù)位模塊、調(diào)節(jié)模塊。各個模塊先用EDA技術(shù)中的VHDL語言編程仿真,再生成各個小模塊的模擬元件,再元件例化,根據(jù)設(shè)計連接電路實現(xiàn)數(shù)字電子鐘小系統(tǒng)。通過分頻,產(chǎn)生1HZ的時鐘信號;分別設(shè)計秒計時,分計時,時計時,秒計時用上面的時鐘信號1HZ產(chǎn)生,分計時

3、也是60一清零,分計時的時鐘用的是秒計時的進位信號,時計時用的是24一清零,CLK是分的進位,顯示模塊用的是7段共陽數(shù)碼管,用來顯示數(shù)字。具體的思想如下圖1所示顯示模塊數(shù)碼管計時模塊Clk分頻模塊控制模塊3. 方案實施 1分頻器模塊1:模塊說明:輸入一個頻率為50MHz的CLK,利用計數(shù)器分出1KHz的q1KHz,500Hz的q500Hz,2Hz的q2Hz和1Hz的q1Hz。2:源程序:LIBRARY ieee; USE ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;ENTITY fdiv IS PORT (CLK: IN S

4、TD_LOGIC ; q1KHz: BUFFER STD_LOGIC; q500Hz: BUFFER STD_LOGIC; q2Hz: BUFFER STD_LOGIC; q1Hz: OUT STD_LOGIC);END fdiv ; ARCHITECTURE bhv OF fdiv IS BEGIN P1KHZ:PROCESS(CLK)VARIABLE cout:INTEGER:=0;BEGIN IF CLKEVENT AND CLK=1 THEN cout:=cout+1; IF cout=25000 THEN q1KHz=0; ELSIF cout50000 THEN q1KHz=1;E

5、LSE cout:=0; END IF; END PROCESS; P500HZ:PROCESS(q1KHz) VARIABLE cout:INTEGER:=0;BEGINIF q1KHzEVENT AND q1KHz=1 THENcout:=cout+1;IF cout=1 THEN q500Hz=0; ELSIF cout=2 THEN cout:=0;q500Hz=1;END IF; END IF; END PROCESS;P2HZ:PROCESS(q500Hz)VARIABLE cout:INTEGER:=0;BEGINIF q500HzEVENT AND q500Hz=1 THENc

6、out:=cout+1;IF cout=125 THEN q2Hz=0; ELSIF cout250 THEN q2Hz=1; ELSE cout:=0;END IF; END IF; END PROCESS;P1HZ:PROCESS(q2Hz)VARIABLE cout:INTEGER:=0;BEGINIF q2HzEVENT AND q2Hz=1 THENcout:=cout+1;IF cout=1 THEN q1Hz=0; ELSIF cout=2 THEN cout:=0;q1Hz=1;END IF; END IF; END PROCESS;END bhv;2秒計時模塊1:模塊說明:通

7、過分頻獲得的時鐘信號,便是1s,秒的低位到達9是向高位進1,高位到達6是向上進1,并清零。2:源程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second is port(clk,reset:in std_logic; sec1,sec2:out std_logic_vector(3 downto 0); carry:out std_logic);end second;architecture rt1 of second is signal sec1_t,sec2_t:std

8、_logic_vector(3 downto 0);begin process(clk,reset) begin if reset=1then sec1_t=0000; sec2_t=0000; elsif clkevent and clk=1then if sec1_t=1001then sec1_t=0000; if sec2_t=0101then sec2_t=0000; else sec2_t=sec2_t+1; end if; else sec1_t=sec1_t+1; end if; if sec1_t=1001 and sec2_t=0101then carry=1; else

9、carry=0; end if; end if; end process; sec1=sec1_t; sec2=sec2_t;end rt1;3分計時模塊1:模塊說明:這里用的時鐘信號的來自秒的進位,即進一位就是1min,分的低位到達9是向高位進1并清零,高位到達6時向上進1,到達5時等待進位后清零。.2:源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute is port(clk,reset:in std_logic; min1,min2:out std_logic_

10、vector(3 downto 0); carry:out std_logic);end second;architecture rt1 of minute is signal min1_t,min2_t:std_logic_vector(3 downto 0);begin process(clk,reset) begin if reset=1then min1_t=0000; min2_t=0000; elsif clkevent and clk=1then if min1_t=1001then min1_t=0000; if min2_t=0101then min2_t=0000; els

11、e min2_t=min2_t+1; end if; else min1_t=min1_t+1; end if; if min1_t=1001 and min2_t=0101then carry=1; else carry=0; end if; end if; end process; min1=min1_t; min2=min2_t;end rt1;4時計時模塊1:模塊說明:這里的時鐘信號時來自上面的分的進位,上面進一位便表示1h,時的低位到達9是向高位進1并清零,高位到達2等待進位后清零,這里當(dāng)高位到達2時,低位為3即將到4時開始進位。2:源程序library ieee;use ieee.

12、std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour is port (clk,reset:in std_logic; hour1,hour2:out std_logic_vector(3 downto 0); end hour;architecture rt1 of hour is signal hour1_t,hour2_t:std_logic_vector(3 downto 0);beginprocess(clk,reset)begin if reset=1then hour1_t=0000; hour2_t=000

13、0; elsif clkevent and clk=1then if hour1_t=0011 and hour2_t=0010then hour1_t=0000; hour2_t=0000; else if hour1_t=1001then hour1_t=0000; if hour2_t=0010then hour2_t=0000; else hour2_t=hour2_t+1; end if; else hour1_t=hour1_t+1; end if; end if; end if;end process; hour1=hour1_t; hour2doutdoutdoutdoutdoutdoutdou

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論