




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 J I A N G S U U N I V E R S I T Y數字邏輯課程設計 多功能數字鐘 學院名稱: 計算機科學與通信工程 專業班級: 通信0902 學生姓名: 學生學號: 指導老師: 趙念強 完成日期: 2011年7月2日 多功能數字鐘課程設計實驗報告一 實驗目的:1 學會應用數字系統設計方法進行電路設計;2 進一步提高quartusII 9.0軟件的開發應用能力;3 培養學生書寫綜合實驗報告的能力。二 實驗要求:1 根據實驗任務,選擇最佳設計方案,綜合運用quartusII 9.0軟件的各種設計方法設計出層次分明、結構清楚、電路優化、VHDL語言描述簡潔的完整設計文件。通過仿真直
2、至下載來驗證設計的正確性。三 實驗任務及要求1 能進行正常的時、分、秒計時功能(1) 用M6M5做24小時計數器的顯示器;(2) 用M4M3做60分鐘計數器的顯示器;(3) 用M2M1做60秒鐘計數器的顯示器。2 能利用實驗系統上的按鍵實現“校時”、“校分”功能(1) 按下“SA”鍵時,計時器迅速遞增,并按24小時循環,計滿23小時后再回00;(2) 按下“SB”鍵時,計時器迅速遞增,并按60分鐘循環,計滿59分鐘后再回00;但不向高位進位。(3) 按下“SC” 鍵后,秒清零。要求按下“SA”和“SB”均不會產生數字跳變(“SA”、“SB”按鍵是有抖動的,必須地“SA”、“SB”進行消抖處理,
3、 消抖電路用D觸發器構成。 原理:一個觸發器CP(64HZ)內,屏蔽所有的抖動脈沖)。(4) 計時(24進制計數器),計分(60進制計數器)、計秒(60進制計數器)模塊可由10進制計數器連接構成,也可用VHDL語言完成(可以參考教材P341,例8.2.1 多功能電子鐘的設計)。10進制計數器需自己設計(用VHDL語言,與所做實驗74160計數器相同),不能調用系統庫。(5) 其他如分頻電路、提供報時控制信號、鬧時電路等模塊用VHDL語言實現。3 能利用實驗板上的揚聲器作整點報時(1) 當計時到達5950”、 51”、 52”、 53”、54”、55”、 56”、 57”、 58”、59”鳴叫,
4、鳴叫聲頻可定為500HZ;(2) 到達00分00秒時為最后一聲整點報時。整點報時的頻率可定為1KHZ。報時信號從ISP1032的PIN68輸出,PIN68與揚聲器的輸入電路相連,激勵揚聲器;4 鬧時(1) 鬧時的最小時間間隔為十分鐘。(2) 鬧時長度為一分鐘。(3) 鬧時聲響可以是單頻。(4) 鬧時時聲響也可以是雙頻交替的警笛聲。5 使用quartusII 9.0軟件設計符合上述功能的多功能數字鐘,并用層次化設計方法設計該電路。6 報時功能。鬧時功能用功能仿真的方法驗證,可通過觀察有關波形確認電路設計是否正確。7. 使用設計思路-層次化的思想: 計時(間)模塊、時間校對模塊、報時模塊、分頻模塊
5、、動態顯示模塊(1)8. 完成全部電路設計后在EP1KTC144-3 實驗系統上下載,驗證設計的正確性。四頂層圖及相關模塊說明:1 頂層圖:說明:程序下載后自動進入計時狀態,sa,sb,sc可分別調時,分,秒。2.各模塊說明:(1)進制模塊: 1.十進制源程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ls160 is port ( data : in std_logic_vector(3 downto 0); clk,ld,p,t,clr : in std_logic; c
6、ount : buffer std_logic_vector(3 downto 0); tc:out std_logic);end ls160; architecture behavior of ls160 isbegintc<='1' when (count ="1001" and p='1' and t='1' and ld='1' and clr='1') else '0'cale: process(clk,clr,p,t,ld) begin if(rising_ed
7、ge(clk) then if(clk='1') then if(ld='1') then if(p='1') then if(t='1') then if(count="1001") then count<="0000" else count<=count+1; end if; else count<=count; end if; else count<=count; end if; else count<=data; end if; else count&l
8、t;="0000" end if; end if; end process cale;end behavior; 十進制生成器件 2. 二十四進制: 電路圖:生成器件: 3. 六十進制: 電路圖: 生成器件: 模塊說明:此計數器由兩個十進制計數器構成,片一的進位TC獨立與片二的P,T連在一起,并行連接成一百進制計數器,片一的P,T接高電平,兩片的CLK都接在同一輸入上,形成異步置零。片一上的AD,片二上的AC接入同一與非門,再接到兩片的LD上。H30構成十位,L30構成個位。 (2)DTSM模塊:dtsh源程序:library ieee;use ieee.std_logic
9、_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity dtsm is port(clk:in std_logic; s :in std_logic_vector(7 downto 0); f :in std_logic_vector(7 downto 0); m :in std_logic_vector(7 downto 0); selout:out std_logic_vector(5 downto 0); segout:out std_logic_vector(6 downto 0) );
10、end dtsm;architecture a of dtsm issignal number:std_logic_vector(3 downto 0);signal sel :std_logic_vector(5 downto 0);signal seg :std_logic_vector(6 downto 0);signal q :std_logic_vector(2 downto 0);begina:process(clk)beginif(clk'event and clk='1')thenq<=q+1;end if;end process a;proces
11、s(q)BeginIcase q is when"000"=>sel<="000001"when"001"=>sel<="000010"when"010"=>sel<="000100" when"011"=>sel<="001000"when"100"=>sel<="010000" when"101"=>sel&
12、lt;="100000"when others=>sel<="000000"end case;end process;processbegin if sel ="000001"then number<=m(3 downto 0); elsif sel="000010"then number<=m(7 downto 4); elsif sel="000100"then number<=f(3 downto 0); elsif sel="001000"
13、;then number<=f(7 downto 4); elsif sel="010000"then number<=s(3 downto 0); elsif sel="100000"then number<=s(7 downto 4); else number<="1111"end if;end process;process(number) begincase number is when"0000"=>seg<="0111111" when"
14、0001"=>seg<="0000110" when"0010"=>seg<="1011011" when"0011"=>seg<="1001111" when"0100"=>seg<="1100110" when"0101"=>seg<="1101101" when"0110"=>seg<="111110
15、1" when"0111"=>seg<="0000111" when"1000"=>seg<="1111111" when"1001"=>seg<="1101111" when others=>seg<="0000000"end case;end process; selout<=sel; segout<=seg;end a; 生成器件: 端口說明:s,f,m分別為時、分、秒的輸入端,定
16、義為std_logic_vector(7 downto 0);segout為七端顯示管的輸出,定義為std_logic_vector(6 downto 0);selout為掃描地址端,定義為std_logic_vector(5 downto 0),某一時刻只有一個為1,對應的數組號即為當前掃描的數碼管的編號。功能實現:定義一個std_signa_vector(2 downto 0)變量q,它在0至5之間不斷的循環,用來指示當前掃描的哪一根管, 循環用語句if q>=5 then q<="000" else q<=q+1;end if;實現。再定義一個類型為
17、std_logic_vector(5 downto 0)的sel信號,它用來產生一個長度為6的數,該數在同一時刻只有一位是高電平表示正在掃描該顯示管,在進程結束時它的值將賦給selout輸出。定義一個std_logic_vector(6 downto 0)類型的seg,用來存放將由四位bcd碼編碼而來的七段顯示碼。最后在進程中定義一個std_logic_vector(3 downto 0)類型的number變量,用來存放時、分、秒的高位或低位,然后將該數編碼成七段顯示碼,并賦給seg信號。具體算法如下:建立一個以clk脈沖為敏感變量的進程,先判斷是否是clk的高電平脈沖,若不是則什么也不執行,
18、若是高電平脈沖,則執行以下程序。P加1,用case語句根椐p的值,給number賦予當前要掃描的數碼管的值,用case語句根椐number的值編譯成對應的七段顯示管的值并賦給seg,當進程結束時把seg的值賦給segout,把sel的值賦給selout,然后由這兩個端口輸出。(3)分頻模塊:分頻器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fry is port(clk:in std_logic; hz512:ou
19、t std_logic; hz256:out std_logic; hz64:out std_logic; hz4:out std_logic; hz1:out std_logic ); end fry;architecture f of fry is signal q:std_logic_vector(9 downto 0); begin process(clk) begin if clk'event and clk='1'then q<=q+1; end if; end process; hz512<=q(0); hz256<=q(1); hz64
20、<=q(3); hz4<=q(7); hz1<=q(9);end f; 生成器件: (4)報時模塊: 報時器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity alert isport(m1,m0,s1,s0 : in std_logic_vector(3 downto 0); sig500,sig1k : out std_logic);end alert;architecture a of alert
21、issignal q : std_logic_vector(15 downto 0);signal s500,s1k : std_logic;beginq(15 downto 12)<=m1;q(11 downto 8)<=m0;q(7 downto 4)<=s1;q(3 downto 0)<=s0;hring : blockbegin s500<='1' when q="10000" else '1' when q="10010" else '1' when q="10100" else '1' when q="10110" else '1' when q="11000&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司月度獎懲活動方案
- 公司消防比賽活動方案
- 公司盆栽種植活動方案
- 公司相親對象活動方案
- 公司規模科普活動方案
- 公司現場招聘會策劃方案
- 公司組織溫泉玩活動方案
- 公司活動方案獎勵方案
- 公司行政生日會策劃方案
- 公司教育活動策劃方案
- T/CSPSTC 112-2023氫氣管道工程施工技術規范
- 當代世界政治經濟與國際關系 鄧澤宏課件第三章 奉行全球戰略的美國
- 2023年沈陽職業技術學院高職單招(數學)試題庫含答案解析
- 2022版義務教育(勞動)課程標準(含2022年修訂部分)
- 洛陽市中小學教師師德師風考核內容和評分細則
- 承包商資質審查表
- 應急救援物資檢查維護保養記錄表(月度)
- 機械原理課程設計-沖壓機構及送料機構設計說明書
- 押金收據條(通用版)
- [甘肅]最新甘肅省造價文件匯編(310頁)
- 鋼框架結構計算書畢業設計
評論
0/150
提交評論