數電實驗-多功能數字鐘_第1頁
數電實驗-多功能數字鐘_第2頁
數電實驗-多功能數字鐘_第3頁
數電實驗-多功能數字鐘_第4頁
數電實驗-多功能數字鐘_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、-大連理工大學本科實驗報告題目:多功能數字鐘 專 班 學 年7 月 日成 年 7 月 日-題目:多功能數字鐘1 設計要求(1) 0023)計時器。(2)(3)(4)具有手動校時,校分的功能。定時與鬧鐘功能,能在設定的時間發出鬧鈴聲能整點報時。要求從59 分 54 秒起報時,每隔2 3 次,在整點要求是高音。2 設計分析及系統方案設計系統總體結果系統設計要求說明:(1) 該秒表用模 24、模 60 計數器實現 24 小時計時(2) 在調節鬧鐘時不影響數字鐘的正常走表;(3) 在調節鬧鐘時要通過數碼管顯示出;3 系統以及模塊硬件電路設計根據上述給出的系統總體結構框圖,給出系統硬件電路設計,并作必要

2、的說明和理論計算。由于“數字電路課程設計”課程采用實驗箱完成,沒有學時涉及有關 FPGA FPGAFPGA 最小系統”-模塊框代替。其余接口部分(按鍵,LED 以及數碼管,各種接口等需要設計電下載時選擇的開發系統模式以及管腳定義表 1 GW48-CK 開發系統工作模式:模式 0PIO71611109手動校時( 1-調時,0-走表)PIO6PIO5PIO4調時按鍵(en=1,或en1=1調時)鬧鐘設定( 1-調時,0-不走)調 分 按 鍵 ( en=1 或,才可調分)鬧鈴控制端8422系統走表時鐘(f=1Hz)鬧鐘與整點報時時鐘(f=256Hz)83整 點 報 時 時 鐘 時 鐘(f=1024H

3、z)輸出輸出輸出輸出輸出輸出輸出qlsspeakerSPEAKER3輸出蜂鳴器的時鐘4 系統的 VHDL 設計系統的各個部分如何用 VHDL設計出來的應該有說明,包括論述以及真值表或者狀態圖等。要求:系統(或頂層文件)結構描述,各個模塊(或子程序)的功能描述;1)用原理圖實現的,需包含以下內容:系統原理圖-主要模塊或符號說明;主要模塊:模 60 計數器,模 24 計數器,2)用 VHDL語言實現的(1) 秒計數器(模 60 計數器)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;clk_1: ou

4、t std_logic; -clk_1表進位qh,ql:out std_logic_vector(3 downto 0)qh,ql 表示十位與個位);end;architecture a of m_601 issignal qqh,qql: std_logic_vector(3 downto 0);signal tmp: std_logic;beginprocess(clk)beginif clkevent and clk=1 thenif qql=9 thenqql=0000;if qqh=5 then-qqh=0000;tmp=1;elseqqh=qqh+1;end if;elseqql=

5、qql+1;tmp=0;end if;end if;end process;qh=qqh;ql=qql;clk_1=tmp;end;(2)分計數器(模 60 計數器) 在 t a - 在 t - ) 在; a - ) a -(6) 整個系統程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;分鐘模 60 計數器-entity m_60 isport(clk,en,t: in std_logic;clk_1: out std_logic;qh,ql:out std_logic_vector(3 do

6、wnto 0);end;architecture a of m_60 issignal qqh,qql: std_logic_vector(3 downto 0);signal tmp,tmp_1: std_logic;beginprocess(tmp_1)beginif tmp_1event and tmp_1=1 thenif qql=9 thenqql=0000;if qqh=5 thenqqh=0000;tmp=1;elseqqh=qqh+1;end if;-elseqql=qql+1;tmp=0;end if;end if;end process;qh=qqh;ql=qql;clk_

7、1=tmp;process(en,clk,t)beginif en=0 thentmp_1=clk;elsetmp_1=t;end if;end process;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-校分模 60 計數器-entity m_60b isport(clk,en: in std_logic;qh,ql:out std_logic_vector(3 downto 0);end;architecture a of m_60b issignal qqh,qql: std_

8、logic_vector(3 downto 0);beginprocess(en,clk)beginif clkevent and clk=1 thenif en=1 thenif qql=9 thenqql=0000;if qqh=5 thenqqh=0000;elseqqh=qqh+1;end if;else-qql=qql+1;end if;end if;end if;end process;qh=qqh;ql=qql;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;秒表模 60 計

9、數器-entity m_601 isport(clk: in std_logic;clk_1: out std_logic;qh,ql:out std_logic_vector(3 downto 0);end;architecture a of m_601 issignal qqh,qql: std_logic_vector(3 downto 0);signal tmp: std_logic;beginprocess(clk)beginif clkevent and clk=1 thenif qql=9 thenqql=0000;if qqh=5 thenqqh=0000;tmp=1;else

10、qqh=qqh+1;end if;elseqql=qql+1;tmp=0;end if;end if;end process;qh=qqh;ql=qql;clk_1=tmp;end;-library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-校時模 24 計數器-entity m_24b isport(clk,en: in std_logic;qh,ql:out std_logic_vector(3 downto 0);end;architecture a of m_24b issignal qqh,qq

11、l: std_logic_vector(3 downto 0);beginprocess(clk,en)beginif clkevent and clk=1 thenif en=1 thenif qql=9 or(qql=4 and qqh=2) thenqql=0000;if qqh=2 thenqqh=0000;elseqqh=qqh+1;end if;elseqql=qql+1;end if;end if;end if;end process;qh=qqh;ql=qql;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_l

12、ogic_unsigned.all;-小時模 24 計數器-entity m_24 isport(clk,en,t: in std_logic;qh,ql:out std_logic_vector(3 downto 0);-end;architecture a of m_24 issignal tmp: std_logic;signal qqh,qql: std_logic_vector(3 downto 0);beginprocess(en,tmp,t)beginif en=0 thentmp=clk;elsetmp=t;end if;end process;process(tmp)begi

13、nif tmpevent and tmp=1 thenif qql=9 or(qql=4 and qqh=2) thenqql=0000;if qqh=2 thenqqh=0000;elseqqh=qqh+1;end if;elseqql=qql+1;end if;end if;end process;qh=qqh;ql=qql;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity top4 isport(clk,clk1,clk2,en,en1,th,tm,alarmstop:i

14、n std_logic;qls,qhs,qlm,qhm,qlh,qhh: out std_logic_vector(3 downto 0);-分別表示秒低高位,分高低位,時高低位-speaker:out std_logic );speaker:是喇叭end;architecture a of top4 iscomponent m_60port(clk,en,t: in std_logic;clk_1: out std_logic;qh,ql:out std_logic_vector(3 downto 0);end component;component m_601port(clk: in st

15、d_logic;clk_1: out std_logic;qh,ql:out std_logic_vector(3 downto 0);end component;component m_60bport(clk,en: in std_logic;qh,ql:out std_logic_vector(3 downto 0);end component;component m_24port(clk,en,t: in std_logic;qh,ql:out std_logic_vector(3 downto 0);end component;component m_24bport(clk,en: i

16、n std_logic;qh,ql:out std_logic_vector(3 downto 0);end component;signal fulls,fullm:std_logic; -秒、分進位-signalqhhtmp,qlhtmp,qhmtmp,qlmtmp,qhhaltmp,qlhaltmp,qhmaltmp,qlmaltmp,qlstmp,qhstmp:std_logic_vector(3 downto 0);秒,分,時中間信號-signal speaker1,speaker2:std_logic; 鬧鐘與整點報時的中間信號beginu1:m_601 port map(clk,

17、fulls,qhstmp,qlstmp);u2:m_60 port map(fulls,en,tm,fullm,qhmtmp,qlmtmp);u3:m_24 port map(fullm,en,th,qhhtmp,qlhtmp);u4:m_24b port map(th,en1,qhhaltmp,qlhaltmp);u5:m_60b port map(tm,en1,qhmaltmp,qlmaltmp);-process(en1,qhhaltmp,qlhaltmp,qhmaltmp,qlmaltmp,qhhtmp,qlhtmp,qhmtmp,qlmtmp)beginif en1=1 來并且不影響

18、時鐘的正常走表-qhh=qhhaltmp;qlh=qlhaltmp;qhm=qhmaltmp;qlm=qlmaltmp;qhs=0000;qls=0000;else 在 en=0 時顯示正常走表-qhs=qhstmp;qls=qlstmp;qhh=qhhtmp;qlh=qlhtmp;qhm=qhmtmp;qlm=qlmtmp;end if;end process;-鬧鐘-process(alarmstop,qhhaltmp,qlhaltmp,qhmaltmp,qlmaltmp,qhhtmp,qlhtmpqhmtmp,qlmtmp),當到預設時間時別且 alarmstop=0是每隔 2 秒響一次

19、-beginifqhmaltmp=qhmtmp andqlmaltmp=qlmtmpqhhaltmp=qhhtmpandqlhaltmp=qlhtmpandand (qlstmp=1 or qlstmp=3 or qlstmp=5 or qlstmp=7 orqlstmp=9)thenif alarmstop=0 thenspeaker2=clk1;elsespeaker2=0;end if;elsespeaker2=0;end if;end process;-整點報時,每隔 2 秒響一次并且在整點時是高音-process(en,qhmtmp,qlmtmp,qhstmp,qlstmp,clk1,clk2,clk)beginif en=0 and en1=0 thenif (qhmtmp=5 and qlmtmp=9) thenif clk=1 thenif (qhstmp=5 and qlstmp=4) or (qhstmp=5 and qlstmp=6)or (qhstmp=5 and qlstmp=8) thenspeaker1=clk1;-響三下

溫馨提示

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

評論

0/150

提交評論