EDA課程設計 數字式競賽搶答器

上傳人:dao****ing 文檔編號:108253576 上傳時間:2022-06-15 格式:DOC 頁數:14 大?。?53.50KB
收藏 版權申訴 舉報 下載
EDA課程設計 數字式競賽搶答器_第1頁
第1頁 / 共14頁
EDA課程設計 數字式競賽搶答器_第2頁
第2頁 / 共14頁
EDA課程設計 數字式競賽搶答器_第3頁
第3頁 / 共14頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《EDA課程設計 數字式競賽搶答器》由會員分享,可在線閱讀,更多相關《EDA課程設計 數字式競賽搶答器(14頁珍藏版)》請在裝配圖網上搜索。

1、 《EDA技術》 課程設計報告 二0一一年 06 月 30 日 目 錄 1課程設計目的………………………………………………………1 2課程設計題目描述和要求 …………………………………………1 3課程設計報告內容 ………………………………………………2 4總結………………………………………………………………14 5參考資料…………………………………………………………14 1

2、. 課程設計目的 1、通過課程設計使學生能熟練掌握一種EDA軟件(MAX+plus2)的使用方法,能熟練進行設計輸入、編譯、管腳分配、下載等過程,為以后進行工程實際問題的研究打下設計基礎。 2、通過課程設計使學生能利用EDA軟件(MAX+plus2)進行至少一個電子技術綜合問題的設計,設計輸入可采用圖形輸入法或VHDL硬件描述語言輸入法。 3、通過課程設計使學生初步具有分析、尋找和排除電子電路中常見故障的能力。 4、通過課程設計使學生能獨立寫出嚴謹的、有理論根據的、實事求是的、文理通順的字跡端正的課程設計報告。 2.課程設計題目描述和要求 搶答器接通電源后,主持

3、人將開關置于“清除”位置,搶答器處于禁止工作狀態(tài),編號顯示器滅燈。搶答開始時,主持人將控制開關撥到“開始”位置,揚聲器給出聲響提示,搶答器處于工作狀態(tài),這時,搶答器完成以下工作: (1)優(yōu)先編碼器電路立即分辨出搶答者編號,并由鎖存器進行鎖存,然后由譯碼顯示電路顯示編號; (2)揚聲器發(fā)出短暫聲響,提醒主持人注意; (3)控制電路要對輸入編碼電路進行封鎖,避免其他選手再次進行搶答;(4)當選手將問題回答完畢,主持人操作計分開關,計分電路采用十進制加/減計數器、數碼管顯示。本輪搶答完畢,主持人操作控制開關,使系統(tǒng)回復到禁止工作狀態(tài),以便進行下一輪搶答。 設計框圖

4、顯示 電路 譯碼 電路 鎖存器 優(yōu)先編 碼電路 搶答按鈕 報警電路 控制電路 主持人 控制開關 主電路 顯示電路 譯碼電路 計分電路 預制 擴展功能電路 加分 減分 圖1 搶答器總體框圖 由主體電路和擴展電路兩部分構成,主體電路完成基本的搶答功能,即開始搶答后,當選手按動搶答鍵時,能顯示選手的編號,同時能封鎖輸入電路,禁止其他選手搶答。擴展電路完成各選手的得分顯示功能。 3、課程設計報告內容 3.1總體設計電路 3.2模塊設計和相應模塊程序

5、 (一)搶答鑒別模塊 1、VHDL源程序 library ieee;--搶答鑒別模塊 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity qdjb is port(rst,clk2:in std_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0); tmp:out std_logic); end qdjb; architecture one of qdj

6、b is signal st:std_logic_vector(3 downto 0); begin p1:process(s0,rst,s1,s2,s3,clk2) begin if rst='0' then tmp<='0';st<="0000"; elsif clk2'event and clk2='1' then if (s0='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 (

7、s1='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 (s2='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 (s3='1' or st(3)='1')and not( st(0)='1' or st(1)='1' or st(2)='1' ) then st(3)<='1'; e

8、nd if ; tmp<=s0 or s1 or s2 or s3; end if ; end process p1; p2:process(states(0),states(1),states(2),states(3)) begin if (st="0000") then states<="0000"; elsif (st<="0001") then states<="0001"; elsif (st<="0010") then states<="0010"; elsif (st<="0100") then states<="0011"; elsif

9、(st<="1000") then states<="0100"; end if; end process p2; end one; 搶答鑒別模塊圖 搶答鑒別模塊用來準確直觀地判斷A、B、C、D、E、F六組搶答者誰最先按下按鈕,并為顯示端送出信號,通過數顯和蜂鳴等途徑使觀眾能夠清楚地知道是哪一組搶答成功,是整個系統(tǒng)的核心部分。同時組別顯示端為下一模塊輸入信號,以方便主持人為該組搶答成功者進行加減分的操作。 (二)計時模塊 1、VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee

10、.std_logic_unsigned.all; entity js is port(clk,rst,s,stop:in std_logic; warn:out std_logic; ta,tb:buffer std_logic_vector(3 downto 0)); end js; architecture one of js is signal co:std_logic; begin p1:process(clk,rst,s,stop,ta) begin if rst='0' or stop='1' then

11、 ta<="0000"; elsif clk'event and clk='1' then co<='0'; if s='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(co,rst,s,stop,tb) begin

12、 if rst='0' or stop='1' then tb<="0010"; elsif co'event and co='1' then if s='1' then if tb="0000" then tb<="0011"; else tb<=tb-1; end if; end if; end if; end process p2; end one; 計時模塊圖 在這個模塊中主要實現搶答過程中的計時功能,在有搶答開始后進行30秒的倒

13、計時,并且在30秒倒計時后無人搶答顯示超時并報警。其中有搶答時鐘信號clk2;系統(tǒng)復位信號rst;搶答使能信號s;搶答狀態(tài)顯示信號states;無人搶答警報信號warn;計時中止信號stop;計時十位和個位信號tb,ta。 (三)數據選擇模塊 1、VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity sjxz is port (a,b,c: in std_logic_vector(

14、3 downto 0); clk2,rst: in std_logic; s: out std_logic_vector(1 downto 0); y: out std_logic_vector(3 downto 0) ); end sjxz; architecture body_chooser of sjxz is signal count: std_logic_vector (1 downto 0); begin s<=count; process(clk2,rst) beg

15、in if(rst='0')then count<="00"; elsif(clk2'event and clk2='1')then if(count>="10")then count<="00"; else count<=count+1; end if; end if; case count is when "00"=>y<=a; when "01"=>y<=b; when "10"=>y<=c; when others=>null;

16、 end case; end PROCESS; end body_chooser; 數據選擇模塊圖 在這個模塊中主要實現搶答過程中的數據輸入功能,輸入信號a[3..0]、b[3..0]、c[3..0];計數輸出信號s;數據輸出信號y;計數脈沖clk2,實現a、b、c按脈沖輪流選通,在數碼管上顯示。 (四)譯碼模塊 1、VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY YMQ IS PORT(AIN4: IN STD_

17、LOGIC_VECTOR(3 DOWNTO 0); DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END YMQ; ARCHITECTURE ART OF YMQ IS BEGIN PROCESS(AIN4) BEGIN CASE AIN4 IS WHEN "0000"=>DOUT7<="1111110"; --0 WHEN "0001"=>DOUT7<="0110000"; --1 WHEN "0010"=>DOUT7<="1

18、101101"; --2 WHEN "0011"=>DOUT7<="1111001"; --3 WHEN "0100"=>DOUT7<="0110011"; --4 WHEN "0101"=>DOUT7<="1011011"; --5 WHEN "0110"=>DOUT7<="1011111"; --6 WHEN "0111"=>DOUT7<="1110000"; --7 WHEN

19、 "1000"=>DOUT7<="1111111"; --8 WHEN "1001"=>DOUT7<="1111011"; --9 WHEN OTHERS=>DOUT7<="0000000"; END CASE; END PROCESS; END ARCHITECTURE ART; 譯碼模塊圖 在這個模塊中主要實現搶答過程中將BCD碼轉換成7段的功能。 3、4仿真及仿真結果分析 搶答鑒別 計時模塊 譯碼 3.5實驗調試結果 l 搶答鑒別模塊仿真分析:

20、 當鑒別模塊的清零信號CLR為高電平時,無論A、B、C、D四組參賽者誰按下搶答按鈕,系統(tǒng)輸出均為零,同時組別顯示端G輸出信號也顯示為零;當清零信號CLR為低電平時,A、B、C、D四組參賽者誰先按下搶答按鈕,組別顯示端就顯示該組別的號碼。假如C組按下搶答按鈕時,組別輸出為0010,同時C組的顯示燈被點亮。仿真圖上顯示的為A先搶答,因為在0-1.28微秒之間A、C雖然都按搶答鍵,但CLR為有效狀態(tài),所以在此時間段內的搶答無效。 l 計分模塊仿真分析: 首先應該清楚,在計分器電路的設計中,按十進制進行加減分操作的,當出現時鐘信號上升沿CLK就可以完成對參賽者加減分操作。智能搶答器記分模塊的

21、仿真時以加分操作為例。由仿真圖3-10可知以下情況: (1)系統(tǒng)設計過程中,當計分復位端RST=1時,并且組別輸入信號CHOS=0000,其中的組別輸入信號是搶答鑒別模塊的輸出信號,計分器復位,此時以上四組都不會產生加減分操作。 (2)然而當計分復位端RST=0時,此時計分器可以計分。當CHOS=0001時,組別顯示為A組,此時主持人利用計分器對A組進行加減分操作;當CHOS=0010時,組別顯示為B組,此時主持人則利用計分器對B組進行加減分操作;當CHOS=0100時,組別顯示為C組,此時系統(tǒng)對C組進行加減分操作;當CHOS=1000時,組別顯示為D組,此時對D組進行加減分操作。由仿真圖

22、可知,當主持人按下系統(tǒng)復位鍵RST鍵時,使分數復位,每位設置的初始分數為100分。當CHOS=1000時,即D搶答成功時,加分鍵ADD輸入四個脈沖,DD1加到4,說明加分成功,成績變?yōu)?40分。其他搶答者搶答成功后的加分操作與此相同。減分的仿真與此類似,因為是以加法實現,本質與加分相同,當計分復位端RST=0時,可以計分。由仿真圖可知,初始成績均為100分。當CHOS=1000時,即D搶答成功時,減分鍵SUB輸入四個脈沖,DD1加到4,說明減分成功,成績變?yōu)?0分。其他搶答者搶答成功后的減分操作與此相同。 l 譯碼器模塊仿真分析: 當AIN4= "0000" , DOUT7輸出"11

23、11110",此時數碼管顯示0; 當AIN4= "0001" , DOUT7輸出"0110000",此時數碼管顯示1; 當AIN4= "0010" , DOUT7輸出"1101101",此時數碼管顯示2; 當AIN4= "0011" , DOUT7輸出"1111001",此時數碼管顯示3; 當AIN4= "0100" , DOUT7輸出"0110011",此時數碼管顯示4; 當AIN4= "0101" , DOUT7輸出"1011011",此時數碼管顯示5; 當AIN4= "0110" , DOUT7輸出"1011111",此時

24、數碼管顯示6; 當AIN4= "0111" , DOUT7輸出"1110000",此時數碼管顯示7; 當AIN4= "1000" , DOUT7輸出"1111111",此時數碼管顯示8; 當AIN4= "1001" , DOUT7輸出"1111011",此時數碼管顯示9; 4、總結 智能搶答器的設計關鍵在于幾個模塊的設計要成功,即輸入控制電路的設計,顯示電路的設計,發(fā)生電路的設計和計時電路的設計。 根據實驗的要求來正確的設計電路,首先必須弄清楚搶答器的功能原理,需要用什么樣的電路或一些什么樣的芯片來設計來實現,同時,如何來控制。把該實驗分成一塊一塊分別實

25、現,當有人搶答時,如何使其正確的計時。 在實驗的過程中,連接線路很重要。所以在實驗時,線路的連接要仔細,只要一不小心,連錯了一根線或多連一根抑或少連一根線,對于設計的進展都是比較困難的。特別是在線路較多的時候,犯下這種錯誤,意味著要浪費很多的實驗時間。 通過本次課程設計,使我更加的了解如何來設計一個實驗,可以設計多種方案,通過比較得出最佳方案,使自己的思路更加的縝密。當然,本次實驗使我對數字電路、VHDL語言有了進一步的認識。同時,也了解了更多的芯片及其功能和模塊電路的設計方法。再者,經過此次實驗的設計畫原理圖,使我對MAX10軟件有了進一步了解,操作也更加的熟練。加強了自己的思維能力和動手設計的能力。 參考書目 [1] 譚會生,《EDA》,西安電子電子科技大學出版社,2004年 [2] 謝自美 主編《電子線路設計實驗測試》 華中科技大學出版社 [3] 趙世強、許杰等編 《電子電路EDA技術》 西安電子科技大學出版社

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!