数字电路课程设计 乒乓球游戏机

1.用VHDL语言设计数字电路(板上提供时钟信号为1MHZ)2.具体要求 (1).能进行正常的计局,计分功能分别显示两方的得分情况,显示两方的计局记录,用6个7段式数码管显示 (2).能实现对球台,球的模拟功能; 以发光二极管代替乒乓球,乒乓球以8只发光二极管组成,比赛开始时,由裁判按发球开关决定其中一方开始发球,光点应出现在先发球者的球拍位置上。中间2个发光二极管作为球台。(3).能实现自动判球计分;只要一方失球对方计分器自动加1分,当一方计到11分时一局结束,双方计分器同时清零,而且,每个球结束后,自动确定下一个发球者,每方连续发2球后自动发球。(4).能进行得胜显示(5).3局2胜,得胜方显示(6).按发球按键应进行消抖处理(选作)(7).得分标准当球到达一方的球怕位置,如该方未按发球键,则对方得分,先按接发球按键击球无效,但不失分(8).球移动速度,0.1—0.5S会的发到邮箱 63213639@QQ.COM 谢谢

  课程设计报告

  课程设计名称 乒乓球游戏机控制电路设计

  专 业

  班 级

  姓 名

  指导教师

  日 期 2009年12月26日

  一.基本要求:
  1.设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。
  2.用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。调
  3.当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。
  4.一方得分时,电路自动响铃3 s,这期间发球无效,等铃声停止后方能继续比赛。
  5.设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。
  6.甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球

  摘要:为了实现模拟乒乓球比赛的过程和规则,我们采用了AT89C51单片机来控制模拟,采用用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,用蜂鸣器来实现响铃,
  比赛双方用按钮开关来模拟启动球拍击球,用数码管来显示比赛分数,

  关键词:AT89C51 LED 蜂鸣器。

  二. 系统设计
  2.1 总体设计
  2.1.1 乒乓球比赛系统方框图
  整个过程由AT89C51单片机控制,控制器产生控制信号来控制8个LED的开关,即可模拟LED依此从左到右,或从右到左,并可完成调节速度。对分数的显示我们用LED,LED有发光亮度强的优点,能够满足我们的要求。整体电路图如下图所示:

  2.1.2 单片机总体设计
  AT89C51单片机有价格低,抗干扰能力强的优点,所以完成能够满足我们的要求,我们用单片机的P0控制8个LED的开关,通过对P0口的控制就能控制LED,由于P0口内部没有上拉电阻,不能驱动LED,所以我们在外部添加了上拉电阻。用P1口来控制数码管段显,用P2口的低四位控制数码管的位选,P30、P31来控制开关,PP26、P27来显示发球权。P25控制蜂鸣器,整体图如下图所示:

  2.1.3 LED开关的设计
  要求LED按左到右、或右到左的方向移动,我们只要把P0口的值变化即可。依次对P0口给值0X01、0X02、0X04、0x08、0x10、0X20、0X40、0X80,即可实现方向的移动。整体图如下所示:

  2.1.4数码管设计
  通过控制数码管的段,就可以控制数码管的数学的显示,我们采用了动态方式来控制数码,该方式是通过让数码管快速切换显示,人眼分辨不出来,不仅节约电能,而且还能够节约单片机的端口,从而减少程序的复杂性,如下图所示:

  2.2程序设计
  本系统的程序如下:
  #include<reg51.h>
  #include<absacc.h>
  #define uchar unsigned char
  #define uint unsigned int

  #define DB P1
  sbit SB1=P3^0; //按钮1
  sbit SB2=P3^1; //按钮2
  sbit deng1=P2^7; //指示灯1
  sbit deng2=P2^6; //指示灯2
  sbit Mic=P2^5; //蜂鸣器

  uchar count=0;
  uchar i,j,fengshu1,fengshu2;

  bit stall,chose,ret,flag=0;
  uchar ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0到9的段码
  uchar dengcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //从左到右移动的代码
  /**************延时x毫秒程序*****************/
  void delay(uint x)
  {uchar y;
  while(x--)
  for(y=0;y<125;y++);}
  /**************灯移动程序******************/
  void yidong(uchar fang)
  {for(i=0;i<8;i++)
  {delay(1000);
  if(fang==0)
  {P0=dengcode[i];}
  else P0=dengcode[8-i];
  }

  }
  /********数码管显示程序****************/
  void display(uchar a,uchar b)
  { P2=P2&&0Xe1;
  delay(50) ;
  P1=ledcode[a/10];
  P2=P2&&0Xe0;
  P2=P2&&0Xe2;
  delay(50) ;
  P1=ledcode[a%10];
  P2=P2&&0Xe0;
  P2=P2&&0Xe4;
  delay(50) ;
  P1=ledcode[b/10];
  P2=P2&&0Xe0;
  P2=P2&&0Xe8;
  delay(50) ;
  P1=ledcode[b%10];
  P2=P2&&0Xe0;

  }
  /****蜂鸣器响应程序***/
  void mic()
  {Mic=1;
  delay(3000);//延时3秒
  Mic=0;
  }
  void main()
  {uchar shu=0;
  TMOD=0X01;
  TH0=0X00;
  TL0=0X00;
  TR0=1;
  ET0=1;
  P0=0;
  fengshu1=0;fengshu2=0;
  P2=0;
  P1=0;
  SB1=1;
  SB2=1;
  while(1)
  {for(i=0;i<2;i++)
  for(j=0;j<5;j++)
  {yidong(i);
  if(i==0)
  {deng1=1;deng2=0;}
  ifi==1)
  {deng2=1;deng1=0;}
  if(SB2==0&&P0=0X80)
  {yidong(0); }
  if(SB2==1&&P0=0X80)
  {fengshu1++;
  if(fengshu1==21)
  {fengshu1=0;fengshu2=0;}
  mic();}
  if(SB1==0&&P0=0X01)
  {yidong(1); }
  if(SB1==1&&P0=0X01)
  {fengshu2++;
  if(fenshu2==21)
  {fengshu1=0;fengshu2=0;}
  mic();}
  }
  }
  void display0() interrupt 1
  { TH0=0;
  TL0=0;
  display(fengshu1,fengshu2);
  }
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-02
rythddfgg

数电课程设计"乒乓球比赛游戏机"
1. 设计一个甲、乙双方参赛,裁判参与的乒乓球比赛游戏模拟机。2. 用8个发光二极管排成一条直线,以中点为界,两边各代表参赛双方的位置,其中点亮的发光二极管代表“乒乓球”的当前位置,点亮的发光二极管依次由左向右或由右向左移动。3. 当球运动到某方的最后一位时,参赛者应立即按下自己一方的按...

急求数字电子课程设计乒乓球比赛游戏机总结 收获 体会~~
3,相互讨论共同研究也是很重要的,经常出现一些问题,比如电路设计中的控制器的设计,以及乒乓球游戏机怎样计分等的分析。还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和...

乒乓球比赛游戏机的设计原理图
按图 3-22-2 所示流程图,用移位寄存器、 J-K 触发器、与非门、或非门、防抖开关、计数器等设计一个乒乓球游戏机,希望把电路设计成独立的两部分:甲(乙)发球及球向乙(甲)方移动的部分及甲(乙)方加分的部分,以便安装及单独调整。建议如下:1�6�1 用两个 74LS194 ...

数字电路课程设计 乒乓球游戏机
1.设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。2.用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。调 3.当“球”(点亮的那只LED)运动到某方的最后一位时...

乒乓球游戏机用ewb来做球高手指点,要求如下
若发亮的LED运动到对方的终点,但对方未能及时输入信号使其向相反方向移动,及失去1分。

基于Multisim的乒乓球比赛模拟机
提高注意力和专注力。设计过程中的体会强调了理论与实践结合的重要性,以及元件特性和使用方法的注意事项。改进意见包括随机给出发球方向和加入传感器模块以更真实地模拟乒乓球的左右互搏。参考文献包括电子技术基础教材、电子技术课程设计和数字电子技术基础实验任务书,为设计提供了理论支持和实践指导。

基于FPGA的乒乓球游戏设计 FPGA程序
SOPC是一种特殊的嵌入式系统,它既是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能,但它又不是简单的SOC,也是可编程系统,具有灵活的设计方式,可裁剪、可扩充、可升级,并具备软硬件在系统可编程的功能。1乒乓球游戏玩法介绍 将双通道示波器作为显示屏。将两路信号输入示波器中,让示波器工作...

什么是FPGA里面的乒乓机制?
数据处理流程: 数据接收->数据处理->数据发送 乒乓机制就是有套块数据接收路径,一块数据接收时,算法处理另一块数据,而不用等待当前数据接收完后再处理,作用是提高数据吞吐量。

四位二进制 算术运算和逻辑运算 eda实验
1.能自动一次显示出数字 0、1、2、3、4、5、6、7、8、9(自然数列),1、3、5、7、9(奇数列), 0、2、4、6、8(偶数列),0、1、2、3、4、5、6、7、0、1(音乐符号序列);然后再从头循环;2.打开电源自动复位,从自然数列开始显示。 二、乒乓球游戏机要求:1.用8个发光二极管表示球;用两个按钮分别...

中轨道Odyssey游戏机
游戏卡插入主机后,系统会自动启动。初期的游戏画面极其简单,比如经典的"Pong",需要在电视机上贴上专用贴膜以呈现"游戏画面",这在当时显得有些神秘和奇特。对于玩法,用户需要仔细阅读说明书,因为每个游戏都有其特定的贴膜和配件,如"筹码"和"卡片"。例如,乒乓球游戏需要玩家使用荧光棒进行操作,通过...

相似回答