找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2610|回复: 0
打印 上一主题 下一主题
收起左侧

单片机乒乓球游戏机程序 小白求大神改一下

[复制链接]
跳转到指定楼层
楼主
想做一个乒乓球游戏机  功能:刚开始通过产生一个随机数来判断谁发球  当球(就是发光二极管)达到两端是按下击球键 球向回走 若未接到 则对方得一分

这是我的程序
#include<reg52.h>
#include<intrins.h>
#include<stdlib.h>
#define uint unsigned int
#define uchar unsigned char
void change();
void display();
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f         };
uchar aa,mm;
uint SUM=0;
sbit PA=P1^0;
sbit PB=P1^1;
sbit PC=P1^2;
sbit dula=P2^0;                                                        
sbit wela=P2^1;
void delay(uint xms)
{        uint m,n;                                
        for(m=xms;m>0;m--)
                for(n=110;n>0;n--) ;
}
void main()
{        int j,i;
        P3=0x00;
        wela=1;
        P0=0x00;
        wela=0;
        dula=1;
        P0=table[0]        ;
        dula=0;
    i=rand();
        if(i%2==0)
                aa=0x80;
        else
                aa=0x01;
    while(1)//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
        {        if(PC==0)  //..........................................
                {        delay(10);
                        if(PC==0)
                        {        P3=aa;          //裁判判断谁发球
                        }
                while(~PC);//..........................................
                }
               
               
                if(PB==0)        //.........................................
                {        delay(10);
                        if(PB==0)
                        {        if(P3==0x01)
                                {        aa=0x01;
                                        for(j=0;j<8;j++)
                                        {        P3=aa;
                                                delay(200);
                                                aa=_crol_(aa,1);//判断为B时B发球
                                        }
                                mm=0x80;
                                }
                                while(~PB);
                        }
                }             //.........................................
                  
               
                if(PA==0)          //.........................................
                {        delay(10);
                        if(PA==0);
                        {        if(P3==0x80)
                                {        aa=0x80;
                                        for(j=0;j<8;j++)
                                        {        P3=aa;                        //判断为A时A发球
                                                delay(200);
                                                aa=_cror_(aa,1);
                                        }
                                mm=0x01;
                                }
                                while(~PA);
                        }
                }                //..................................................
        

                if(mm==0x80&&PA!=0)
                {        P3=0x00;
                        SUM=SUM+1;
                }
                if(mm==0x01&&PB!=0)
                {        P3=0x00;
                        SUM=SUM+100;
                }
                display();
        }           //while()结尾的括号$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
}                   //main()结尾的括号%%%%%%%%%%%%%%%%%%%%%%%%%%
void display(void)
{        P0=0x0e;
        wela=1;
        wela=0;
        P0=table[SUM%10];
        dula=1;
        dula=0;
        delay(2);
        P0=0x0d ;
        wela=1;
        wela=0;
        P0=table[SUM/10%10];
        dula=1;
        dula=0;
        delay(2);
        P0=0x0b;
        wela=1;
        wela=0;
        P0=table[SUM/100%10];
        dula=1;
        dula=0;
        delay(2);
        P0=0x07;
        wela=1;
        wela=0;
        P0=table[SUM/1000%10];
        dula=1;
        dula=0;
        delay(2);        
}

为什么一按按键数码管的灯就灭了 然后按下击球键 数码管就不断地出随机数

~PR){`G1}XSU]5R)J~A9430.png (27.82 KB, 下载次数: 53)

~PR){`G1}XSU]5R)J~A9430.png

_(B)T53134JU(YF6KUT$AQ9.png (44.95 KB, 下载次数: 42)

_(B)T53134JU(YF6KUT$AQ9.png

(@E`(7F{GHW)P@_O9E~MX4O.png (29.82 KB, 下载次数: 51)

(@E`(7F{GHW)P@_O9E~MX4O.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表