乒乓球比賽游戲機的設(shè)計_第1頁
乒乓球比賽游戲機的設(shè)計_第2頁
乒乓球比賽游戲機的設(shè)計_第3頁
乒乓球比賽游戲機的設(shè)計_第4頁
乒乓球比賽游戲機的設(shè)計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、湖南涉外經(jīng)濟學(xué)院課程設(shè)計報告課程名稱:EDA技術(shù)與應(yīng)用報告題目:乒乓球比賽游戲機的設(shè)計學(xué)生姓名:所在學(xué)院:專業(yè)班級:學(xué)生學(xué)號:指導(dǎo)教師:2014年12月30日課程設(shè)計任務(wù)書報告題目乒乓球比賽游戲機的設(shè)計完成時間2014.12.30學(xué)生姓名專業(yè)班級指導(dǎo)教師職稱總體設(shè)計要求和技術(shù)要點(1) 設(shè)計一個由甲、乙雙方參賽,有裁判的3人乒乓球游戲機。(2) 用8個LED排成一條直線,以中點為界,兩邊各代表參賽雙方的位置,其中一只點亮的LED指示球的當(dāng)前位置,點亮的LED依此從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié)。(3) 當(dāng)“球”(點亮的那只LED)運動到某方的最后一位時,參賽者應(yīng)能果斷地按下位于自己一

2、方的按鈕開關(guān),即表示啟動球拍擊球。若擊中,則球向相反方向移動;若未擊中,則對方得1分。(4) 一方得分時,電路自動響鈴3秒,這期間發(fā)球無效,等鈴聲停止后方能繼續(xù)比賽。(5) 設(shè)置自動記分電路,甲、乙雙方各用2位數(shù)碼管進行記分顯示,每計滿21分為1局。(6) 甲、乙雙方各設(shè)一個發(fā)光二極管,表示擁有發(fā)球權(quán),每隔5次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球才有效。(7) 按湖南涉外經(jīng)濟學(xué)院課程設(shè)計管理辦法要求提交課程設(shè)計報告。工作內(nèi)容及時間進度安排第17周:周1-周3 :立題、論證方案設(shè)計周4-周5 :預(yù)答辯第18周:周1-周3 :仿真實驗7周4-周5 :驗收答辯課程設(shè)計成果1與設(shè)計內(nèi)容對應(yīng)的軟件程序2

3、課程設(shè)計總結(jié)報告摘要乒乓球游戲電路是一個對輸入信號、輸入時機正確與否的16個LED表示乒乓球球臺和乒乓球,用數(shù)碼管模擬顯示器,顯示比賽局?jǐn)?shù)比分和每局玩家得分的電路。電路并不復(fù)雜,整體分為兩個模塊:一,游戲主模塊;二,計分顯示模塊。主模塊完成用LED表示球和球臺并對玩家是否擊球、是否犯規(guī)做出判斷,并且將兩位玩家的游戲得分進行輸出。計分顯示模塊完成對局?jǐn)?shù)比分的運算,顯示局?jǐn)?shù)比分和每局游戲玩家的得分。實現(xiàn)中采用Verilog HDL描述、ModelSim進行功能仿真、Quartus II 進行邏輯綜合和適配下載,選用CycloneIII系列EP3C80F484C8型號的芯片上實現(xiàn)。在此過程中,完整地

4、建立了測試平臺,完成了功能和時序仿真,從而保證了設(shè)計的功能與時序的正確性。關(guān)鍵詞:Verilog HDL;FPGA;乒乓球游戲 目錄一、概述1二、設(shè)計的目的1三、總體設(shè)計思想13.1 基本原理13.2 設(shè)計框圖2四、設(shè)計步驟和調(diào)試過程24.1 總體設(shè)計電路24.2 乒乓球各模塊的設(shè)計34.2.1 控制模塊的設(shè)計34.2.2 送數(shù)據(jù)模塊的設(shè)計64.2.3 產(chǎn)生數(shù)碼管片選信號模塊的設(shè)計74.2.4 7段譯碼器模塊的設(shè)計9五、波形仿真與實驗調(diào)試105.1系統(tǒng)的波形仿真105.2 實驗調(diào)試結(jié)果12六、結(jié)論與心得13七、參考文獻14一、概述乒乓球運動是一項受大眾非常喜愛的運動,它是一項集健身性,競技性和

5、娛樂性為一體的運動。乒乓球是一項非常受大眾喜歡的運動,幾十年來,乒乓球運動在中國迅速興起,很重要的原因就是對客觀條件要求不高,隨時隨處就能玩起來。乒乓球運動越來越多地被作為增強智力、提高工作效率以及保健、醫(yī)療和康復(fù)的極佳手段而引起各方面的重視。如今,人們生活太忙碌,很多的人只能通過網(wǎng)絡(luò)來玩乒乓球游戲,而乒乓球游戲機正好解決了人們的困擾。它簡單易行,只要簡簡單單幾個手指的操作就能達到同樣娛樂跟鍛煉的效果。二、設(shè)計的目的 這次的設(shè)計主要是學(xué)習(xí)使用EDA集成設(shè)計軟件MxplussII,電路描述,綜合,模擬過程。掌握使用EDA工具設(shè)計乒乓游戲機的的設(shè)計思路和設(shè)計方法。體會使用EDA綜合過程中電路設(shè)計方

6、法和設(shè)計思路的不同。三、總體設(shè)計思想 3.1 基本原理用8個LED排成一條直線,以中點為界,兩邊各代表參賽雙方的位置,其中一只點亮的LED指示球的當(dāng)前位置,點亮的LED依此從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié)。當(dāng)“球”(點亮的那只LED)運動到某方的最后一位時,參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動球拍擊球。若擊中,則球向相反方向移動;若未擊中,則對方得1分。一方得分時,電路自動響鈴3秒,這期間發(fā)球無效,等鈴聲停止后方能繼續(xù)比賽。設(shè)置自動記分電路,甲、乙雙方各用2位數(shù)碼管進行記分顯示,每計滿21分為1局。甲、乙雙方各設(shè)一個發(fā)光二極管,表示擁有發(fā)球權(quán),每隔5次自動交換發(fā)球權(quán)

7、,擁有發(fā)球權(quán)的一方發(fā)球才有效。 3.2 設(shè)計框圖圖1 設(shè)計流程圖圖2 乒乓球游戲機原理圖四、設(shè)計步驟和調(diào)試過程 4.1 總體設(shè)計電路用8個發(fā)光二極管代表乒乓球臺,在游戲機的兩側(cè)設(shè)置兩個開關(guān),一個是發(fā)球開關(guān),一個是擊球開關(guān),甲方按動發(fā)球開關(guān)時,靠近甲方的第一盞燈亮,然后發(fā)光二極管由甲向乙依次點亮,代表乒乓球在移動。當(dāng)球過網(wǎng)后,乙方就可擊球。若乙方提前擊球或沒擊中球,則判乙方失分,甲方自動加分,重新發(fā)球比賽繼續(xù)進行到一方記分到21分,該局結(jié)束,記分牌清零,可以開始新的一局比賽。使用VHDL進行電路系統(tǒng)設(shè)計,利用PLD來實現(xiàn)控制器的硬件電路。圖3 乒乓游戲機的電路框圖 4.2 乒乓球各模塊的設(shè)計 4

8、.2.1 控制模塊的設(shè)計模塊corna 分兩個進程,第一個進程實現(xiàn)邏輯功能,第二個進程將整數(shù)的記分轉(zhuǎn)換為十進制數(shù),便于譯碼顯示。Af,aj,bf,bj分別為a方發(fā)球鍵和接球鍵,b方發(fā)球鍵和接球鍵,shift表示球所在的位置。其vhdl程序描述如下:Library ieee;Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity cornal isPort(clr,af,aj,bf,bj,clk:in std_logic; Shift:out std_logic_vector(7 downto 0); ah,al,

9、bh,bl:out std_logic_vector(3 downto 0); awin,bwin:out std_logic); End cornal; Architecture bahave of cornal is Signal amark,bmark:integer; Begin Process(clr,clk) Variable a,b:std_logic; Variable she:std_logic_vector(7 downto 0); Begin If clr='0' then a:='0' b:='0' she:="

10、00000000" ;amark<=0;bmark<=0; elsif clk'event and clk='1' then if a='0' and b='0' and af='0' then -a方發(fā)球 a:='1'she:="10000000"elsif a='0' and b='0' and bf='0' then -b方發(fā)球 b:='1'she:="00000001"els

11、if a='1'and b='0' then -a方發(fā)球后 if she>8 then if bj='0' then -b方過網(wǎng)擊球 amark<=amark+1; -a方加一分 a:='0' b:='0' she:="00000000" else she:='0'&she(7 downto 1); -b方?jīng)]有擊球 end if; elsif she=0 then -球從b方出界 amark<=amark+1; -a方加一分 a:='0'

12、 b:='0'else if bj='0'then -b方正常擊球 a:='0' b:='0' elseshe:=she(6 downto 0)&'0' end if; end if;end if; end if; shift<=she; end process; process(clk,clr,amark,bmark) variable aha,ala,bha,bla:std_logic_vector(3 downto 0); variable tmp1,tmp2:integer; variable

13、 t1,t2:std_logic; begin if clr='0'then -清零 aha:="0000" ala:="0000" bha:="0000" bla:="0000" tmp1:=0; tmp2:=0; t1:='0' t2:='0' elsif clk'event and clk='1'thenif aha="0001"and ala="0001" then -a方得分達到11分,則保持

14、aha:="0001" ala:="0001" t1:='1' elsif bha="0001"and bla="0001" then -b方得分達到11分,則保持 bha:="0001" bla:="0001" t2:='1' elsif amark>tmp1 then if ala="1001" then ala:="0000" aha:=aha+1; tmp1:=tmp1+1; else al

15、a:=ala+1; tmp1:=tmp1+1; end if; elsif bmark>tmp2 then if bla="1001" then bla:="0000" bha:=bha+1; tmp2:=tmp2+1; else bla:=bla+1; tmp2:=tmp2+1; end if; end if; end if; al<=ala; bl<=bla; ah<=aha; bh<=bha; awin<=t1; bwin<=t2; end process; end bahave; 4.2.2 送數(shù)據(jù)模塊的

16、設(shè)計 送數(shù)據(jù)模塊ch41a的vhdl程序描述如下:Library IEEE;Use IEEE.std_logic_1164.all;Entity ch41a is Port(sel:in std_logic_vector(2 downto 0); D0,d1,d2,d3:in std_logic_vector(3 downto 0); Q:out std_logic_vector(3 downto 0); End ch41a; Architecture behave of ch41a is Begin Process(sel) Begin Case sel is When"100&q

17、uot;=>q<=d0; When"101"=>q<=d1; When"000"=>q<=d2; When others=>q<=d3; End case; End process; End behave; 4.2.3 產(chǎn)生數(shù)碼管片選信號模塊的設(shè)計 產(chǎn)生數(shù)碼管片選信號模塊sel的vhdl程序描述如下:Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity sel is Port(clk:in std

18、_logic; Sell:out std_logic_vector(2 downto 0); End sel; Architecture behave of sel is Begin Process(clk) Variable tmp:std_logic_vector(2 downto 0); Begin if clk'event and clk='1' then If tmp="000" then Tmp:="001" Elsif tmp="001"then Tmp:="100" Elsi

19、f Tmp="100"then Tmp:="101" Elsif tmp="101" then Tmp:="000"End if; End if; Sell<=tmp; End process; End behave; 4.2.4 7段譯碼器模塊的設(shè)計 7段譯碼器模塊disp的vhdl的程序描述如下:Library ieee; Use ieee.std_logic_1164.all; Entity disp is Port(d:in std_logic_vector(3 downto 0); Q:out st

20、d_logic_vector(6 downto 0); End disp; Architecture behave of disp is Begin Process(d) Begin Case d is When"0000"=>q<="0111111" When"0001"=>q<="0000110" When"0010"=>q<="1011011" When"0011"=>q<="1001111&

21、quot; When"0100"=>q<="1100110" When"0101"=>q<="1101101" When"0110"=>q<="1111101" When"0111"=>q<="0100111" When"1000"=>q<="1111111" When others=>q<="1101111&quo

22、t; End case; End process; End behave;五、波形仿真與實驗調(diào)試5.1系統(tǒng)的波形仿真圖4所示為A方發(fā)球,在恰當(dāng)?shù)臅r候B方接到球,當(dāng)球回到A方時,A方又接到球,但B方再也沒有接到球的仿真波形。圖4 乒乓球仿真波形一圖5所示為A方兩次發(fā)球,B方?jīng)]有接到球,A方得到2分的仿真波形圖。圖5乒乓球仿真波形二圖6所示為A方發(fā)球,B方提前擊球的情況,此時,A方得一分。圖中還顯示了A方發(fā)球,B方在規(guī)定的時刻沒有接到球的情況,此時,A方又得一分。圖6乒乓球仿真波形三圖7所示為A方得分增加到11分的情況,此時awin輸出高電平,輸出分?jǐn)?shù)保持不變。當(dāng)清零信號按下時,得分清為零,awi

23、n輸出恢復(fù)低電平,又可以開始新的一局比賽。圖7乒乓球仿真波形四5.2 實驗調(diào)試結(jié)果 通過調(diào)試我們可以觀察到,8個LED排成一條直線,以中點為界,兩邊各代表參賽雙方的位置,其中一只點亮的LED指示球的當(dāng)前位置,點亮的LED依此從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié)。當(dāng)“球”(點亮的那只LED)運動到某方的最后一位時,參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動球拍擊球。若擊中,則球向相反方向移動;若未擊中,則對方得1分。一方得分時,電路自動響鈴3秒,這期間發(fā)球無效,等鈴聲停止后方能繼續(xù)比賽。設(shè)置自動記分電路,甲、乙雙方各用2位數(shù)碼管進行記分顯示,每計滿21分為1局。甲、乙雙方各設(shè)一個發(fā)光二極管,表示擁有發(fā)球權(quán),每隔5次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球有效。表1 學(xué)生情況統(tǒng)計表序號姓名性別出生日期學(xué)號 專業(yè)聯(lián)系電話備注1夏梓軒 男1993.08.0512430724815428 電子信息科學(xué)與工程132374241082潘宇男1994.06.2012430621817051電子信息科學(xué)與工、結(jié)論與心得這次EDA課程設(shè)計歷時兩個星期,在整整兩個星期的日子里,可以說是苦多于甜,但是可以學(xué)的到很多很多的東西,同時不僅可以鞏固以前所學(xué)過的知

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論