乒乓球比赛游戏机设计总结报告(8页).doc
《乒乓球比赛游戏机设计总结报告(8页).doc》由会员分享,可在线阅读,更多相关《乒乓球比赛游戏机设计总结报告(8页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-乒乓球比赛游戏机设计总结报告-第 7 页现代电子与系统设计总结报告项目名称: 乒乓球比赛游戏机班 级: 物科院1005姓 名: 周* 沈*学 号: 071005* 071005*指导老师: 倪*提交日期: 2012/12/23封面1一、设计要求3二、设计的具体实现.31、系统框图.32、甲乙方得分显示模块.43、加减计数模块.64、译码模块.85、控制模块.96、核心问题.12三、结果分析.15四、附件161、完整电路图.162、各个自制元件的VHDL程序.16一、设计要求设计一个乒乓球比赛游戏机(1)设计一个由甲乙双方参加,有裁判的三人乒乓球游戏机;(2)用8个(或更多个)LED排成一条直
2、线,以中点为界,两边各代表参赛双方的位置,期中一只点亮的LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动的速度应能调节;(3)当“球”(点亮的那支LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球,若击中则球向相反方向移动,若未击中,球掉出桌外,则对方得一分;(4)设计自动计分电路,甲乙双方各用两位数码管进行计分显示,每记满11分为1局;(5)甲乙双方各设一个发光二极管表示拥有发球权,每隔2次自动交换发球权,拥有发球权的一方发球才有效;(6)其他。二、设计的具体实现1、系统框图此系统框图分为控制模块,加/减计数模块,译码显示模块和
3、甲乙方得分显示模块。2、甲乙方得分显示模块甲乙双方各用两位数码管进行计分显示,通过控制模块加以控制。甲乙得分的计数:图形: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
4、process(clk,reset) begin 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; e
5、nd process; END xianshi_architecture;甲乙方得分显示模块图形输入为:3、加减计数模块通过的取值实现加或者减的计数。图形:说明:ud=1时,计数器进行减计数;ud=0时,计数器进行加计数;s=0时,计数器正常工作;s=1时,计数器停止工作;reset=1时,计数器正常计数;reset=0时,计数器置数操作。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_
6、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; else if(s=1) then q=q; else if(clkevent and c
7、lk=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 y y y y y y y y y y=1000000000; end case; end process; END yima_architecture;5、控制模块1、设置甲乙两方击球脉冲信号in1、in2,甲方击球信号使得加减计数器加法计数,乙方击球信号使得加减计数器减法计数,译码模块输出端Y1-Y8接LED模拟乒乓球的轨迹,Y
8、0、Y9为球掉出桌外信号,控制模块实现移位方向的控制。2、设置发球权拥有显示信号S1、S2,控制模块使每两次交换发球权。3、设置捡球信号reset1,通过加减计数模块的异步置数端实现捡球,当甲方拥有发球权时,捡球信号将球放到Y1;乙方拥有发球权时,捡球信号将球放到Y8。4、对甲、乙双方的得分进行检测,只要有一方的得分达到11,则一局结束。5、设置裁判复位信号reset,在每局结束后将双方得分清零。控制模块与译码模块和加减计数模块的连接:部分控制模块中VHDL语言及图形:1、jishu2LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_l
9、ogic_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=q+1; end if; end if; end process;END jishu2_architecture;2、xuanzeL
10、IBRARY 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;ARCHITECTURE xuanze_architecture OF xuanze ISBEGIN process(a) begin if(a=1) then q=q2; else q=q1; end if; end process;END xuan
11、ze_architecture;3、dchufaqiLIBRARY 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;
12、else q=q; end if; end process;END dchufaqi_architecture;6、核心问题1、由于实验箱上的频率为50MHz,译码器输出变化太快,显示在实验箱上的8个LED闪亮变化太快,以致无法识别。因此需要降低频率后在接到加减计数模块的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) );
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 乒乓球 比赛 游戏机 设计 总结报告
限制150内