版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、四人搶答器一、摘要與概述 我國科技迅速發(fā)展,而電子行業(yè)這個新興產(chǎn)業(yè)的發(fā)展更是日新月異,在很多行業(yè)和競爭場合都要求有公正的快速的裁決,例如體育競技、證券、股票交易,以及各種智力競賽等。在現(xiàn)在社會中,智力競賽更是作為一種生動活潑的教育形式和方法來引起觀眾和參與者的極大地興趣,在各種各樣的競賽中,往往有幾組貨多組選手參加,這時當主持人針對某個問題提問時,選手們都要經(jīng)過比大河搶答,對于必答問題,一般都有時間限制,到時會有報警提示;對于搶答部分,先要判斷哪組先按鍵,為了公平,就要求人們能夠設計一種電路來充當裁判員,一般搶答電路由很多模塊組成,本課程設計介紹了一種實用的設計方法來實現(xiàn)四人搶答器,具有很強的
2、實用性與可行性。 本搶答器的主體中主要包括以下幾個模塊,即:搶答模塊、分頻模塊、計時模塊、選擇模塊、報警模塊。搶答器具有數(shù)據(jù)鎖存和顯示功能。搶答開始后,4個選手按動搶答按鈕,編號立即鎖存,數(shù)碼管上立即顯示數(shù)字,同時揚聲器給出生音提示;搶答器具有定時搶答功能,而且每次強大時間有限制,當主持人按下開始鍵時,定時器立即倒計時,參賽選手在限定的時間里進行搶答,若在倒計時結(jié)束后仍未有選手進行搶答,則開始報警,本次搶答無效。整個搶答器中,最最關(guān)鍵的一部就是如何實現(xiàn)搶答封鎖,在控制鍵按下時同時計數(shù)器開始倒計時顯示有效剩余時間,設為20s。在這以外,這個搶答器還必須包含一個使能信號,外加一個歸零信號,這樣做是
3、為了方便實現(xiàn)共平搶答和及時停止。這個搶答器有4個輸出結(jié)果顯示,選手代號,計數(shù)器的個位和十位等。他們的輸出結(jié)果要用bcd碼表示出來,這樣是為了便于顯示譯碼連接,便于主持人直接讀出結(jié)果。當主持人按下控制鍵、選手按下?lián)尨疰I或者倒計時結(jié)束時報警聲會暫時響起(報警聲暫時設為3秒)。除此之外,該電路還應有清0功能。二、方案闡述論證 在概述中,將該電路分為了5個模塊,然后編寫頂層文件,在本部分中,我們將詳細敘述該方案的各個部分功能及其實現(xiàn)。.、在搶答模塊中,應該包含四個搶答信號a,b,c,d,搶答時能信號s, 搶答狀態(tài)信號state, 搶答與報警時鐘clk2,系統(tǒng)復位信號,系統(tǒng)報警信號ring上圖為本模塊的
4、仿真波形。其工作情況:系統(tǒng)來到一個復位信號(rst=1),當主持人允許搶答時即en=1,各路開始搶答,當有一路正常獲得搶答時,系統(tǒng)會自動封鎖另外三路的搶答信號,只允許一人處于答題狀態(tài);當主持人沒有允許搶答時,若有人超前搶答,警報會響起,同時只要有人搶答那么搶答顯示臺(states)會顯示哪一個在搶答。例如,a臺超前搶答,此時警報響起(即超前搶答警報信號ring獲得一個頻率很高的脈沖,就會響起),之后主持人復位,并允許搶答,b臺最先搶答,此時搶答顯示臺顯示其臺號為2號。、本模塊為計時模塊。本模塊主要實現(xiàn)計時功能,主要包含搶答時鐘信號clk,系統(tǒng)復位信號rst,搶答時能信號en,搶答狀態(tài)信號sta
5、te,終止信號stop,,計時十位ta,計時個位tb,無人搶答報警信號warn。仿真波形如下: 其工作情況:系統(tǒng)復位信號來臨(即rst=1),計時復位為20秒倒計時,當主持人允許搶答時,開始倒計時,隨著系統(tǒng)時鐘來一個上升沿倒計時減1,當?shù)?0倒計時計玩仍然無人搶答時,警報指示燈亮(即warn=1),若有人搶答主持人可以按下中止鍵(即stop=1),這樣倒計時就會回到20秒初始狀態(tài)。圖示的情況為在倒計時8秒時有人搶答,主持人按下中止鍵,計時器變?yōu)槌跏贾?0,在下一輪搶答過程中,倒計時為0時仍然無人搶答,此時警報指示信號亮(即warn=1)。、數(shù)據(jù)選擇模塊該模塊主要實現(xiàn)搶答的數(shù)據(jù)輸入方面的功能,因
6、此,該模塊應該包括3個輸入信號a3.0、 b3.0 、c3.0。還應包括一個數(shù)據(jù)輸出信號y,計數(shù)脈沖clk,能夠?qū)崿F(xiàn)a、b、c輪流選通,并且能在數(shù)碼管上顯示出來。、報警模塊該模塊實現(xiàn)報警功能,包括一個有效電平輸入信號i,狀態(tài)輸出信號q,計數(shù)脈沖clk,其具體功能是:主持人按下控制鍵,在20s內(nèi),若無人搶答則電路開始報警;若是有人提前搶答,也會報警。、譯碼模塊 該模塊主要功能就是譯碼,即:把搶答過程出現(xiàn)的一切有用信號轉(zhuǎn)換成bcd碼在數(shù)碼管上顯示出來。、編寫頂層文件頂層文件就是把前面幾個模塊綜合起來,實現(xiàn)整個電路的功能。其具體工作是:由圖可看出:當主持人按下?lián)尨痖_始按鈕,en=1,如果20s內(nèi)無人
7、搶答,則輸出超時報警信號。第一次系統(tǒng)復位后,主任人還沒有宣布搶答開始,但a臺超前搶答了,主持人給予警告;接著第二輪系統(tǒng)復位后,主持人宣布搶答開始,c臺先搶答成功,搶答顯示臺號顯示為3。、硬件分析本課程設計應在eda實驗系統(tǒng)gw48-pk2上完成,芯片均選用“cyclone”系列的“ep1c6q240c6”。本課程設計選擇模式5,管腳鎖定如上圖,在鎖定后對設計文件進行重新編譯,產(chǎn)生設計電路的下載文件(.sof)。然后打開gw48-pk2實驗系統(tǒng),執(zhí)行菜單“tools-programmer”,點擊“add file”加載下載文件:點擊“hardware setup”選擇編程下載方式“bytebla
8、stermv”;“programmer”窗口中“mode”項選擇“jtag”,然后點擊“start”開始下載,下載完成后,即可在實驗箱上驗證設計電路。三、方案總結(jié)該方案基本實現(xiàn)任務書上的要求,其優(yōu)缺點如下 :方案優(yōu)點:分模塊設計,簡明易懂,容易修改。方案缺點:沒有實現(xiàn)加減分功能。四、心得體會 經(jīng)過2個星期的課程設計,我對eda這門課程有了更加深刻的認識。eda,即electronic design automation,電子設計自動化,只學會了書本是遠遠不夠的,沒有親自編寫程序,調(diào)試程序,修改程序,你永遠也不可能知道設計的真諦。而且,我們以前寫的都是一些小程序,小模塊,智能實現(xiàn)一種基本功能,并
9、沒有對幾個大型模塊進行綜合設計,所以也不能體會到設計一個大工程需要花費多少心血。但是經(jīng)過這2個星期的磨練,我十分明顯的感覺到了自己的進步。首先,我對vhdl語言掌握的更加熟練,在編程時比以前速度更快,準確度更高。其次,我加深對工程的認識,知道要先干什么后干什么,分幾個模塊,以及了解各模塊之間的聯(lián)系。而且,在每個模塊編寫完成之后,不用急于仿真,等整體編譯成功后,先進行總體仿真,看出現(xiàn)的錯誤在什么地方,這個地方是由哪個部分控制的,然后再對該部分進行仿真,看有沒有問題。最后,在硬件調(diào)試方面我也積累了很多經(jīng)驗。例如,時鐘頻率過高或過低都會影響實驗效果。示波器也是一個很重要的工具,我們應該熟練掌握。 總
10、之,通過這次課程設計,我認識到了自己的不足,也收獲了很多。五、參考文獻l 曹晰燕、周鳳臣、聶春燕,eda技術(shù)實驗與課程設計,清華大學出版社,2006;2 潘松、黃繼業(yè),eda技術(shù)與vhdl,清華大學出版社,2005;3 譚會生、瞿遂春,eda技術(shù)綜合應用實例與分析,西安電子科技大學出版社,2004;4 黃仁欣,eda實用教程,清華大學出版社,2007附錄 程序清單library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity qdjb is -搶答警報 port(clk2,en,rst:in s
11、td_logic; a,b,c,d:in std_logic; ring:out std_logic; states:out std_logic_vector(3 downto 0);end qdjb;architecture one of qdjb is signal sinor,ringf,tmp:std_logic;signal cnt:std_logic_vector(5 downto 0);beginsinor=a or b or c or d;p1:process(a,rst,b,c,d,tmp) begin if rst=1 then tmp=1;states=0000; els
12、if tmp=1 then if a=1 then states=0001;tmp=0; elsif b=1 then states=0010;tmp=0; elsif c=1 then states=0011;tmp=0; elsif d=1 then states=0100;tmp=0; else tmp=1;states=0000; end if ; end if;end process p1;p2rocess(clk2,en,rst,cnt) begin if rst=1 then cnt=000000;ringf=0; elsif clk2event and clk2=1 then
13、if en=0 and sinor=1 then if cnt111111 then ringf=not ringf;cnt=cnt+1; else ringf=0; end if; end if; end if;end process p3;ring=ringf;end one;library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity js is -計時 port(clk,rst,en,stop:in std_logic; warn:buffer std_logic; ta,tb:buff
14、er std_logic_vector(3 downto 0);end js;architecture one of js issignal co:std_logic;beginp1:process(clk,rst,en,stop,ta) begin if rst=1 or stop=1 then ta=0000; elsif clkevent and clk=1 then co=0; if en=1 then if ta=0000 then ta=1001;co=1; else ta=ta-1; end if; end if; end if;end process p1;p2:process
15、(co,rst,en,stop,tb) begin if rst=1 or stop=1 then tb=0010; elsif coevent and co=1 then if en=1 then if tb=0000 then tb=0010; else tb=tb-1; end if; end if; end if;end process p2;p3:process(rst,ta,tb) begin if rst=1 then warn=0; elsif ta=0000 and tb=0000 then warn=1; else warn=0; end if;end process p3
16、;end one;library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jf is port(clk,rst,en,add:in std_logic; states:in std_logic_vector(3 downto 0); a_out,b_out,c_out,d_out:buffer std_logic_vector(3 downto 0);end jf;architecture one of jf is beginp2:process(clk,rst,add,states,a_
17、out,b_out,c_out,d_out) begin if (rst=1) then a_out=0101;b_out=0101;c_out=0101;d_out if add=1 then if a_out=1111 then a_out=0000; else a_out=a_out+1; end if; elsif add=0 then if a_out=0000 then a_out=0000; else a_out if add=1 then if b_out=1111 then b_out=0000; else b_out=b_out+1; end if; elsif add=0
18、 then if b_out=0000 then b_out=0000; else b_out if add=1 then if c_out=1111 then c_out=0000; else c_out=c_out+1; end if; elsif add=0 then if c_out=0000 then c_out=0000; else c_out if add=1 then if d_out=1111 then d_out=0000; else d_out=d_out+1; end if; elsif add=0 then if d_out=0000 then d_out=0000;
19、 else d_out a_out=a_out;b_out=b_out;c_out=c_out;d_out=d_out; end case; end if;end if;end process p2;end one;library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity qiangda is -搶答 port(clk,clk2,en,a,b,c,d,add,stop,rst:in std_logic; ring,alarm:out std_logic; ta,tb:buffer std_l
20、ogic_vector(3 downto 0); states:buffer std_logic_vector(3 downto 0); a_out,b_out,c_out,d_out:buffer std_logic_vector(3 downto 0);end qiangda;architecture bhv of qiangda iscomponent qdjb is port(clk2,en,rst:in std_logic; a,b,c,d:in std_logic; ring:out std_logic; states:out std_logic_vector(3 downto 0
21、);end component;component js is port(clk,rst,en,stop:in std_logic; warn:buffer std_logic; ta,tb:buffer std_logic_vector(3 downto 0);end component;component jf is port(clk,rst,en,add:in std_logic; states:in std_logic_vector(3 downto 0); a_out,b_out,c_out,d_out:buffer std_logic_vector(3 downto 0);end
22、component;signal cnt:std_logic_vector(3 downto 0);beginu1:qdjb port map(clk2,en,rst,a,b,c,d,ring,states);u2:js port map(clk,rst,en,stop,alarm,ta,tb);u3:jf port map(clk,rst,en,add,states,a_out,b_out,c_out,d_out);end bhv;ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g
23、7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5nb5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkbhtvdcooqozxuz3vjrzmocijym62zchmeootyes8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazvajnfbtrylvsm6ofbftoxvrffn7owiygjlamku
24、nxjybz5rrb7r4vsur9zpfzfmfsjhcfca37lnw2vvlrkn7r8psz1bn6oric5hu5z6hcxayqynpog8duybawqsl20csg06dh2sm8hltgpkicskrgopdpuhbj1lmpk7lydvc6nnmwl3fwhzftfvyaary7lhssxj10v3ph3y19bxyr77ib7cpzsu2tijqe3hkqkkau9kskcphkxuikvvyjzpg2yijrkqfbggovyqkuxnwi9omnjtt6qilzxtyrf7d20fbmabcfiixrqkusvnxbppfuxyq1fjskfsubkgs2duvqc9
25、sz4jkbgn4qqv66pyoarjurnfj3txyfclzieeptwfjthpheipdfnqnr2hjqkv2dzwtmpdjqkbcxmovdsjqctjagjmdlskpgad2s0h0vmzgaht36gyuez7umank1ndreubeqdgrx0venqgnsyib2ilq3siqrnl4m56t7z8y8da5k0kupn5nzg4jvjdtffhyt82aogqkxo4vblmleiy2p7hthbho07rcfttxodydppdtqso7wxd0j6fkklgm4wodzplhtrr2xgqn13hqy59zu1gegdyqnihntavsieuefqcyfucjwd3vk5i7ykmhundmiz ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年專利許可合同:某企業(yè)使用某專利技術(shù)
- 2024年建筑勞務隊安全生產(chǎn)協(xié)議
- 2024年度智能家居系統(tǒng)采購合同
- 2024年度城市基礎設施建設與管理協(xié)議
- 2024證券投資基金基金合同范例
- 2024年國際石油天然氣開采銷售合同
- 2024醫(yī)療耗材生產(chǎn)原料采購與供應合同
- 2024年創(chuàng)新型企業(yè)孵化合作框架協(xié)議
- 保安員述職報告范文(7篇)
- 2024年度項目融資合同融資金額及還款方式
- 產(chǎn)品結(jié)構(gòu)設計1PPT
- 明挖隧道施工方案
- 消防部隊水源手冊范本
- 政策工具視角下的中國教育扶貧政策文本研究
- 教育部新版本科專業(yè)目錄(2012年)
- 七年級英語上培優(yōu)扶差記錄表
- 全國防返貧監(jiān)測信息系統(tǒng)業(yè)務管理子系統(tǒng)操作手冊
- 2022年數(shù)學廣角內(nèi)容解讀及教學思考
- 二級減速器箱體蓋工藝卡片
- 互聯(lián)網(wǎng)高速專線電路開通測試報告[寶典]
- 虎牌電飯煲中文使用說明書
評論
0/150
提交評論