乒乓球比赛游戏机设计总结报告_第1页
乒乓球比赛游戏机设计总结报告_第2页
乒乓球比赛游戏机设计总结报告_第3页
乒乓球比赛游戏机设计总结报告_第4页
乒乓球比赛游戏机设计总结报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代电子与系统设计总结报告现代电子与系统设计总结报告项目名称: 乒乓球比赛游戏机班 级: 物科院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 process(

4、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; end proce

5、ss; 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_logic;re

6、set : 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 clk=1) th

7、en 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模拟乒乓球的轨迹,y0、y9为球掉出

8、桌外信号,控制模块实现移位方向的控制。2、设置发球权拥有显示信号s1、s2,控制模块使每两次交换发球权。3、设置捡球信号reset1,通过加减计数模块的异步置数端实现捡球,当甲方拥有发球权时,捡球信号将球放到y1;乙方拥有发球权时,捡球信号将球放到y8。4、对甲、乙双方的得分进行检测,只要有一方的得分达到11,则一局结束。5、设置裁判复位信号reset,在每局结束后将双方得分清零。控制模块与译码模块和加减计数模块的连接:部分控制模块中vhdl语言及图形:1、jishu2library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_uns

9、igned.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、xuanzelibrary i

10、eee;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 xuanze_archi

11、tecture;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; else q=q

12、; 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) );end yans

13、hi;architecture 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、在数码管上动态显示甲乙双方的得分。动态显示模块:1、dongtaixianshi1的vhdl语言:libra

14、ry ieee;use ieee.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

15、 y y=yjia1;pianxuan y=yjia0;pianxuan y=yyi1;pianxuan y=yyi0;pianxuan=1110; end case; end process;end behave;三、结果分析注:本实验采取实际测试的方法。采用altera新一代的max器件epm570t100c5。 程序下载方法采用byteblaster。1、分配引脚:符号分配引脚名称备注in1pin_27k201选手甲,按下即为击球。in2pin_30k204选手乙,按下即为击球。resetpin_33s205裁判,拨盘开关拨到左边即为将双方得分清零。clkpin_62clk时钟信号。re

16、set1pin_34s206裁判,拨盘开关先拨到左边后拨到右边即为分配发球权。y18pin_50d208y18.1连到实验箱的8个led。当y18亮时,要求乙迅速击球,当y11亮,要求甲迅速击球。若击中,点亮的led会依次从左到右或从右到左;若未击中,球跳出桌外,对方得一分。y17pin_49d207y16pin_48d206y15pin_47d205y14pin_42d204y13pin_41d203y12pin_40d202y11pin_38d201y6pin_81a显示计分y5pin_82by4pin_83cy3pin_84dy2pin_85ey1pin_86fy0pin_87gpian

17、xuan3pin_91s0pianxuan2pin_92s1pianxuan1pin_99s6pianxuan0pin_100s72、分析:(1)经测试,完全符合要求。(2)上述设计的乒乓球比赛游戏机用到了自下而上的层次化设计方法,用到了vhdl语言设计输入方法和原理图设计输入方法。(3)由调节晶振产生的时钟脉冲信号的频率,可以调节球的运动速度。四、附件1、完整电路图2、各个自制元件的vhdl程序(1)dchufaqilibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dchufaqi

18、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 process;end dchufaqi_architecture;(2)dongtaixianshi1library ieee;use ieee.std_logic_1164.all;

19、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;pianxuan y=yjia0;pianxuan

20、 y=yyi1;pianxuan 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 down

21、to 0);begin process(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);e

22、nd jifen;architecture 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_unsign

23、ed.all;entity 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

24、; q(0)=d0; else 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

25、;use ieee.std_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=111111

26、0;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 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;architec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论