版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課 程 設(shè) 計(jì)題 目 數(shù)字秒表設(shè)計(jì) 院 系 信息工程學(xué)院 班級 姓名 指導(dǎo)教師 - 12 -目錄第1章 :系統(tǒng)設(shè)計(jì)要求.3第2章 :實(shí)驗(yàn)?zāi)康?3第3章 :實(shí)驗(yàn)原理.3第4章 :系統(tǒng)設(shè)計(jì)方案.3第5章 :主要VHDL源程序.4 1) 十進(jìn)制計(jì)數(shù)器的VHDL源程序.42) 六進(jìn)制計(jì)數(shù)器的VHDL源程序.5 3)蜂鳴器的VHDL源程序.5 4)譯碼器的VHDL源程序.65)控制選擇器的VHDL源程序.76)元原件例化的VHDL源程序.8第六章:系統(tǒng)仿真.10第七章:系統(tǒng)擴(kuò)展思路.11第八章:設(shè)計(jì)心得總結(jié).11數(shù)字秒表的設(shè)計(jì)1、 系統(tǒng)設(shè)計(jì)要求 1.秒表共有6個輸出顯示,分別為百分之一秒、十分之一秒、秒
2、、十秒、分、十分,所以共有6個計(jì)數(shù)器與之相對應(yīng),6個計(jì)數(shù)器的輸出全都為BCD碼輸出,這樣便于和顯示譯碼器的連接。當(dāng)計(jì)時達(dá)60分鐘后,蜂鳴器鳴響10聲。 2.整個秒表還需有一個啟動信號和一個歸零信號,以便秒表能隨意停止及啟動。 3.秒表的邏輯結(jié)構(gòu)較簡單,它主要由顯示譯碼器、分頻器、十進(jìn)制計(jì)數(shù)器、六進(jìn)制計(jì)數(shù)器和報警器組成。在整個秒表中最關(guān)鍵的是如何獲得一個精確的100HZ計(jì)時脈沖。2、 實(shí)驗(yàn)?zāi)康耐ㄟ^本次課設(shè),加深對EDA技術(shù)設(shè)計(jì)的理解,學(xué)會用Quartus工具軟件設(shè)計(jì)基本電路,熟練掌握VHDL語言,為以后工作使用打下堅(jiān)實(shí)的基礎(chǔ)。3、 實(shí)驗(yàn)原理秒表由于其計(jì)時精確,分辨率高(0.01秒),在各種競技場
3、所得到了廣泛的應(yīng)用。秒表的工作原理與數(shù)字時基本相同,唯一不同的是秒表的計(jì)時時鐘信號,由于其分辨率為0.01秒,所以整個秒表的工作時鐘是在100Hz的時鐘信號下完成。當(dāng)秒表的計(jì)時小于1個小時時,顯示的格式是mm-ss-xx(mm表示分鐘:059;ss表示秒:059;xx表示百分之一秒:099),當(dāng)秒表的計(jì)時大于或等于一個小時時,顯示的和多功能時鐘是一樣的,就是hh-mm-ss(hh表示小時:099),由于秒表的功能和鐘表有所不同,所以秒表的hh表示的范圍不是023,而是099,這也是和多功能時鐘不一樣的地方。在設(shè)計(jì)秒表的時候,時鐘的選擇為100Hz。變量的選擇:因?yàn)閤x(0.01秒)和hh(小時
4、)表示的范圍都是099,所以用兩個4位二進(jìn)制碼(BCD碼)表示;而ss(秒鐘)和mm(分鐘)表示的范圍是059,所以用一個3位的二進(jìn)制碼和一個4位的二進(jìn)制碼(BCD)碼表示。顯示的時候要注意的問題就是小時的判斷,如果小時是00,則顯示格式為mm-ss-xx,如果小時不為00,則顯示hh-mm-ss。4、 系統(tǒng)設(shè)計(jì)方案秒表的邏輯結(jié)構(gòu)較簡單,它主要由顯示譯碼器、分頻器、十進(jìn)制計(jì)數(shù)器、六進(jìn)制計(jì)數(shù)器和報警器組成。四個10進(jìn)制計(jì)數(shù)器:用來分別對百分之一秒、十分之一秒、秒和分進(jìn)行計(jì)數(shù);兩個6進(jìn)制計(jì)數(shù)器:用來分別對十秒和十分進(jìn)行計(jì)數(shù);分頻器:用來產(chǎn)生100HZ計(jì)時脈沖;顯示譯碼器:完成對顯示的控制。 根據(jù)電
5、路持點(diǎn),用層次設(shè)計(jì)概念將此設(shè)計(jì)任務(wù)分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口。按適配劃分后的管腳定位,同相關(guān)功能塊硬件電路接口連線。用VHDL語言描述所有底層模塊。清零信號為異步清零。當(dāng)最高位記到6時 停止計(jì)數(shù) 顯示譯碼器全部顯示零,并發(fā)出十聲警報聲。按下復(fù)位按鈕后繼續(xù)計(jì)數(shù)。數(shù)字秒表擬由單片的CPLD/FPGA來實(shí)現(xiàn),經(jīng)分析設(shè)計(jì)要求,擬定整個系統(tǒng)由10個模塊組成,原理圖如下:5、 主要VHDL源程序1. 十進(jìn)制計(jì)數(shù)器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entit
6、y count10 isport (clk,start,clr : in std_logic;cout : out std_logic;daout : out std_logic_vector(3 downto 0);end count10;architecture one of count10 issignal q0 : std_logic_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr='1' then q0<="0000"elsif ( clk
7、39;event and clk='1') thenif start='1' then if q0="1001" then q0<="0000"q1<='1' else q0<=q0+1;q1<='0' end if;end if;end if;end process;daout<= q0;cout<=q1;end one;2. 六進(jìn)制計(jì)數(shù)器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.
8、std_logic_unsigned.all;entity count6 isport (clk,start,clr : in std_logic;cout : out std_logic;daout : out std_logic_vector(3 downto 0);end count6;architecture two of count10 issignal q0 : std_logic_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr='1' then q0<=&qu
9、ot;0000"elsif ( clk'event and clk='1') thenif start='1' then if q0="0101" then q0<="0000"q1<='1' else q0<=q0+1;q1<='0' end if;end if;end if;end process;daout<= q0;cout<=q1;end two;3. 蜂鳴器的VHDL源程序library ieee;use ieee.std_l
10、ogic_1164.all;use ieee.std_logic_unsigned.all;entity alarm isport(clk,I:in std_logic; q:out std_logic );end alarm;architecture ar of alarm issignal n:integer range 0 to 20;signal q0:std_logic;beginprocess(clk)begin if clk'event and clk='1'thenif i='0' then q0<='0'n<
11、=0;elsif n<=19 and i='1' thenq0<=not q0;n<=n+1;else q0<='0'end if;end if;end process;q<=q0;end ar;4. 譯碼器的VHDL源程序library ieee; use ieee.std_logic_1164.all; entity deled is port(num:in std_logic_vector(3 downto 0); led:out std_logic_vector(6 downto 0); end deled ; archit
12、ecture a of deled is begin process(num) begin case num is when"0000"=>led<="0111111" when"0001"=>led<="0000110" when"0010"=>led<="1011011" when"0011"=>led<="1001111" when"0100"=>led&l
13、t;="1100110" when"0101"=>led<="1101101" when"0110"=>led<="1111101" when"0111"=>led<="0100111" when"1000"=>led<="1111111" when"1001"=>led<="1101111" when others=
14、>led<="0000000" end case; end process; end a;5. 控制選擇器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime isport(clr,clk: in bit; dain0,dain1,dain2,dain3,dain4,dain5: in std_logic_vector(3 downto 0); sel: out std_logic_vector(2 downto 0); da
15、out: out std_logic_vector(3 downto 0);end seltime;architecture a of seltime is signal temp:integer range 0 to 5;begin process(clk) begin if (clr='1') then daout<="0000" sel<="000" temp<=0; elsif (clk='1'and clk'event) then if temp=5 then temp<=0; e
16、lse temp<=temp + 1; end if; case temp is when 0=>sel<="000"daout<=dain0; when 1=>sel<="001"daout<=dain1; when 2=>sel<="010"daout<=dain2; when 3=>sel<="011"daout<=dain3; when 4=>sel<="100"daout<=dain4; w
17、hen 5=>sel<="101"daout<=dain5; end case; end if; end process;end a;6. 分頻器的VHDL源程序library ieee;use ieee.std_logic_1164.all;entity div isport(clr,clk: in std_logic; q: buffer std_logic);end div;architecture a of div is signal count:integer range 0 to 99999; beginprocess(clr,clk)begi
18、nif (clk'event and clk='1') thenif clr='1' thencount<=0;elsif count=99999 thencount<=0;q<= not q;elsecount<=count+1;end if;end if;end process;end a;7. 元原件例化的VHDL源程序library ieee;use ieee.std_logic_1164.all;entity mb_top isport ( stop,start,clk:in std_logic; a,b,c,d,e,f
19、,g,speaker:out std_logic; sel:out std_logic_vector(2 downto 0);end mb_top;architecture a of mb_top iscomponent divport(clr,clk: in std_logic; q: buffer std_logic);end component;component count10port( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end compon
20、ent;component count6 port( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end component;component seltimeport( clr,clk:in std_logic; dain1:in std_logic_vector(3 downto 0); dain2:in std_logic_vector(3 downto 0); dain3:in std_logic_vector(3 downto 0); dain4:i
21、n std_logic_vector(3 downto 0); dain5:in std_logic_vector(3 downto 0); dain6:in std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0); daout:out std_logic_vector(3 downto 0);end component;component deledport( num:in std_logic_vector(3 downto 0); led:out std_logic_vector(6 downto 0);end
22、component;component alarmport( clk,i:in std_logic; q:out std_logic);end component;signal div_q,b_cout,s_cout,m_cout,sm_cout,f_cout,sf_cout:std_logic;signal b_daout,s_daout,m_daout,sm_daout,f_daout,sf_daout,seltime_daout:std_logic_vector(3 downto 0);signal ledout:std_logic_vector(6 downto 0);begina&l
23、t;=ledout(0);b<=ledout(1);c<=ledout(2);d<=ledout(3);e<=ledout(4);f<=ledout(5);g<=ledout(6);u1:div port map(stop,clk,div_q);u2:count10 port map(stop,start,div_q,b_cout,b_daout);u3:count10 port map(stop,start,b_cout,s_cout,s_daout);u4:count10 port map(stop,start,s_cout,m_cout,m_daout
24、);u5:count6 port map(stop,start,m_cout,sm_cout,sm_daout);u6:count10 port map(stop,start,sm_cout,f_cout,f_daout);u7:count6 port map(stop,start,f_cout,sf_cout,sf_daout);u8:seltime port map(stop,div_q,b_daout,s_daout,m_daout,sm_daout,f_daout,sf_daout,sel,seltime_daout);u9:deled port map(seltime_daout,ledout);u10:alarm port map(div_q,sf_cout,speaker);end a;6、 系統(tǒng)仿真1. 十進(jìn)制2. 六進(jìn)制3. 蜂鳴器4. 譯碼器5. 控制選擇器7、 系統(tǒng)擴(kuò)展思路根據(jù)實(shí)驗(yàn)的內(nèi)容可以適當(dāng)?shù)奶砑右恍┯袑?shí)際作用和可行性的功能,如可以記錄并顯示多個數(shù)據(jù)。根據(jù)擴(kuò)展的內(nèi)容設(shè)計(jì)相應(yīng)的電路和模塊來完成擴(kuò)展的內(nèi)容。比如記錄和顯示多個數(shù)據(jù),可以用多個秒表進(jìn)行計(jì)數(shù),在秒表電路的后面可以添加
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 救災(zāi)設(shè)施建筑施工合同2篇
- 操作員授權(quán)委托3篇
- 工業(yè)涂裝設(shè)備安裝工程合同書3篇
- 擋土墻建設(shè)勞務(wù)分包合同3篇
- 旅游公司導(dǎo)游服務(wù)合同模板3篇
- 新版醫(yī)療服務(wù)合同3篇
- 砂石銷售合同簽訂合同簽訂技巧
- 制造業(yè)總經(jīng)理招聘合同細(xì)則
- 城市供水管道加固工程施工合同
- 風(fēng)景區(qū)塔吊駕駛員雇傭協(xié)議
- 管道巡護(hù)管理
- 2024-2024年高考全國卷英語語法填空
- 第17課《貓》課件+【知識精研】統(tǒng)編版語文七年級上冊
- 專題01:新聞作品-2023-2024學(xué)年八年級語文上冊單元主題閱讀(統(tǒng)編版)(原卷版+解析)
- 湖北省武漢市東湖高新區(qū)2023-2024學(xué)年七年級上學(xué)期期末語文試題(解析版)
- 《風(fēng)險評估培訓(xùn)》課件
- 服裝行業(yè)智能工廠整體解決方案
- (完整版)todo,doingsth初中魔鬼訓(xùn)練帶答案
- 防止返貧監(jiān)測工作開展情況總結(jié)范文
- 2015年度設(shè)備預(yù)防性維護(hù)計(jì)劃表
- 淺談離子交換樹脂在精制糖行業(yè)中的應(yīng)用
評論
0/150
提交評論