乒乓球比赛游戏机null乒乓球比赛游戏机乒乓球比赛游戏机要求:甲乙双方参赛,另有一裁判。用8个LED排成一条直线,以中心为界,两边各代表参赛双方的位置,其中一只点亮LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动速度应该能够调节。当“球”(点亮的那只LED)移动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮,表示启动球拍击球,若击中则球向相反方向移动,若未击中,球掉出桌外,则对方得一分。设置自动计分电路,甲乙双方各用两位数码管显示计分,每计满11分为1局。双方各设一个放光二极管表示拥有发球权,每隔2次自动交换发...
null乒乓球比赛游戏机乒乓球比赛游戏机要求:甲乙双方参赛,另有一裁判。用8个LED排成一条直线,以中心为界,两边各代表参赛双方的位置,其中一只点亮LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动速度应该能够调节。当“球”(点亮的那只LED)移动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮,表示启动球拍击球,若击中则球向相反方向移动,若未击中,球掉出桌外,则对方得一分。设置自动计分电路,甲乙双方各用两位数码管显示计分,每计满11分为1局。双方各设一个放光二极管表示拥有发球权,每隔2次自动交换发球权,拥有发球权的一方发球才有效。null程序程序#include
#define led P3
sbit S1=P1^1; // 甲队员
sbit S2=P1^0; // 乙队员
sbit C1=P1^2; // 裁判
unsigned char i;
void delay(int x) //延时10*x ms 数
{
int a,b;
for(a=0;a>1)|0x80;
}
}
void youyi() //单灯右移函数
{
led=0xfe;
for(i=0;i<=7;i++)
{
delay(4); //延时500ms
led=(led<<1)|0x01;
}
}程序程序void main(void)
{
unsigned char DB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83}; //0~b数据
unsigned char count1=0,count2=0;
//loop:
P0=0xc0;
P2=0xc0;
led=0xff;
P1=0xff;
while(1)
{
if(S1==0) 程序程序 {
fangdou();
loop2:
zuoyi();
if((led=0x7f)&&(S2==0))
{
goto loop1;
}
else
{
led=0x0f; //表示甲方得分有效
delay(50);
led=0xff; //led清零
delay(2);
P0=DB[count1]; //P0口为段接位
count1++; //甲方计分器加“1”
if(count1>12)
{
P0=0x83;
led=0x0f; //表示甲方获胜
}
}
}程序程序 if(S2==0)
{
fangdou();
loop1:
youyi();
if((led=0xfe)&&(S1==0))
{
goto loop2;
}
else
{
led=0xf0; //表示乙方得分有效
delay(50);
led=0xff;
P2=DB[count2];
count2++;
if(count2>12)
{
P2=0x83;
led=0xf0;
}程序程序 }
}
if((C1==0)&&(S1==1)&&(S2==1)) //裁判按下
break; //返回重新开始
}
}nullnull
本文档为【乒乓球比赛游戏机】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。