版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 一:設(shè)計任務(wù)與要求</b></p><p> 秒表的邏輯結(jié)構(gòu)比較簡單,它主要由、顯示譯碼器、分頻器、十進制計數(shù)器、報警器和六進制計數(shù)器組成。在整個秒表中最關(guān)鍵是如何獲得一個精確的100Hz計時脈沖,除此之外,整個秒表還需要一個啟動信號和一個歸零信號,以便能夠隨時啟動及停止。秒表有六個輸出顯示,分別為百分之一秒,十分之一秒、秒、十秒、分、十分,所以共有6個計數(shù)
2、器與之對應(yīng),6個個計數(shù)器全為BCD碼輸出,這樣便于同時顯示譯碼器的連接。當(dāng)計時達60分鐘后,蜂鳴器鳴響10聲。</p><p><b> 二:設(shè)計原理</b></p><p> 本系統(tǒng)采用自上向下的設(shè)計方案,系統(tǒng)的整體設(shè)計組裝原理圖如圖2-1所示,它主要由控制模塊,時基分屏模塊,計時模塊和顯示模塊四部分組成。各模塊分別完成控制,分屏,計時和顯示的功能</p&
3、gt;<p> 圖2-1 設(shè)計原理圖</p><p><b> 程序模塊:</b></p><p> 1.分頻器代碼:將5MHZ分為100HZlibrary ieee;use ieee.std_logic_1164.all;entity div is port(clr,clk:
4、 in std_logic;q: buffer std_logic);end div;architecture a of div is signal counter:integer range 0 to 49999;begin process(clr,clk) begin
5、; if (clk='1' and clk'event) then if clr='1' then
6、; counter<=0; elsif counter=49999 then counter<=0;
7、; q<= not q; else counter<=counter+1;
8、 end if; end </p><p> 2.十進制計數(shù)器代碼:原理為加法計數(shù)器,計數(shù)十時由cout進位library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count
9、10 is port(clr,start,clk: in std_logic; cout: out std_logic; daout: out std_logic_vector(3 downto 0));
10、end count10;architecture a of count10 is signal temp:std_logic_vector(3 downto 0);begin process(clk,clr) begin &
11、#160; if clr='1' then temp<="0000";
12、; cout<='0'; elsif (clk'event and clk='1') then</p><p> 3.六進制計數(shù)器代碼:原理為加法計數(shù)器,計數(shù)六時由cout進位。library ieee;use ieee.std_logic_1164.all;
13、use ieee.std_logic_unsigned.all;</p><p> entity c6 is port(clr,start,clk: in std_logic; daout: out std_logic_vector(3 downto 0);
14、160; cout: out std_logic);end c6;</p><p> architecture a of c6 is signal temp:std_logic_vector(3 downto 0);begin process(clk,clr)
15、 begin if clr='1' then temp<="0000";
16、160; cout<='0'; elsif (clk'event and clk='1') then
17、 if start='1' then if temp="0110" then
18、0; temp<="0000"; cout<='1';
19、0; else temp<=temp+1; &
20、#160; cout<='0'; end
21、if; end if; </p><p> 4.數(shù)據(jù)選擇和數(shù)碼管選擇模塊代碼:其功能是選擇個計數(shù)端口來的數(shù)據(jù),當(dāng)相應(yīng)的數(shù)據(jù)到來時數(shù)據(jù)選擇器選擇器數(shù)據(jù)后輸出給數(shù)碼管,并由數(shù)碼管顯示。libr
22、ary ieee;use ieee.std_logic_1164.all;USE ieee.std_logic_UNSIGNED.all;</p><p> entity seltime is port(clr,clk: in std_logic; dain0,dain1,dain2,dain3,
23、dain4,dain5: in std_logic_vector(3 downto 0); sel: out std_logic_vector(2 downto 0); daout: out std_logic_vector(3 downto 0));end sel
24、time;</p><p> architecture a of seltime is signal temp:integer range 0 to 5;begin process(clk) begin
25、; if (clr='1') then daout<="0000";
26、 sel<="000"; temp<=0; elsif (clk='1'and clk&
27、#39;event) then if temp=5 then temp<=0; else te
28、mp<=temp + 1; end if; &
29、#160; case temp is when 0=>sel<="000";daout<=dain0;
30、0; when 1=>sel<="001";daout<=dain1; </p><p> 6.數(shù)碼管驅(qū)動模塊代碼:數(shù)碼管
31、驅(qū)動電路,驅(qū)動數(shù)碼管發(fā)光。library ieee; use ieee.std_logic_1164.all; </p><p> entity deled is port(num:in std_logic_vector(3 downto 0); led:o
32、ut std_logic_vector(6 downto 0)); end deled ; </p><p> architecture a of deled is begin process(num) begin
33、160; case num is when"0000"=>led<="0111111";
34、60; when"0001"=>led<="0000110"; when"0010"=>led<="1011011";
35、60; when"0011"=>led<="1001111"; when"0100"=>led<="1100110"
36、; when"0101"=>led<="1101101"; when"0110&q
37、uot;=>led<="1111101"; when"0111"=>led<="0100111";
38、 when"1000"=>led<="1111111"; when"1001"=>led<="1101</p><p><b>
39、 三:設(shè)計解決的問題</b></p><p> 本次設(shè)計的關(guān)鍵性問題是分頻,在分頻代碼段中可以看出我們本次采用的主頻率是5MHZ。1/100秒的頻率為100HZ所以只需要用5MHZ乘以1/50000即可得到100HZ的分頻信號,即1/100秒。數(shù)碼管顯示部分的關(guān)鍵就是弄清楚每個數(shù)字對應(yīng)的二進制代碼,比如“1”對應(yīng)的是0000110例化的時候我們一開始用VHDL語言例化,程序復(fù)雜而且老出編譯錯誤,后
40、來在老師的指導(dǎo)下采用原理圖做頂層設(shè)計問題迎刃而解。</p><p><b> 四:設(shè)計分工說明</b></p><p> 主程序設(shè)計,收集質(zhì)料——孫宜川</p><p> 程序修改調(diào)試,原理圖,測試數(shù)據(jù)——戰(zhàn)勃言</p><p> 主程序編寫,硬件調(diào)試——秦永凱</p><p> 元器件
41、例化,程序修改調(diào)試——陳軻</p><p><b> 仿真結(jié)果與分析</b></p><p><b> 一:測試數(shù)據(jù)選擇</b></p><p> 測試數(shù)據(jù)選擇為00:00:00——03:56:38</p><p><b> 二:仿真波形分析</b></p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 秒表課程設(shè)計
- 秒表課程設(shè)計
- 秒表課程設(shè)計-- 秒表系統(tǒng)的設(shè)計
- 秒表 課程設(shè)計
- 數(shù)字秒表課程設(shè)計
- 數(shù)字秒表課程設(shè)計
- 電子秒表 課程設(shè)計
- 鍵控秒表課程設(shè)計
- 數(shù)字秒表課程設(shè)計
- 電子秒表課程設(shè)計
- 數(shù)字秒表課程設(shè)計
- 多用秒表課程設(shè)計
- 電子秒表課程設(shè)計
- 課程設(shè)計-- 數(shù)字秒表
- 課程設(shè)計--數(shù)字秒表設(shè)計
- 課程設(shè)計---數(shù)字秒表設(shè)計
- eda課程設(shè)計--秒表設(shè)計
- 電子秒表課程設(shè)計
- 電子秒表課程設(shè)計
- 秒表課程設(shè)計報告
評論
0/150
提交評論