版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告電子搶答器設(shè)計(jì) 課程:可編程器件及應(yīng)用課程設(shè)計(jì)班級(jí): 2012142216姓名:曹勤 陳有玲 陳淑媛指導(dǎo)教師: 黃林2014年 11月 20日目 錄1課題背景 - 31.1 設(shè)計(jì)的目的 -31.2 系統(tǒng)功能及要求 -32程序功能模塊組成及流程圖 -4 2.1 程序功能模塊組成-4 2.2 程序流程圖-43程序代碼及模塊分析 -44運(yùn)行結(jié)果-125實(shí)驗(yàn)現(xiàn)象-166總結(jié)與體會(huì) -18 1課題背景EDA及電子設(shè)計(jì)自動(dòng)化,是指使用計(jì)算機(jī)自動(dòng)完成電子系統(tǒng)的設(shè)計(jì),應(yīng)用EDA技術(shù)進(jìn)行電子產(chǎn)品的設(shè)計(jì)已成為當(dāng)今電子工程師的一項(xiàng)基本技。隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的飛速發(fā)展,新的高度集成的電子設(shè)計(jì)方法不斷
2、推出,電子產(chǎn)品的性能越來越高,更新的速度也越來越快,與此同時(shí),市場(chǎng)對(duì)電子產(chǎn)品的設(shè)計(jì)提出了更為嚴(yán)格的要求,從而促進(jìn)了電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)的迅速發(fā)展在多項(xiàng)競(jìng)賽及節(jié)目上都用到電子搶答器,他們搶答所使用的搶答器就是我這次要做的課程設(shè)計(jì)的內(nèi)容。有了搶答器會(huì)使選手間更加公平、公正、公開,也方便了主持人對(duì)現(xiàn)場(chǎng)的主持。1.1設(shè)計(jì)的目的本次課程設(shè)計(jì)的目的是在學(xué)習(xí)完EDA課程的基礎(chǔ)上,運(yùn)用EDA的知識(shí)即VHDL語言,編寫程序來實(shí)現(xiàn)此次我設(shè)計(jì)的電子搶答器所要實(shí)現(xiàn)的功能,不僅會(huì)編寫程序,還要能夠在實(shí)驗(yàn)室中檢測(cè)我所編寫的程序是否能夠達(dá)到預(yù)期的目的。1.2系統(tǒng)功能及要求(1)優(yōu)先編碼器電路立即分辨出搶答者編號(hào),并
3、由鎖存器進(jìn)行鎖存,然后由譯碼顯示電路顯示編號(hào);(2)揚(yáng)聲器發(fā)出短暫聲響,提醒主持人注意;(3)控制電路要對(duì)輸入編碼電路進(jìn)行封鎖,避免其他選手再次進(jìn)行搶答;(4)當(dāng)選手將問題回答完畢,主持人操作計(jì)分開關(guān),計(jì)分電路采用十進(jìn)制加/減計(jì)數(shù)器、數(shù)碼管顯示。本輪搶答完畢,主持人操作控制開關(guān),使系統(tǒng)回復(fù)到禁止工作狀態(tài),以便進(jìn)行下一輪搶答。2程序功能模塊組成及流程圖2.1程序功能模塊組成本程序主要設(shè)計(jì)了七個(gè)模塊,分別是: 1.搶答鑒別模塊 2.計(jì)時(shí)模塊 3.數(shù)據(jù)選擇模塊 4.報(bào)警模塊 5.譯碼模塊 6.計(jì)分模塊 7.控制模塊2.2程序流程圖鑒別計(jì)時(shí)控制數(shù)據(jù)選擇報(bào)警譯碼計(jì)分主持人選手顯示3.程序代碼及模塊分析3
4、.1搶答鑒別模塊鑒別鎖存模塊的關(guān)鍵是準(zhǔn)確判斷出第一搶答者并將其鎖存,實(shí)現(xiàn)的方法可使用觸發(fā)器或鎖存器,在得到第一信號(hào)后將輸入封鎖,使其它組的搶答信號(hào)無效。形成第一搶答信號(hào)后,用編碼、譯碼及數(shù)碼顯示電路顯示第一搶答者的組號(hào)并啟動(dòng)答題計(jì)時(shí)電路。搶答鑒別電路可以由VHDL程序來實(shí)現(xiàn),以下是一斷搶答鑒別的VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity identify is port(ret,clk:in std_logic; a0,a1,a2,a3:in std_logic;
5、states:buffer std_logic_vector(3 downto 0); tmp:out std_logic);end identify;architecture behav of identify issignal st:std_logic_vector(3 downto 0);beginprocess(clk , ret,a0, a1,a2,a3)beginif ret='1' then tmp<='0'st<="0000"elsif clk'event and clk='1' theni
6、f (a0='1' or st(0)='1')and not( st(1)='1' or st(2)='1' or st(3)='1' ) then st(0)<='1'end if ;if (a1='1' or st(1)='1')and not( st(0)='1' or st(2)='1' or st(3)='1' ) then st(1)<='1'end if ;if (a2='
7、;1' or st(2)='1')and not( st(0)='1' or st(1)='1' or st(3)='1' ) then st(2)<='1'end if ; if (a3='1' or st(3)='1')and not( st(0)='1' or st(1)='1' or st(2)='1' ) then st(3)<='1'end if ;tmp<=st(0) or st(
8、1) or st(2) or st(3);end if ;end process;process(states(0),states(1),states(2),states(3)beginif (st="0000") then states<="0000" elsif (st<="0001") then states<="0001"elsif (st<="0010") then states<="0010" elsif (st<="
9、0100") then states<="0011"elsif (st<="1000") then states<="0100" end if; end process;end behav;3.2計(jì)時(shí)模塊搶答計(jì)時(shí)模塊的任務(wù)是當(dāng)主持人啟動(dòng)這個(gè)計(jì)時(shí)開關(guān)時(shí)開始計(jì)時(shí),如果在規(guī)定的時(shí)間內(nèi)答完題則答題有效,如果在規(guī)定的時(shí)間內(nèi)沒有完成,則答題無效。計(jì)時(shí)器從規(guī)定的時(shí)間倒計(jì)時(shí),計(jì)時(shí)為零時(shí)計(jì)時(shí)結(jié)束。答題有無效作憑主持人來判斷。計(jì)時(shí)電路可以由VHDL程序來實(shí)現(xiàn),以下是一段計(jì)時(shí)的VHDL程序:library ieee;use ie
10、ee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity timed isport(clk,ret,sin:in std_logic;time1,time2:buffer std_logic_vector(3 downto 0);warningg:out std_logic);end timed ;architecture behav of timed issignal co:std_logic;beginprocess(clk,ret,sin,time1)beginif ret='1' thentime1<
11、="0000"elsif clk'event and clk1='1' thenco<='0'if sin='1' then if time1="0000" thentime1<="1001"co<='1'else time1<=time1-1; end if; end if;end if;end process ;process(co,ret,sin,time2)beginif ret='1' thentime2<=
12、"0010"elsif co'event and co='1' thenif sin='1' thenif time2="0000" then time2<="0010" else timee2<=time2-1;end if;end if;end if; if(time1="0000" and time2="0000") thenwarning<='1'else warning<='0'end if
13、;end process;end behav;3.3數(shù)據(jù)選擇模塊輸入三路信號(hào),上升沿到來時(shí)count加一,當(dāng)count=“00“時(shí),選擇in1路信;當(dāng)count=“01“時(shí),選擇in2路信號(hào);當(dāng)count=“10“時(shí),選擇c路信號(hào);等于其他信號(hào)時(shí)無操作。數(shù)據(jù)選擇電路可以由VHDL程序來實(shí)現(xiàn),以下是一段數(shù)據(jù)選擇的VHDL程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity selecte is port (in1,in2,in
14、3: in std_logic_vector(3 downto 0); clk,ret: in std_logic; s: out std_logic_vector(1 downto 0); y: out std_logic_vector(3 downto 0) );end selecte;architecture behav of selecte is signal count: std_logic_vector (1 downto 0); begin s<=count;process(clk,ret) begin if(ret='1')then count<=&
15、quot;00" elsif(clk'event and clk='1')then if(count>="10")then count<="00" else count<=count+1; end if; end if; case count is when "00"=>y<=in1; when "01"=>y<=in2; when "10"=>y<=in3; when others=>null; en
16、d case; end process;end behav;3.4報(bào)警模塊當(dāng)輸入信號(hào)無效或超時(shí)時(shí)就啟動(dòng)報(bào)警模塊計(jì)。報(bào)警電路可以由VHDL程序來實(shí)現(xiàn),以下是一段報(bào)警的VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reporte isport(clk,l:in std_logic; q:out std_logic);end reporte;architecture behav of reporte is begin process(l,clk) begin if l=
17、39;0' then q <='0' elsif l='1' then q<=clk; end if;end process;end behav;3.5譯碼模塊搶答成功后輸出選手組號(hào)。譯碼電路可以由VHDL程序來實(shí)現(xiàn),以下是一段譯碼的VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity translate is port(din: in std_logic_vector(3 downto 0); dout: out std_
18、logic_vector(6 downto 0);end translate;architecture behav of translate is begin process(din) begin case din is when "0000"=>dout<="1111110" -0 when "0001"=>dout<="0110000" -1 when "0010"=>dout<="1101101" -2 when "0011
19、"=>dout<="1111001" -3 when "0100"=>dout<="0110011" -4 when "0101"=>dout<="1011011" -5 when "0110"=>dout<="1011111" -6 when "0111"=>dout<="1110000" -7 when "1000"=>
20、;dout<="1111111" -8 when "1001"=>dout<="1111011" -9 when others=>dout<="0000000" end case; end process;end behav;3.6計(jì)分模塊當(dāng)選手回答完畢后,主持人判斷是否正確,酌情加分,若回答正確,加一分,否則不加分,也不減分。計(jì)分電路可以由VHDL程序來實(shí)現(xiàn),以下是一段計(jì)分的VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity jf isport(q:in bit; count:out std_logic_vector(3 downto 0);end jf;architecture behav of jf is signal temp:std_logic_vector(3 downto 0):="0000"beginprocess(q)beginif(q='1')then temp<=temp+1;end if;end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 居住小區(qū)機(jī)動(dòng)車停車管理服務(wù)協(xié)議
- 農(nóng)業(yè)生產(chǎn)技術(shù)風(fēng)險(xiǎn)免責(zé)協(xié)議
- 健康管理平臺(tái)服務(wù)協(xié)議
- 2025年合伙中介協(xié)議
- 2025年醫(yī)學(xué)器械代理協(xié)議
- 2025年醫(yī)療用品銷售協(xié)議
- 2025年全縣重點(diǎn)項(xiàng)目建設(shè)工作會(huì)議講話例文(3篇)
- 2025年小學(xué)二年級(jí)數(shù)學(xué)教學(xué)工作計(jì)劃范例(3篇)
- 地面變電所檢修工崗位責(zé)任制模版(2篇)
- 醫(yī)院感染管理質(zhì)控獎(jiǎng)罰制度模版(2篇)
- 10以內(nèi)連加減口算練習(xí)題完整版139
- 2022-2023學(xué)年廣東省廣州市海珠區(qū)六年級(jí)(上)期末英語試卷(含答案)
- 2024至2030年中國(guó)瀝青攪拌站行業(yè)市場(chǎng)現(xiàn)狀調(diào)研及市場(chǎng)需求潛力報(bào)告
- 《平凡的世界》整本書閱讀指導(dǎo)教學(xué)設(shè)計(jì)基礎(chǔ)模塊上冊(cè)
- 2024政務(wù)服務(wù)綜合窗口人員能力與服務(wù)規(guī)范考試試題
- (高清版)AQ 2002-2018 煉鐵安全規(guī)程
- 虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)
- 08J933-1體育場(chǎng)地與設(shè)施(一)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題庫及答案
- 課題論文:引領(lǐng)新經(jīng)濟(jì)加速新質(zhì)生產(chǎn)力發(fā)展
- 《五年級(jí)上冊(cè)科學(xué)蘇教版F》期末檢測(cè)
評(píng)論
0/150
提交評(píng)論