EDA乒乓球比赛游戏机课程设计.doc_第1页
EDA乒乓球比赛游戏机课程设计.doc_第2页
EDA乒乓球比赛游戏机课程设计.doc_第3页
EDA乒乓球比赛游戏机课程设计.doc_第4页
EDA乒乓球比赛游戏机课程设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、 总体设计思想主要内容:设计一个乒乓球游戏机,比赛由甲乙双方和裁判3人构成,能模拟比赛的基本过程和规则并能自动裁判和记分。基本要求:1、设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。2、用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。3、当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。4、设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。5、甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。1.基本原理用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。2.设计框图 1.1设计流程图二、设计步骤和调试过程1、总体设计电路用8个发光二极管代表乒乓球台,在游戏机的两侧设置两个开关,一个是发球开关,一个是击球开关,甲方按动发球开关时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在移动。当球过网后,乙方就可击球。若乙方提前击球或没击中球,则判乙方失分,甲方自动加分,重新发球比赛继续进行到一方记分到21分,该局结束,记分牌清零,可以开始新的一局比赛。使用VHDL进行电路系统设计,利用PLD来实现控制器的硬件电路1.2乒乓游戏机的电路框图2、模块设计和相应模块程序系统各功能模块的实现1、 模块SEL的实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel isport(clk:in std_logic;sell:out std_logic_vector(2 downto 0);end sel;architecture sel_arc of sel isbeginprocess(clk)variable tmp:std_logic_vector(2 downto 0);beginif(clkevent and clk=1)thenif(tmp=000)thentmp:=001;elsif tmp=001thentmp:=100;elsif tmp=100thentmp:=101;elsif tmp=101thentmp:=000;end if;end if;sell=tmp;end process;end sel_arc;2、模块CORNA的实现LIBRARY IEEE;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity coma isport(clr,af,aj,bf,bj,clk:in std_logic; shift:out std_logic_vector(7 downto 0); ah,al,bh,bl:out std_logic_vector(3 downto 0);end coma;architecture com_arc of coma 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=0then a:=0; b:=0; she:=00000000; amark=0; bmark8 then if bj=0then amark=amark+1; a:=0; b:=0; she:=00000000; else she:=0&she(7 downto 1); end if; elsif she=0 then amark=amark+1; a:=0; b:=0; else if bj=0then a:=0; b:=1; else she:=0&she(7 downto 1); end if; end if; elsif a=0 and b=1then if she16 and she/=0 then if aj=0 then bmark=bmark+1; a:=0; b:=0; she:=00000000; else she:=she(6 downto 0)&0; end if; elsif she=0 then bmark=bmark+1; a:=0; b:=0; else if aj=0then a:=1; b:=0; else she:=she(6 downto 0)&0; end if; end if; end if; end if; shifttmp1 then if ala=1001then ala:=0000; aha:=aha+1; tmp1:=tmp1+1; else ala:=ala+1; tmp1:=tmp1+1; end if; end if; if bmarktmp2 then if bla=1001then 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; bhqqqqqqqqqqqqqq=1101111; end case; end process;end dispa_arc;3、仿真及仿真结果分析 在这个仿真图中,看到serve数组为1,代表乙发球。I从8开始依次递减计数,控制发光管亮暗light信号也随着i的数值变化,见图4.3所示。由light端口输出的高电

温馨提示

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

评论

0/150

提交评论