版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 題目:數(shù)字鐘設計</b></p><p><b> 一、實驗目的</b></p><p> 學習并掌握數(shù)字鐘的原理、設計方法。</p><p><b> 二、實驗內(nèi)容</b></p><p> 計數(shù)時鐘由模60秒計數(shù)器、模60分計數(shù)器、模2
2、4小時計數(shù)器、報時模塊、分、時校定模塊及輸出顯示模塊構成??梢圆捎猛接嫈?shù)器或異步計數(shù)器設計方法。</p><p><b> 三、實驗要求</b></p><p> 1. 計時范圍為0小時0分0秒至23小時59分59秒</p><p> 2. 采用6個8段數(shù)碼管分別顯示小時十位,小時個位、分鐘十位、分鐘個位、秒十位、秒個位。</p&
3、gt;<p> 3. 整點報時,蜂鳴器響5聲,每秒1聲。</p><p> 4. 校時功能,能夠單獨校分、校時。用按鍵控制。</p><p> 5. 具有清零、啟動/停止計數(shù)的功能。用按鍵控制。</p><p><b> 四、實驗原理</b></p><p> 數(shù)字鐘的基本原理是采用時鐘源提供的頻
4、率作為秒模塊的時鐘進行計數(shù),當秒模塊計數(shù)達到59秒時為分模塊提供時鐘,該時鐘通過狀態(tài)選擇模塊送到分模塊,同理,分模塊向小時模塊提供時鐘時也是如此。整點報時模塊是利用分鐘向小時的進位時鐘脈沖作為觸發(fā)源,利用秒的個位計時以及實驗板提供的時鐘源頻率達到報時五秒的目的。譯碼顯示模塊則通過8421BCD碼與數(shù)碼管各段的關系進行轉化,由于實驗板不支持動態(tài)掃描所以需在秒,分,時的個位與十位都添加譯碼顯示模塊。</p><p>
5、<b> 原理框圖如下:</b></p><p><b> 五、模塊設計</b></p><p><b> 秒計數(shù)模塊</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p>
6、<p> use ieee.std_logic_unsigned.all;</p><p> entity second is</p><p> port(clk,rst:in std_logic;</p><p> enmin:out std_logic;</p><p> shiwei:out std_logic_
7、vector(3 downto 0);</p><p> gewei:out std_logic_vector(3 downto 0));</p><p> end entity second;</p><p> architecture rtl of second is</p><p> signal a,b:std_logic_
8、vector(3 downto 0);</p><p> signal c:std_logic_vector(7 downto 0);</p><p><b> begin</b></p><p> c<=b&a; </p><p> process(clk,rst,c)</p&
9、gt;<p><b> begin</b></p><p> if(rst='1')then</p><p> a<="0000";</p><p> b<="0000";</p><p> enmin<='0
10、9;;</p><p> elsif(clk'event and clk='1')then</p><p><b> a<=a+1;</b></p><p> if(a="1001")then</p><p> a<="0000";<
11、;/p><p><b> b<=b+1;</b></p><p> if(b="0101")then</p><p> b<="0000";</p><p><b> end if;</b></p><p><b&
12、gt; end if;</b></p><p><b> end if;</b></p><p><b> case c is</b></p><p> when "01011001"=>enmin<='1';</p><p>
13、when others=>enmin<=null;</p><p> end case; </p><p> end process;</p><p><b> gewei<=a;</b></p><p> shiwei<=b;</p><p> end arc
14、hitecture rtl;</p><p><b> 其模塊仿真圖為:</b></p><p><b> 分計數(shù)模塊</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p>
15、 use ieee.std_logic_unsigned.all;</p><p> entity minute is</p><p> port(clk,rst:in std_logic;</p><p> enhour:out std_logic;</p><p> mshiwei:out std_logic_vector(3 d
16、ownto 0);</p><p> mgewei:out std_logic_vector(3 downto 0));</p><p> end entity minute;</p><p> architecture rtl of minute is</p><p> signal m,n:std_logic_vector(3 d
17、ownto 0);</p><p> signal c:std_logic_vector(7 downto 0);</p><p><b> begin</b></p><p> c<=n&m; </p><p> process(clk,rst,c)</p><p>
18、<b> begin</b></p><p> if(rst='1')then</p><p> m<="0000";</p><p> n<="0000";</p><p> enhour<='0';</p>
19、<p> elsif(clk'event and clk='1')then</p><p><b> m<=m+1;</b></p><p> if(m="1001")then</p><p> m<="0000";</p><
20、p><b> n<=n+1;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> if(c="01011001")then </p><p> n<=&qu
21、ot;0000";</p><p> m<="0000";</p><p><b> end if;</b></p><p><b> case c is</b></p><p> when "01011001"=>enhour&
22、lt;='1';</p><p> when others=>enhour<=null;</p><p> end case; </p><p> end process; </p><p> mgewei<=m;</p><p> msh
23、iwei<=n;</p><p> end architecture rtl;</p><p><b> 其模塊仿真圖為:</b></p><p><b> 時計數(shù)模塊</b></p><p> library ieee;</p><p> use ieee.
24、std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity hour is</p><p> port(clk,rst:in std_logic;</p><p> hshiwei:out std_logic_vector(3 downto
25、 0);</p><p> hgewei:out std_logic_vector(3 downto 0));</p><p> end entity hour;</p><p> architecture rtl of hour is</p><p> signal p,q:std_logic_vector(3 downto 0)
26、;</p><p><b> begin</b></p><p> process(clk,rst)</p><p><b> begin</b></p><p> if(rst='1')then</p><p> p<="0000&
27、quot;;</p><p> q<="0000";</p><p> elsif(clk'event and clk='1')then</p><p><b> p<=p+1;</b></p><p> if(p="1001")then
28、</p><p> p<="0000";</p><p><b> q<=q+1; </b></p><p><b> end if;</b></p><p><b> end if;</b></p><p>
29、if(q="0010" and p="0100")then</p><p> p<="0000";</p><p> q<="0000"; </p><p><b> end if;</b></p><p>
30、 end process;</p><p> hgewei<=p;</p><p> hshiwei<=q;</p><p> end architecture rtl; </p><p><b> 其模塊仿真圖為:</b></p><p><b> 狀態(tài)選擇模塊
31、</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity set is</p><p> port(sel:
32、in std_logic;</p><p> clk:in std_logic;</p><p> key:in std_logic;</p><p> y:out std_logic);</p><p> end entity set;</p><p> architecture rtl of set is
33、</p><p> signal a:std_logic;</p><p><b> begin</b></p><p> process(sel)is</p><p><b> begin</b></p><p> case sel is</p>&
34、lt;p> when '0'=>a<=clk;</p><p> when '1'=>a<=key;</p><p> when others=>a<=clk;</p><p><b> end case;</b></p><p><
35、b> y<=a;</b></p><p> end process;</p><p> end architecture rtl;</p><p><b> 其模塊仿真圖為:</b></p><p><b> 整點報時模塊</b></p><p&
36、gt; library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity alert is</p><p> port(clk:in std_logic;</p>&
37、lt;p> d:in std_logic_vector(3 downto 0);</p><p> en:in std_logic;</p><p> alarm:out std_logic);</p><p> end entity alert;</p><p> architecture rtl of alert is&l
38、t;/p><p> signal enalarm:std_logic;</p><p><b> begin</b></p><p> alarm<=enalarm;</p><p> process(clk,en,d)</p><p><b> begin</b>
39、;</p><p> if(en='1')then</p><p> enalarm<=clk;</p><p><b> end if;</b></p><p> if(d="0101")then</p><p> enalarm<=
40、39;0'; </p><p><b> end if;</b></p><p> end process;</p><p> end architecture rtl;</p><p><b> 其模塊仿真圖為:</b></p><p><b>
41、 譯碼顯示模塊</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity deled is</p><p>
42、port(num: in std_logic_vector(3 downto 0);</p><p> led:out std_logic_vector(6 downto 0));</p><p> end entity deled;</p><p> architecture rtl of deled is</p><p><b
43、> begin</b></p><p> led<="1111110"when num="0000"else</p><p> "0110000"when num="0001"else </p><p> "1101101"when n
44、um="0010"else</p><p> "1111001"when num="0011"else</p><p> "0110011"when num="0100"else</p><p> "1011011"when num=&quo
45、t;0101"else</p><p> "1011111"when num="0110"else</p><p> "1110000"when num="0111"else</p><p> "1111111"when num="1000&
46、quot;else</p><p> "1111011"when num="1001"else</p><p> "1110111"when num="1010"else</p><p> "0011111"when num="1011"el
47、se</p><p> "1001110"when num="1100"else</p><p> "0111101"when num="1101"else</p><p> "1001111"when num="1110"else</
48、p><p> "1000111"when num="1111";</p><p> end architecture rtl;</p><p><b> 其模塊仿真圖為:</b></p><p><b> 總仿真圖為:</b></p><
49、;p><b> 六、總結</b></p><p> 這次數(shù)字鐘的設計綜合運用了VHDL語言,提高與加強了自己的VHDL語言的運用能力,加強了對語法,詞法,結構的理解,以及對硬件結構的理解。同時,認識到課程設計是一個細致,需要耐心的過程,如果考慮不夠可能導致能個結構錯誤,所以設計前需要認真的思考結構,語句是否有錯誤,及時改正才能提高效率,所以嚴謹?shù)膽B(tài)度與扎實的知識是設計成功的關鍵。&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計--數(shù)字鐘電子鐘
- 電子鐘課程設計----數(shù)字電子鐘的設計
- 數(shù)字電子鐘課程設計報告
- 數(shù)字電子鐘課程設計報告
- 數(shù)字電子鐘課程設計報告
- 數(shù)字電子鐘課程設計報告
- 數(shù)字電子鐘設計課程設計報告
- 課程設計---數(shù)字電子鐘設計報告
- 課程設計--數(shù)字電子鐘設計報告
- 課程設計---數(shù)字電子鐘設計報告
- 課程設計----數(shù)字電子鐘設計報告
- 數(shù)字電子鐘課程設計
- 數(shù)字電子鐘課程設計
- 課程設計---數(shù)字電子鐘
- 數(shù)字電子鐘課程設計
- 數(shù)字電子課程設計---數(shù)字鐘
- 數(shù)字電子鐘課程設計
- 數(shù)字電子鐘課程設計
- eda課程設計報告---數(shù)字電子鐘
- 單片機電子鐘課程設計---數(shù)字電子鐘
評論
0/150
提交評論