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