《乒乓球比賽游戲機》由會員分享,可在線閱讀,更多相關(guān)《乒乓球比賽游戲機(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、乒乓球比賽游戲機乒乓球比賽游戲機要求:甲乙雙方參賽,另有一裁判。用8個LED排成一條直線,以中心為界,兩邊各代表參賽雙方的位置,其中一只點亮LED指示球的當(dāng)前位置,點亮的LED依次從左到右,或從右到左,其移動速度應(yīng)該能夠調(diào)節(jié)。當(dāng)“球”(點亮的那只LED)移動到某方的最后一位時,參賽者應(yīng)能果斷地按下位于自己一方的按鈕,表示啟動球拍擊球,若擊中則球向相反方向移動,若未擊中,球掉出桌外,則對方得一分。設(shè)置自動計分電路,甲乙雙方各用兩位數(shù)碼管顯示計分,每計滿11分為1局。雙方各設(shè)一個放光二極管表示擁有發(fā)球權(quán),每隔2次自動交換發(fā)球權(quán),擁有發(fā)球權(quán)的一方發(fā)球才有效。程序#include #define le
2、d P3sbit S1=P11; / 甲隊員sbit S2=P10; / 乙隊員sbit C1=P12;/ 裁判unsigned char i;void delay(int x) /延時10*x ms 函數(shù) int a,b; for(a=0;ax;a+) for(b=1;b=1200;b+); void fangdou(void) /防抖動函數(shù) int i; for(i=0;i2400;i+);程序void zuoyi() /單燈右移 led=0 x7f; for(i=0;i1)|0 x80; void youyi()/單燈右移函數(shù)led=0 xfe; for(i=0;i=7;i+)delay(4); /延時500msled=(led12) P0=0 x83; led=0 x0f; /表示甲方獲勝 程序if(S2=0) fangdou(); loop1: youyi(); if(led=0 xfe)&(S1=0) goto loop2; else led=0 xf0; /表示乙方得分有效 delay(50); led=0 xff; P2=DBcount2; count2+; if(count212) P2=0 x83; led=0 xf0; 程序 if(C1=0)&(S1=1)&(S2=1) /裁判按下 break; /返回重新開始