標(biāo)題:
基于51單片機(jī)的乒乓球游戲源碼
[打印本頁]
作者:
xws245925587
時間:
2018-4-26 08:52
標(biāo)題:
基于51單片機(jī)的乒乓球游戲源碼
資料有點(diǎn)老了,但發(fā)現(xiàn)最近挺多人找51單片機(jī)的乒乓球游戲系統(tǒng)設(shè)計,所以找出來上傳到論壇里
單片機(jī)源程序如下:
#define uchar unsigned char
#define uint unsigned int
//sbit BALL=P1;
sbit key1=P3^1;
sbit key2=P3^2;
sbit BUZZER = P3^3;
int red=0,green=0,aa;
uint nms;
void Delay(int z)
{
int x;
for(x=z;x>0;x--);
}
void Buzzer()
{
int i;
while(1)
{
BUZZER = 0;
Delay(5);
BUZZER = 1;
Delay(5);
i++;
if(i>500)
{
i = 0;
break;
}
}
}
int beatscan()
{
if(key1==0)
{
delayms(10);
if(key1==0)
{
Buzzer();
Buzzer();
Buzzer();
while(!key1);
return 1;
}
}
if(key2==0)
{
delayms(10);
if(key2==0)
{
Buzzer();
Buzzer();
Buzzer();
while(!key1);
return 2;
}
}
return 0;
}
int left()
{
uint i;
aa=0xfe;
while(1)
{
P1=aa;
for(i=0;i<nms;i++)
{
if(beatscan()==2)
{
if(aa!=0x7f)
return 0;
else
return 1;
}
delayms(10);
}
aa=_crol_(aa,1);
if(aa==0xfe)
return 0;
}
}
int right()
{
uint i;
aa=0x7f;
while(1)
{
P1=aa;
for(i=0;i<nms;i++)
{
if(beatscan()==1)
{
if(aa!=0xfe)
return 0;
else
return 1;
}
delayms(10);
}
aa=_cror_(aa,1);
if(aa==0x7f)
return 0;
}
}
void left1()
{
P1=0xfe;
delayms(200);
P1=0xff;
Buzzer();
Buzzer();
P1=0xfe;
while(1)
{
if(beatscan()==1)
break;
delayms(20);
}
while(1)
{
if(left())
{
if(right())
continue;
else
{
green++;
break;
}
}
else
{
red++;
break;
}
}
Write_1602Score(red,green);
}
void right1()
{
P1=0x7f;
delayms(200);
P1=0xff;
Buzzer();
Buzzer();
P1=0x7f;
while(1)
{
if(beatscan()==2)
break;
delayms(20);
}
while(1)
{
if(right())
{
if(left())
continue;
else
{
red++;
break;
}
}
else
{
green++;
break;
}
}
Write_1602Score(red,green);
}
void pingpang()
{
uint i,j;
Write_1602String(1,1," Welcome! ");
delayms(10);
Write_1602String(2,1,"Wish you happy!! ");
/* for(i=0;i<16;i--)
{
Write_1602Com(0x18);
delayms(500);
}
delayms(2000);
for(i=0;i<16;i--)
{
Write_1602Com(0x18);
delayms(500);
}*/
aa=0xfe;
for(i=0;i<7;i++)
{
P1=aa;
BUZZER=0;
delayms(50);
BUZZER=1;
delayms(50);
// Buzzer();
// Buzzer();
P1=0xff;
delayms(20);
aa=_crol_(aa,1);
}
//aa=0x7f;
for(i=0;i<7;i++)
{
P1=aa;
BUZZER=0;
delayms(50);
BUZZER=1;
delayms(50);
// Buzzer();
// Buzzer();
P1=0xff;
delayms(20);
aa=_cror_(aa,1);
}
for(i=0;i<7;i++)
{
P1=aa;
BUZZER=0;
delayms(50);
BUZZER=1;
// Buzzer();
// Buzzer();
P1=0xff;
delayms(10);
aa=_crol_(aa,1);
}
//aa=0x7f;
for(i=0;i<8;i++)
{
P1=aa;
BUZZER=0;
delayms(50);
BUZZER=1;
// Buzzer();
// Buzzer();
P1=0xff;
delayms(10);
aa=_cror_(aa,1);
}
while(1)
{
red=0;green=0;
Write_1602Com(0x01);
Write_1602String(1,1," Please select: ");
Write_1602String(2,1,"1.Low 2.Mid 3.Hi");
while(1)
{
if(Key_Scan()==1)
{
delayms(10);
if(Key_Scan()==1)
{
nms=60;
for(i=0;i<3;i++)
{
Write_1602String(1,1,"Please select: ");
Write_1602String(2,1," 2.Mid 3.Hi");
delayms(500);
Write_1602String(1,1,"Please select: ");
Write_1602String(2,1,"1.Low 2.Mid 3.Hi");
delayms(500);
}
Write_1602String(1,1," ");
break;
}
}
if(Key_Scan()==2)
{
delayms(10);
if(Key_Scan()==2)
{
nms=30;
for(i=0;i<3;i++)
{
Write_1602String(1,1,"Please select: ");
Write_1602String(2,1,"1.Low 3.Hi");
delayms(500);
Write_1602String(1,1,"Please select: ");
Write_1602String(2,1,"1.Low 2.Mid 3.Hi");
delayms(500);
}
Write_1602String(1,1," ");
break;
}
}
if(Key_Scan()==3)
{
delayms(10);
if(Key_Scan()==3)
{
nms=10;
for(i=0;i<3;i++)
{
Write_1602String(1,1,"Please select: ");
Write_1602String(2,1,"1.Low 2.Mid ");
delayms(500);
Write_1602String(1,1,"Please select: ");
Write_1602String(2,1,"1.Low 2.Mid 3.Hi");
delayms(500);
}
Write_1602String(1,1," ");
break;
}
}
delayms(10);
}
Write_1602String(2,1," Begin now! ");
delayms(1000);
Write_1602Com(0x01);
delayms(500);
Write_1602String(1,1,"Scores G:R ");
Write_1602Score(red,green);
while(1)
{
if(((red-green>1)&&(red>=11))||((green-red>1)&&(green>=11)))
{
Write_1602String(1,1,"Congratulations!");
delayms(1000);
if(red>green)
{
for(i=0;i<3;i++)
{
Write_1602String(1,1," Red Win! ");
Write_1602Score(red,green);
P1=0xaa;
for(j=0;j<10;j++)
Buzzer();
// delayms(500);
// Buzzer1();
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
51單片機(jī)-乒乓球游戲.zip
(51.13 KB, 下載次數(shù): 41)
2018-4-26 08:52 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2018-4-26 18:43
樓主您好 能分享個原理圖嗎?
作者:
xws245925587
時間:
2018-4-26 20:54
admin 發(fā)表于 2018-4-26 18:43
樓主您好 能分享個原理圖嗎?
原理圖我再找找,不一定能找到了很久以前的了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1