版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、現(xiàn)代電子與系統(tǒng)設(shè)計總結(jié)報告項目名稱: 乒乓球比賽游戲機班 級: 物科院1005姓 名: 周* 沈*學(xué) 號: 071005* 071005*指導(dǎo)老師: 倪*提交日期: 2012/12/23封面1一、設(shè)計要求3二、設(shè)計的具體實現(xiàn).31、系統(tǒng)框圖.32、甲乙方得分顯示模塊.43、加減計數(shù)模塊.64、譯碼模塊.85、控制模塊.96、核心問題.12三、結(jié)果分析.15四、附件161、完整電路圖.162、各個自制元件的vhdl程序.16一、設(shè)計要求設(shè)計一個乒乓球比賽游戲機(1)設(shè)計一個由甲乙雙方參加,有裁判的三人乒乓球游戲機;(2)用8個(或更多個)led排成一條直線,以中點為界,兩邊各代表參賽雙方的位置,
2、期中一只點亮的led指示球的當(dāng)前位置,點亮的led依次從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié);(3)當(dāng)“球”(點亮的那支led)運動到某方的最后一位時,參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動球拍擊球,若擊中則球向相反方向移動,若未擊中,球掉出桌外,則對方得一分;(4)設(shè)計自動計分電路,甲乙雙方各用兩位數(shù)碼管進行計分顯示,每記滿11分為1局;(5)甲乙雙方各設(shè)一個發(fā)光二極管表示擁有發(fā)球權(quán),每隔2次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球才有效;(6)其他。二、設(shè)計的具體實現(xiàn)1、系統(tǒng)框圖此系統(tǒng)框圖分為控制模塊,加/減計數(shù)模塊,譯碼顯示模塊和甲乙方得分顯示模塊。2、甲乙方得分顯示模塊
3、甲乙雙方各用兩位數(shù)碼管進行計分顯示,通過控制模塊加以控制。甲乙得分的計數(shù):圖形:vhdl語言:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jifen isport(reset : in std_logic;clk : in std_logic;q : buffer std_logic_vector(3 downto 0);end jifen;architecture jifen_architecture of jifen isbegin process(clk,reset) be
4、gin if(reset=0) then q=0000; elsif(clkevent and clk=1) then if(q=1011) then q=1011; else q y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=0110000;y0 y1=0110000;y0=0110000; end case; end process; end xians
5、hi_architecture;甲乙方得分顯示模塊圖形輸入為:3、加減計數(shù)模塊通過的取值實現(xiàn)加或者減的計數(shù)。圖形:說明:ud=1時,計數(shù)器進行減計數(shù);ud=0時,計數(shù)器進行加計數(shù);s=0時,計數(shù)器正常工作;s=1時,計數(shù)器停止工作;reset=1時,計數(shù)器正常計數(shù);reset=0時,計數(shù)器置數(shù)操作。vhdl語言:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishu isport(ud : in std_logic;s : in std_logic;reset : in std_
6、logic;d3,d2,d1,d0 : in std_logic;clk : in std_logic;q : buffer std_logic_vector(3 downto 0);end jishu;architecture jishu_architecture of jishu isbegin process(ud,s,reset,clk) begin if(reset=0) then q(3)=d3; q(2)=d2; q(1)=d1; q(0)=d0; else if(s=1) then q=q; else if(clkevent and clk=1) then if(ud=1) t
7、hen if(q=0000) then q=1001; else q=q-1; end if; else if(q=1001) then q=0000; else q=q+1; end if; end if; else q y y y y y y y y y y=1000000000; end case; end process; end yima_architecture;5、控制模塊1、設(shè)置甲乙兩方擊球脈沖信號in1、in2,甲方擊球信號使得加減計數(shù)器加法計數(shù),乙方擊球信號使得加減計數(shù)器減法計數(shù),譯碼模塊輸出端y1-y8接led模擬乒乓球的軌跡,y0、y9為球掉出桌外信號,控制模塊實現(xiàn)移位
8、方向的控制。2、設(shè)置發(fā)球權(quán)擁有顯示信號s1、s2,控制模塊使每兩次交換發(fā)球權(quán)。3、設(shè)置撿球信號reset1,通過加減計數(shù)模塊的異步置數(shù)端實現(xiàn)撿球,當(dāng)甲方擁有發(fā)球權(quán)時,撿球信號將球放到y(tǒng)1;乙方擁有發(fā)球權(quán)時,撿球信號將球放到y(tǒng)8。4、對甲、乙雙方的得分進行檢測,只要有一方的得分達到11,則一局結(jié)束。5、設(shè)置裁判復(fù)位信號reset,在每局結(jié)束后將雙方得分清零??刂颇K與譯碼模塊和加減計數(shù)模塊的連接:部分控制模塊中vhdl語言及圖形:1、jishu2library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ent
9、ity jishu2 isport(clk : in std_logic;q : buffer std_logic_vector(1 downto 0);end jishu2;architecture jishu2_architecture of jishu2 isbegin process(clk) begin if(clkevent and clk=1) then if(q=11) then q=00; else q=q+1; end if; end if; end process;end jishu2_architecture;2、xuanzelibrary ieee;use ieee.
10、std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xuanze isport(a : in std_logic;q1: in std_logic;q2: in std_logic;q : out std_logic);end xuanze;architecture xuanze_architecture of xuanze isbegin process(a) begin if(a=1) then q=q2; else q=q1; end if; end process;end xuanze_architecture;3、dch
11、ufaqilibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dchufaqi isport(d : in std_logic;clk : in std_logic;q : buffer std_logic);end dchufaqi;architecture dchufaqi_architecture of dchufaqi isbegin process(clk) begin if(clkevent and clk=0) then q=d; else q=q; end if; end
12、 process;end dchufaqi_architecture;6、核心問題1、由于實驗箱上的頻率為50mhz,譯碼器輸出變化太快,顯示在實驗箱上的8個led閃亮變化太快,以致無法識別。因此需要降低頻率后在接到加減計數(shù)模塊的clk端。圖形:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yanshi is port (clk: in std_logic;y: buffer std_logic_vector(24 downto 0) );end yanshi;architectu
13、re behave of yanshi isvhdl語言: begin process(clk) begin if(clkevent and clk=1) then if(y=1000000000000000000000000 or y=1111111111111111111111111) then y=0000000000000000000000000; else y=y+1; end if; end if; end process;end behave;2、在數(shù)碼管上動態(tài)顯示甲乙雙方的得分。動態(tài)顯示模塊:1、dongtaixianshi1的vhdl語言:library ieee;use i
14、eee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dongtaixianshi1 is port ( clk: in std_logic;y: buffer std_logic_vector(1 downto 0) );end dongtaixianshi1; architecture behave of dongtaixianshi1 is begin process(clk) begin if(clkevent and clk=1) then if(y=11) then y=00; else y y=yjia1;pi
15、anxuan y=yjia0;pianxuan y=yyi1;pianxuan y=yyi0;pianxuan=1110; end case; end process;end behave;三、結(jié)果分析注:本實驗采取實際測試的方法。采用altera新一代的max器件epm570t100c5。 程序下載方法采用byteblaster。1、分配引腳:符號分配引腳名稱備注in1pin_27k201選手甲,按下即為擊球。in2pin_30k204選手乙,按下即為擊球。resetpin_33s205裁判,撥盤開關(guān)撥到左邊即為將雙方得分清零。clkpin_62clk時鐘信號。reset1pin_34s20
16、6裁判,撥盤開關(guān)先撥到左邊后撥到右邊即為分配發(fā)球權(quán)。y18pin_50d208y18.1連到實驗箱的8個led。當(dāng)y18亮?xí)r,要求乙迅速擊球,當(dāng)y11亮,要求甲迅速擊球。若擊中,點亮的led會依次從左到右或從右到左;若未擊中,球跳出桌外,對方得一分。y17pin_49d207y16pin_48d206y15pin_47d205y14pin_42d204y13pin_41d203y12pin_40d202y11pin_38d201y6pin_81a顯示計分y5pin_82by4pin_83cy3pin_84dy2pin_85ey1pin_86fy0pin_87gpianxuan3pin_91s0
17、pianxuan2pin_92s1pianxuan1pin_99s6pianxuan0pin_100s72、分析:(1)經(jīng)測試,完全符合要求。(2)上述設(shè)計的乒乓球比賽游戲機用到了自下而上的層次化設(shè)計方法,用到了vhdl語言設(shè)計輸入方法和原理圖設(shè)計輸入方法。(3)由調(diào)節(jié)晶振產(chǎn)生的時鐘脈沖信號的頻率,可以調(diào)節(jié)球的運動速度。四、附件1、完整電路圖2、各個自制元件的vhdl程序(1)dchufaqilibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dchufaqi isport(d : in
18、 std_logic;clk : in std_logic;q : buffer std_logic);end dchufaqi;architecture dchufaqi_architecture of dchufaqi isbegin process(clk) begin if(clkevent and clk=0) then q=d; else q=q; end if; end process;end dchufaqi_architecture;(2)dongtaixianshi1library ieee;use ieee.std_logic_1164.all;use ieee.std_
19、logic_unsigned.all;entity dongtaixianshi1 is port ( clk: in std_logic;y: buffer std_logic_vector(1 downto 0) );end dongtaixianshi1; architecture behave of dongtaixianshi1 is begin process(clk) begin if(clkevent and clk=1) then if(y=11) then y=00; else y y=yjia1;pianxuan y=yjia0;pianxuan y=yyi1;pianx
20、uan y=yyi0;pianxuan=1110; end case; end process;end behave;(4)fenpinlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin is port ( clk: in std_logic; clk1: out std_logic );end fenpin; architecture behave of fenpin issignal cnt1: std_logic_vector(25 downto 0);begin p
21、rocess(clk) begin if(clkevent and clk=1) then cnt1=cnt1+1; end if; end process; clk1=cnt1(15);end behave;(5)jifenlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jifen isport(reset : in std_logic;clk : in std_logic;q : buffer std_logic_vector(3 downto 0);end jifen;arch
22、itecture jifen_architecture of jifen isbegin process(clk,reset) begin if(reset=0) then q=0000; elsif(clkevent and clk=1) then if(q=1011) then q=1011; else q=q+1; end if; end if; end process;end jifen_architecture;(6)jishulibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity
23、 jishu isport(ud : in std_logic;s : in std_logic;reset : in std_logic;d3,d2,d1,d0 : in std_logic;clk : in std_logic;q : buffer std_logic_vector(3 downto 0);end jishu;architecture jishu_architecture of jishu isbegin process(ud,s,reset,clk) begin if(reset=0) then q(3)=d3; q(2)=d2; q(1)=d1; q(0)=d0; el
24、se if(s=1) then q=q; else if(clkevent and clk=1) then if(ud=1) then if(q=0000) then q=1001; else q=q-1; end if; else if(q=1001) then q=0000; else q=q+1; end if; end if; else q=q; end if; end if; end if; end process;end jishu_architecture;(7)jishu2library ieee;use ieee.std_logic_1164.all;use ieee.std
25、_logic_unsigned.all;entity jishu2 isport(clk : in std_logic;q : buffer std_logic_vector(1 downto 0);end jishu2;architecture jishu2_architecture of jishu2 isbegin process(clk) begin if(clkevent and clk=1) then if(q=11) then q=00; else q y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=11111
26、10;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=1111110;y0 y1=0110000;y0 y1=0110000;y0=0110000; end case; end process; end xianshi_architecture;(8)xuanzelibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xuanze isport(a : in std_logic;q1: in std_logic;q2: in std_logic;q : out std_logic);end xuanze;archit
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車銷售合同擔(dān)保服務(wù)模板附車輛改裝服務(wù)3篇
- 2024年短期公租房租賃合同
- 崗位職責(zé)表課程設(shè)計
- 2024幼兒園發(fā)展規(guī)劃(35篇)
- 基于機器學(xué)習(xí)的古代繪畫修復(fù)與復(fù)原技術(shù)研究
- 2024年營銷工作計劃(59篇)
- 沼氣池儲氣罐課程設(shè)計
- 線描西蘭花課程設(shè)計
- 英漢互譯系統(tǒng)的課程設(shè)計
- 物流行業(yè)運輸司機工作總結(jié)
- 2024年1月自考18960禮儀學(xué)試題及答案含解析
- 鐵工電〔2023〕54號國鐵集團關(guān)于印發(fā)《普速鐵路工務(wù)安全規(guī)則》的通知
- Vue.js前端開發(fā)實戰(zhàn)(第2版)-教學(xué)課件 第1章 初識Vue
- 事業(yè)單位工作人員處分暫行規(guī)定2012
- 事業(yè)單位年度考核實施方案
- CJJ 169-2012城鎮(zhèn)道路路面設(shè)計規(guī)范
- 現(xiàn)代機械工程圖學(xué) 課件 第10章-裝配圖
- 新概念英語第一冊1-72課測試題
- 天貓售后工作總結(jié)
- 衛(wèi)生院崗位風(fēng)險分級和監(jiān)管制度工作方案
- 國賽一等獎經(jīng)驗分享
評論
0/150
提交評論