【正文】
現(xiàn)代電子與系統(tǒng)設(shè)計(jì)總結(jié)報(bào)告現(xiàn)代電子與系統(tǒng)設(shè)計(jì)總結(jié)報(bào)告項(xiàng)目名稱: 乒乓球比賽游戲機(jī)班 級: 物科院1005姓 名: 周** 沈**學(xué) 號: 071005** 071005**指導(dǎo)老師: 倪**提交日期: 2012/12/23 封面…………………………………………………………………1一、設(shè)計(jì)要求………………………………………………………3二、設(shè)計(jì)的具體實(shí)現(xiàn)…………………………………………..3系統(tǒng)框圖……………………………………………………………..3甲乙方得分顯示模塊……………………………………………......4加減計(jì)數(shù)模塊………………………………………………………..6譯碼模塊……………………………………………………………...8控制模塊……………………………………………………………...9核心問題…………………………………………………………......12三、結(jié)果分析……………………………………………………...15四、附件……………………………………………………………16完整電路圖…………………………………………………………..16各個(gè)自制元件的VHDL程序……………………………………......16一、設(shè)計(jì)要求設(shè)計(jì)一個(gè)乒乓球比賽游戲機(jī)(1)設(shè)計(jì)一個(gè)由甲乙雙方參加,有裁判的三人乒乓球游戲機(jī);(2)用8個(gè)(或更多個(gè))LED排成一條直線,以中點(diǎn)為界,兩邊各代表參賽雙方的位置,期中一只點(diǎn)亮的LED指示球的當(dāng)前位置,點(diǎn)亮的LED依次從左到右,或從右到左,其移動的速度應(yīng)能調(diào)節(jié);(3)當(dāng)“球”(點(diǎn)亮的那支LED)運(yùn)動到某方的最后一位時(shí),參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動球拍擊球,若擊中則球向相反方向移動,若未擊中,球掉出桌外,則對方得一分;(4)設(shè)計(jì)自動計(jì)分電路,甲乙雙方各用兩位數(shù)碼管進(jìn)行計(jì)分顯示,每記滿11分為1局;(5)甲乙雙方各設(shè)一個(gè)發(fā)光二極管表示擁有發(fā)球權(quán),每隔2次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球才有效;(6)其他。二、設(shè)計(jì)的具體實(shí)現(xiàn)系統(tǒng)框圖此系統(tǒng)框圖分為控制模塊,加/減計(jì)數(shù)模塊,譯碼顯示模塊和甲乙方得分顯示模塊。甲乙方得分顯示模塊甲乙雙方各用兩位數(shù)碼管進(jìn)行計(jì)分顯示,通過控制模塊加以控制。甲乙得分的計(jì)數(shù):圖形:VHDL語言:LIBRARY ieee。USE 。use 。ENTITY jifen IS PORT ( 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) begin if(reset=39。039。) then q=0000。 elsif(clk39。event and clk=39。139。) then if(q=1011) then q=1011。 else q=q+1。 end if。 end if。 end process。END jifen_architecture。 甲乙得分的顯示:圖形:VHDL語言:LIBRARY ieee。USE 。use 。ENTITY xianshi IS PORT ( a : IN STD_LOGIC_VECTOR(3 downto 0)。 y1 : OUT STD_LOGIC_VECTOR(6 downto 0)。 y0 : OUT STD_LOGIC_VECTOR(6 downto 0) )。END xianshi。ARCHITECTURE xianshi_architecture OF xianshi ISBEGIN process(a) begin case a is when 0000 = y1=1111110。y0=1111110。 when 0001 = y1=1111110。y0=0110000。 when 0010 = y1=1111110。y0=1101101。 when 0011 = y1=1111110。y0=1111001。 when 0100 = y1=1111110。y0=0110011。 when 0101 = y1=1111110。y0=1011011。 when 0110 = y1=1111110。y0=1011111。 when 0111 = y1=1111110。y0=1110000。 when 1000 = y1=1111110。y0=1111111。 when 1001 = y1=1111110。y0=1111011。 when 1010 = y1=0110000。y0=1111110。 when OTHERS = y1=0110000。y0=0110000。 end case。 end process。 END xianshi_architecture。甲乙方得分顯示模塊圖形輸入為:加減計(jì)數(shù)模塊通過的取值實(shí)現(xiàn)加或者減的計(jì)數(shù)。圖形:說明:ud=’1’時(shí),計(jì)數(shù)器進(jìn)行減計(jì)數(shù);ud=’0’時(shí),計(jì)數(shù)器進(jìn)行加計(jì)數(shù);s=’0’時(shí),計(jì)數(shù)器正常工作;s=’1’時(shí),計(jì)數(shù)器停止工作;reset=’1’時(shí),計(jì)數(shù)器正常計(jì)數(shù);reset=’0’時(shí),計(jì)數(shù)器置數(shù)操作。VHDL語言:LIBRARY ieee。USE 。use 。ENTITY jishu IS PORT ( 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 IS BEGIN process(ud,s,reset,clk) begin if(reset=39。039。) then q(3)=d3。 q(2)=d2。 q(1)=d1。 q(0)=d0。 else if(s=39。139。) then q=q。