EDA數(shù)字時鐘設計_第1頁
EDA數(shù)字時鐘設計_第2頁
EDA數(shù)字時鐘設計_第3頁
EDA數(shù)字時鐘設計_第4頁
EDA數(shù)字時鐘設計_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄.設計實驗目的.設計實驗說明.設計實驗要求.功能設計1時鐘計數(shù).時間設置.清零功能.整點報時功能.數(shù)字時鐘計數(shù)報時VHDL程序設計仿真與分析.秒計數(shù)器(miao)VHDL程序描述、仿真波形圖及其分析.分計數(shù)器(fen) VHDL程序描述、仿真波形圖及其分析.時計數(shù)器(shi) VHDL程序描述、仿真波形圖及其分析.整點報時器(baoshi)VHDL程序描述、仿真波形圖及其 分析.分頻器(fenpin)設計、仿真波形圖及其分析.掃描顯示譯碼器(saomiao) VHDL程序描述、仿真波形圖 及其分析.數(shù)字時鐘整體設計原理圖及其分析.設計總結.參考文獻1設計實驗目的:熟練運用VHDL語言,完成

2、數(shù)字時鐘設計的軟件編程、編譯、綜合、仿真,使用EDA 實驗箱,實現(xiàn)數(shù)字時鐘的硬件功能。2設計實驗說明:.數(shù)字時鐘主要由:分頻器、掃描顯示譯碼器、六十進制計數(shù)器(或十進制計數(shù)器 與6進制計數(shù)器組成)、六十進制計數(shù)器(或十進制計數(shù)器與6進制計數(shù)器組成)、十二 進制計數(shù)器(或二十四進制計數(shù)器)電路組成。在整個時鐘中最關鍵的是如何獲得一個精 確的1HZ計時脈沖。.數(shù)字時鐘顯示由時(12或24進制任選)、分(60進制)、秒(60進制)組成, 利用掃描顯示譯碼電路在六個數(shù)碼管顯示。.數(shù)字時鐘組成及功能:數(shù)字時鐘組成及功能:.分頻率器:用來產(chǎn)生1HZ計時脈沖;2.十二或二十四進制計數(shù)器:對時進行計 數(shù)3.六

3、十進制計數(shù)器:對分和秒進行計數(shù);4.六進制計數(shù)器:分別對秒十位和分十位進行 計數(shù);5.十進制計數(shù)器:分別對秒個位和分個位進行計數(shù);6.掃描顯示譯碼器:完成對7. 字段數(shù)碼管顯示的控制;.設計實驗要求:.精確顯示時、分、秒。.數(shù)字時鐘要求:具有對時、分、秒置數(shù)功能。.能夠完成整點報時功能。.功能設計:.時鐘計數(shù):完成時、分、秒的正確計時并且顯示所計的數(shù)字;對秒、分60進制計數(shù), 即從0到59循環(huán)計數(shù),對時24進制計數(shù),即從0到23循環(huán)計數(shù)。.時間設置:手動調節(jié)分鐘(setfen)、小時(setshi),高定平時有效,可以對分、時進 行進位調節(jié),低電平時正常計數(shù)。這樣可以對所設計的時鐘的時間任意調

4、。.清零功能:reset為復位端,低電平時實現(xiàn)清零功能,高電平時正常計數(shù)。這樣可以 對所設計的時鐘的時間進行清零處理。.整點報時功能:當分由59進位時,會在整點報時輸出端輸出高電平,此信號可以通 過LED點亮檢驗。.數(shù)字時鐘計數(shù)報時VHDL程序設計仿真與分析. (1)秒計數(shù)器(miao) VHDL程序描述library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity miao isport(clk,reset,setfen:in std_logic;enfen:out std_logic;count

5、miao:out std_logic_vector(7 downto 0);end miao;architecture fun of miao issignal count:std_logic_vector(7 downto 0);signal enfen_1,enfen_2:std_logic;begincountmiao=count;enfen_2=(setfen and clk);enfen=(enfen_1 or enfen_2);process(clk,reset,setfen)beginif(reset=0t)then count=00000000;enfen_1=0;elsiff

6、clkevent and clk=l1l)then if(count(3 downto 0)=1001”)then if(count16#60#)then if(count=01011001)then count=00000000;enfen_1=11;else count=count+7;end if;else count=00000000”;enfen_1=0;end if;elsif(count16#60#)then count=count+1;enfen_1=0;else count=00000000;enfen_1=1;end if;end if;end process;end fu

7、n;(2)秒計數(shù)器(miao)仿真波形圖里 PMFf 3(3)秒計數(shù)器(miao)仿真分析隨著clk脈沖信號的不斷到來,countmiao記錄出clk的脈沖個數(shù),計數(shù)到59時, 在下一個clk脈沖信號到來時,輸出端enfen輸出高定平,即向分進位,同時countmiao 清零。2、reset為清零端,reset低電平時,當countmiao計數(shù)從零重新開始計數(shù)。3、 setfen為分的手動進位端,當setfen高定平時且clk脈沖到來時,輸出enfen高電平,向 分進位。. (1)分計數(shù)器(fen)VHDL程序描述library ieee;use ieee.std_logic_1164.all

8、;use ieee.std_logic_unsigned.all;entity fen is port(imiao,clk,reset,setshi:in std_logic;enshi:out std_logic;countfen:out std_logic_vector(7 downto 0);end fen;architecture fun of fen is signal enshi_1,enshi_2:std_logic; signal count:std_logic_vector(7 downto 0);begincountfen=count; enshi_2=(setshi an

9、d clk);enshi=(enshi_1 or enshi_2);process(imiao,reset,setshi)beginif(reset=0) thencount=00000000;elsif(imiaoevent and imiao=1) thenif(count(3 downto 0)=1001) thenif(count16#60#) thenif(count=01011001) thencount=00000000;enshi_1=1;else count=count+7;end if; else count=00000000;end if;elsif(count16#60

10、#) thencount=count+1;enshi_1=0;else count=00000000;end if;end if;end process;end fun;(2)分計數(shù)器(fen)仿真波形圖耐Mni -l-lPcirA.IakbM利.窩修時亂器 HL.0 H耐Mni -l-lPcirA.IakbM利.窩修時亂器 HL.0 H分計數(shù)器(fen)仿真分析imiao為秒計數(shù)器的enfen進位輸出端,當enfen (imiao)高電平到來時,clk高電 平時,且countfen開始計數(shù)。countfen計數(shù)到59時,下一個enfen(imiao)、clk到 來時,enshi高電平,即向時

11、進位,同時countfen清零。2、reset為清零端,當reset低 電平時,countfen計數(shù)從零重新開始計數(shù)。3、setshi為時的手動進位端,當setshi高定 平時且clk脈沖到來時,輸出en時高電平,向時進位。.(1)時計數(shù)器(shi)VHDL程序描述library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shi isport(ifen,reset:in std_logic;countshi:out std_logic_vector(7 downto 0);end shi;ar

12、chitecture fun of shi issignal count:std_logic_vector(7 downto 0);begin countshi=count;process(ifen,reset)beginif(reset=0) thencount=00000000;elsif(ifenevent and ifen=1) thenif(count(3 downto 0)=1001) thenif(count16#23#) then count=count+7;else count=00000000;end if;elsif(count16#23#) thencount=coun

13、t+1;else count=00000000;end if;end if;end process;end fun;(2)時計數(shù)器(shi)仿真掃描顯示譯碼器(saomiao)仿真逋M fX逋M fX(3)時計數(shù)器(shi)仿真分析ifen為分計數(shù)器的enshi進位輸出端,當enshi (ifen)為高電平時,countshi計數(shù)。 countshi計數(shù)到23時,當下一個enshi(ifen)、clk到來時,countshi會自動清零。2、 reset為清零端,當reset低電平時,countfen計數(shù)從零重新開始計數(shù)。.整點報時(1)整點報時器(baoshi)VHDL程序描述library

14、ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entitybaoshi is port( clk:in std_logic; inputmiao,inputfen:in std_logic_vector(6 downto 0); output:out std_logic_vector(1 downto 0) ); end baoshi; architecture fun of baoshi is signal temp:std_logic_vector(1 downto 0); signal nummia

15、o,numfen:std_logic_vector(7 downto 0); begin nummiao=inputmiao; numfen=inputfen; outputtemptemptemptemptemp=00; end case; end if; end if; end process; end fun; 11(2)整點報時器(baoshi)仿真波形圖裁I制融制國S: Ei. .i.如 裁I制融制國S: Ei. .i.如 lie .StartEMT3 -IJ .j 一。1T3 -IJ .j 一。1“更碘酮遏酶使電顏國酶被使夠酶畫謔遜運電電艇回電距酗i運電蟠破誕鹿電芭酶題gfi碗運碘

16、近因酶 Ln_n_n_rLrLrLrLn_n_rLn_n_n_r_rLrLn_rLn_n_n_rLrLrLn_n_rLrLrLrLrLn_rLn_n_rL 一-Ln_n_n_n_n_n_n_n_n_n_rLn_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_rLn_rLrLi r -r n - 一.一 一.一一 一一.一 r n 一.一 一一. _Ln_n_rLrL_Ln_n_n_n_rLn_rLr_r_rLrLn_n_nj_L_L_i_n_n_n_n_rLrLr_rj-LrLrLn_n_n_ Ln_rLrLnL_Ln_rLn_n_rLn_rLr_r_rLrLn

17、_n_nj_L_L_Ln_n_n_n_rLrLr_r_rLrLrLn_n_n_ 口 Tjn_n_rLn_n_n_n_n_n_n_rLn_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_rLn_n_rLn_rLrLi LrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLTLrLrLrLrLrL r - - - - - .r - -.n - - 一.一 一.一一 一一.一 r n 一.一 一一.(3)整點報時器(baoshi)仿真分析input為分計數(shù)器的輸出端,當輸出58、59和00(十六進制)時,整點報時

18、器(baoshi) 的輸出端output為高電平,點亮LED燈。當intput為58、59時,點亮一個LED燈, 當input為00時,點亮兩個LED燈。其他情況時,LED燈均不發(fā)光。(1)分頻器(fenpin)設計 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity fenpin isport( clk_5M:in std_logic;clk:out std_logic );end fenpin;architecture fun of fenpin is signal count:s

19、td_logic_vector(22 downto 0); beginprocess(clk_5M)beginif (clk_5Mevent and clk_5M=1) thenif(count=10011000100101100111111) thencount=00000000000000000000000;clk=1;else count= count+1;clk=0;end if;end if;end process;end fun;(1)掃描顯示譯碼器(saomiao) VHDL程序描述掃描顯示譯碼器是用來顯示時鐘數(shù)值的裝置,將數(shù)字時鐘的高低電平信號用數(shù)碼管的數(shù)值 顯示出來。八個數(shù)碼

20、管中,用六個數(shù)碼管顯示時、分和秒,另外兩個可做為時和分、分和 秒之間的間隔,始終不顯示。首先對八個數(shù)碼管進行掃描,每一時刻都只有一個數(shù)碼管處 于掃描狀態(tài),并將此時的數(shù)字時鐘的高低電平通過十六進制的BCD碼轉換為數(shù)碼管顯示 數(shù)值。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity saomiao isport(clk_smxs:in std_logic;shi:in std_logic_vector(7 downto 0);fen:in std_logic_vector(7 downto

21、0);miao:in std_logic_vector(7 downto 0);selout:out std_logic_vector(7 downto 0);segout:out std_logic_vector(6 downto 0);end saomiao;architecture fun of saomiao issignal temp:std_logic_vector(2 downto 0);signal seg:std_logic_vector(6 downto 0);signal sel:std_logic_vector(7 downto 0);beginselout=sel;s

22、egout=111 then temp=000;else tempnum:=shi(7 downto 4);selnum:=shi(3 downto 0); selnum:=fen(7 downto 4);selnum:=fen(3 downto 0); selnum:=miao(7 downto 4);selnum:=miao(3 downto 0);selselsegsegsegsegsegsegsegsegsegsegseg=0000000;end case;end if;end process;end fun;oocmw。,m J. 口 mooi 口miKELI工 EJXUEB Itr

23、iul: E DCdl ODlXDOO*iQI J oocmw。,m J. 口 mooi 口miKELI工 EJXUEB Itriul: E DCdl ODlXDOO*iQI J l id I1 PCI j?KLDn出口。 S 2皿 n khh Aairt琴6.數(shù)字時鐘整體設計、數(shù)字時鐘整體設計: (1)數(shù)字時鐘的電路原理圖:數(shù)千時鐘的電路仿真波形圖.I .匕翹 ”E ”A 即 Uf 三 T 埠 Ul.ff QL泣 II .=”0 5正柒川li tr W._L2i_L2r- r 匚門丁丁=-1_1_1_11_11/1_0_|_07151_11/1_0_1_0_0_1_1_|_0_1_0_1_1

24、_1-_1:1門_0_1_15_*1 | r4 Md, ; 一 一 一 一 :一 一 2 I 3 91-ila t次4 1 B nApr H iH ::39 ”wii 萬 11_w_嬴h 府(incgiYyiriTirTWKgixwx?nfsyirxgi?TiEy xgrys7?nygjgxfa 口 OTfinywxxgirxwx1數(shù)字時鐘整體設計:時鐘脈沖源為EDA實驗箱中的5MHz的脈沖信號,用于分頻器的輸入信號和掃 描顯示譯碼器的掃描。分頻器的功能是將5MHz的脈沖信號轉換為1Hz的時鐘信號,用 于秒的計數(shù)。秒為60進制計數(shù)器,當1Hz的脈沖信號來臨時,開始計數(shù)。計數(shù)到59時, 會輸出enfen高電平,用于分的計數(shù)。setfen為手動進位端,置入高電平時也會使enfen 產(chǎn)生高電平。分計數(shù)器為60進制計數(shù)器,當enfen高電平來臨時,分計數(shù)器會開始計數(shù), 計數(shù)到59時,會產(chǎn)生enshi的高電平。setshi為手動置 數(shù)端,當setshi高定平時,也會 使enshi為高電平。enshi為時計數(shù)器的計數(shù)脈沖輸入,enshi高電平時,時計數(shù)器開始計 數(shù)。時計數(shù)器為24進制計數(shù)器,計數(shù)到24時會自動清零。reset為異步清零端,高定 平時,所有時鐘顯示數(shù)碼管均為0。selout為數(shù)碼管掃描

溫馨提示

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

評論

0/150

提交評論