EDA-數(shù)字秒表設(shè)計_第1頁
EDA-數(shù)字秒表設(shè)計_第2頁
EDA-數(shù)字秒表設(shè)計_第3頁
EDA-數(shù)字秒表設(shè)計_第4頁
EDA-數(shù)字秒表設(shè)計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電 子 設(shè) 計 自 動 化大 作 業(yè)題目數(shù)字秒表設(shè)計學(xué)院控制科學(xué)與工程學(xué)院班級自動化 0803 姓名學(xué)號二 oo 一一年五月十二日題 目:數(shù)字秒表的設(shè)計一、設(shè)計要求:(1) 數(shù)字秒表的計時精度是10ms; (2)復(fù)位開關(guān)可以在任何情況下使用,計時在計時過程中,只要按一下復(fù)位開關(guān),計時器就清零,并做好下次計時的準(zhǔn)備;(3)具有啟 / 停開關(guān),即按一下啟 / 停開關(guān),啟動計時器開始計時,再按一下啟 / 停開關(guān)則停止計時。(4) 數(shù)字秒表的計時范圍是0 秒59分秒,顯示的最長時間為59 分59 秒二、總體設(shè)計:1、總體結(jié)構(gòu)圖輸入sel 模塊選通過 3-8 譯碼輸入到 choice 中2、各模塊功能1

2、)sel模塊:將掃描信號輸給選擇(choice) 模塊2)選擇模塊:按掃描信號的指定選擇輸出3)3-8 譯碼模塊:通過 sel給的信號來控制 8 位數(shù)碼管位的亮滅4)計時模塊:分別對毫秒,秒,分計時 5) 顯示模塊:通過 choice 模塊的輸出信號來控制時鐘控 制 選 擇 模通過數(shù)據(jù)的編碼控制數(shù)三、單元模塊設(shè)計1、模塊名 : sel模塊設(shè)計(1)模塊功能 : clk 為掃描時鐘脈沖, selout 端不停的發(fā)出掃描到的信號(2)端口定義 : clk 為信號輸入端 selout2.0為選擇到的信號輸出(3)vhdl 源程序library ieee;use sel is port(clk: in

3、 std_logic; selout: out std_logic_vector(2 downto 0);end sel;architecture one of sel is signal count: std_logic_vector(2 downto 0);begin process(clk) begin if clkevent and clk=1 then if (count=101) then count=000; else count=count+1; end if; end if; end process; selout=count; end one;(4)仿真結(jié)果說明:來一個上升

4、沿, selout 的值增 1,可以證明模塊是正確的。2、模塊名 : 選擇模塊設(shè)計(1)模塊功能 :按掃描信號的指定選擇輸出(2)端口定義 : a,b,c為控制信號; data13.0, data23.0, data33.0, data43.0, data53.0, data63.0分別是毫秒的低位,毫秒的高位,秒的低位,秒的高位,分的低位,分的高位的數(shù)據(jù)值; ch_out3.0為選擇輸出端。(3)vhdl 源程序library ieee;use choice isport(a,b,c:in std_logic;data1,data2,data3,data4,data5,data6:in st

5、d_logic_vector(3 downto 0);ch_out:out std_logic_vector( 3 downto 0);end choice;architecture behave of choice issignal ch:std_logic_vector(2 downto 0); beginch(2)=c;ch(1)=b;ch(0)ch_outch_outch_outch_outch_outch_out null;end case; end process;end behave;(4)仿真結(jié)果說明:abc的值遞增,ch_out選擇輸出data1,data2,data3,da

6、ta4,data5,data6的值,證明模塊是正確的3、模塊名 : 3-8譯碼模塊設(shè)計(1)模塊功能 :通過 sel給的信號來控制 8 位數(shù)碼管位的亮滅。(2)端口定義 : 輸入端 sel2.0 值大小來選擇輸出q的值輸出端 q7.0 來控制燈哪位亮(3)vhdl 源程序library ieee;use decode3_8 isport(sel: in std_logic_vector(2 downto 0);q : out std_logic_vector(7 downto 0);end decode3_8;architecture a of decode3_8 isbeginq = whe

7、n sel = 0 else when sel = 1 else when sel = 2 else when sel = 3 else when sel = 4 else when sel = 5 else ;end a;(4)仿真結(jié)果說明: sel 的值遞增, q的相應(yīng)位會亮,證明模塊是正確的。41 模塊名: 毫秒計時模塊設(shè)計(1)模塊功能 :對毫秒位的計數(shù)(2)端口定義 : clk為信號時鐘輸入端 reset為復(fù)位端 pause為暫停端 co為進(jìn)位信號輸出端 qh:毫秒信號的高位輸出端 ql: 毫秒信號的低位輸出端(3)vhdl 源程序library ieee;use m100 ispo

8、rt(clk:in std_logic;reset:in std_logic;pause:in std_logic;co:out std_logic;qh:buffer std_logic_vector(3 downto 0);ql:buffer std_logic_vector(3 downto 0);end m100;architecture behave of m100 isbeginco=1 when (qh=1001 and ql=1001) else 0; process(clk,reset,pause)beginif(reset=0) thenqh=0000;ql=0000;el

9、sif(pause=0)then qh=qh; ql=ql;elsif (clkevent and clk=1) thenif (ql=1001) thenql=0000;if (qh=1001) thenqh=0000; else qh=qh+1;end if; else ql=ql+1;end if;end if; end process;end behave;(4)仿真結(jié)果說明:毫秒為 100進(jìn)制,高位和地位都是10進(jìn)制,高位到 10 會有進(jìn)位,可以證明模塊的正確性模塊名 : 秒計時模塊設(shè)計(1)模塊功能 :對毫秒位的計數(shù)(2)端口定義 : clk為信號時鐘輸入端 reset為復(fù)位端 p

10、ause為暫停端 co為進(jìn)位信號輸出端 qh:毫秒信號的高位輸出端 ql: 毫秒信號的低位輸出端(3)vhdl 源程序library ieee;use m60_sec isport(reset:in std_logic; pause:in std_logic;ci:in std_logic;co:out std_logic;qh:buffer std_logic_vector(3 downto 0);ql:buffer std_logic_vector(3 downto 0);end m60_sec;architecture behave of m60_sec isbegin co=1 whe

11、n (qh=0101 and ql=1001 and ci=1) else 0;process(reset,pause,ci)beginif(reset=0) thenqh=0000;ql=0000; elsif(pause=0)then qh=qh; ql=ql; elsif (cievent and ci=1) thenif (ql=1001) thenql=0000;if (qh=0101) thenqh=0000; else qh=qh+1;end if; else ql=ql+1;end if;end if;end process;end behave;(4)仿真結(jié)果說明:秒進(jìn)制為

12、60 進(jìn)制,高位到 6 會有進(jìn)位,低位為 10 進(jìn)制,可以證明模塊的正確性模塊名 : 分計時模塊設(shè)計(1)模塊功能 :對毫秒位的計數(shù)(2)端口定義 : clk為信號時鐘輸入端 reset為復(fù)位端 pause為暫停端 co為進(jìn)位信號輸出端 qh:毫秒信號的高位輸出端 ql: 毫秒信號的低位輸出端(3)vhdl 源程序library ieee;use m60_min isport(reset:in std_logic; pause:in std_logic; ci:in std_logic;qh:buffer std_logic_vector(3 downto 0); ql:buffer std_

13、logic_vector(3 downto 0);end m60_min;architecture behave of m60_min isbeginprocess(reset,pause,ci)beginif(reset=0) thenqh=0000;ql=0000;elsif(pause=0)then qh=qh; ql=ql; elsif (cievent and ci=1) thenif (ql=1001) thenql=0000;if (qh=0101) then qh=0000; else qh=qh+1; end if; else qlq_showq_showq_showq_sh

14、owq_showq_showq_showq_showq_showq_shownull;end case;end process;end behave;(4)仿真結(jié)果說明:隨著 adr 的值增加,q_show輸出相應(yīng)的值,數(shù)碼管相應(yīng)的段會亮,證明模塊是正確的四、數(shù)字秒表 整體組裝1、頂層原理圖1. 工作情況輸入信號經(jīng)過分頻器輸給計時模塊,計時模塊的各位輸給選擇(choice) 模塊,選擇模塊選擇輸出,再經(jīng)過轉(zhuǎn)碼(bcd_7)模塊控制數(shù)碼管段的亮滅;輸入信號的另一路經(jīng)過分頻器給掃描(sel)模塊,sel的輸出信號一方面給 choice 模塊提供提供選擇信號, 另一方面又給譯碼器(decode3_8) 模塊提供譯碼信號來控制燈位的亮滅。,pause 和reset 分別控制暫停和復(fù)位。 2. 模塊間的連接關(guān)系:掃 描 (sel) 模塊 的 輸 出端接 譯 碼(decode3_8) 模 塊和 選 擇(choice) 模塊,計時模塊接選擇(choice) 模塊,選擇 (choice) 模塊將選到的信號給轉(zhuǎn)碼 (bcd_7)模塊控制數(shù)碼管段的亮滅2、仿真結(jié)果說明:輸入信號后,數(shù)碼管會不停的被掃描,段和位會選擇亮,可以證明模塊的正確性管腳分配:管腳編號管腳定義管腳編號管腳定義153clk50mh

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論