篮球记分牌的,求大佬帮我纠正程序错误。程序复制出来乱了。求大佬看看了
#include<regx51.h>code unsigned seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x07f,0x6f};int m=1,n=60,x=0,y=0,i=0,jie=2,zidong=1,bujin=1,zanting=0,chuzanting=0;void delay(int t){ while(t--){ unsigned int i; for(i=0;i<200;i++);}}void display(int i,int j,int x,int y){ if(jie==1&&bujin!=2) P1=0xbf; P2=0xfe; P0=seg[i%100/10]; delay(1);P0=0; P2=0xff; P2=0xfd; P0=seg[i%10]; delay(1);P0=0; P2=0xff; P2=0xfb; P0=seg[j%100/10]; delay(1); P0=0; P2=0xff; P2=0xf7; P=seg[j%10]; delay(1); P0=0; P2=0xff; P2=0xef; P0=seg[x%100/10]; delay(1); P2=0xff; P0=0; P2=0xdf; P0=seg[x%10]; delay(1); P2=0xff; P0=0; P2=0xbf; P0=seg[y%100/10]; delay(1); P0=0; P2=0xff; P2=0x7f; P0=seg[y%10]; delay(1); P0=0; P2=0xff; } void t0(void) interrupt 1 { TH0=0xb1; TL0=0x10;if(n==0){n=60;m--;}i++;if(i==50){n--;i=0;}display(m,n-1,x,y);} void keyjiafen1(){ delay(1);{if(RXD==0){while(RXD==0);x++;}}if(TXD==0){ delay(1); if(TXD==0) { while(TXD==0); y++; } }}void keyjianfen1(){if(WR==0){delay(1);if(WR==0){while(WR==0);x--;}}if(RD==0){ delay(1); if(RD==0) { while(RD==0); y--; } } } void key2() { if(INT0==0) { delay(10); if(INT0==0) { chuzanting=0; zanting=1; n++; if(n==60) { m++; n=1; } } } if(INT1==0) { delay(10); if(INT1==0) { chuzanting=0; zanting=1; n--; } } } void shijian() { if(zanting==1&&INT0==1&&INT1==1&&chuzanting==0) { EA=0; zanting=0; chuzanting=0; while(1) { display(m,n,x,y); if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=1; break; } } } } } void key3() { int temp; if(zidong==1&&jie==1) { temp=x; y=temp; display(m,n,x,y); zidong=0; bujin=0; } } void key4() { if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=0; while(1) { display(m,n,x,y); if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=1; break; } } } } } } void over() { if((m==0)&&(n==0)) { if(jie>1) { m=2; n=0; EA=0; T1=1; delay(400); T1=0; while(1) { display(m,n,x,y); if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=1; break; } } } jie--; } if(jie==1&&bujin==2) { EA=0; m=0; n=0; T1=1; delay(400); T1=0; P1=0x3f; while(1) display(m,n,x,y); } } } void main() { TMOD=0x01; EA=1; ET0=1; TH0=0xb1; TL0=0x10; TR0=1; P3=0xff; P1=0x7f; T1=0; while(1) { keyjiafen1(); keyjianfen1(); key2(); if(zidong==1) key3(); if(n=18&&bujin==0) { bujin=2; } shijian(); key4(); over(); } }
#include<regx51.h>code unsigned seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x07f,0x6f};int m=1,n=60,x=0,y=0,i=0,jie=2,zidong=1,bujin=1,zanting=0,chuzanting=0;void delay(int t){ while(t--){ unsigned int i; for(i=0;i<200;i++);}}void display(int i,int j,int x,int y){ if(jie==1&&bujin!=2) P1=0xbf; P2=0xfe; P0=seg[i%100/10]; delay(1);P0=0; P2=0xff; P2=0xfd; P0=seg[i%10]; delay(1);P0=0; P2=0xff; P2=0xfb; P0=seg[j%100/10]; delay(1); P0=0; P2=0xff; P2=0xf7; P=seg[j%10]; delay(1); P0=0; P2=0xff; P2=0xef; P0=seg[x%100/10]; delay(1); P2=0xff; P0=0; P2=0xdf; P0=seg[x%10]; delay(1); P2=0xff; P0=0; P2=0xbf; P0=seg[y%100/10]; delay(1); P0=0; P2=0xff; P2=0x7f; P0=seg[y%10]; delay(1); P0=0; P2=0xff; } void t0(void) interrupt 1 { TH0=0xb1; TL0=0x10;if(n==0){n=60;m--;}i++;if(i==50){n--;i=0;}display(m,n-1,x,y);} void keyjiafen1(){ delay(1);{if(RXD==0){while(RXD==0);x++;}}if(TXD==0){ delay(1); if(TXD==0) { while(TXD==0); y++; } }}void keyjianfen1(){if(WR==0){delay(1);if(WR==0){while(WR==0);x--;}}if(RD==0){ delay(1); if(RD==0) { while(RD==0); y--; } } } void key2() { if(INT0==0) { delay(10); if(INT0==0) { chuzanting=0; zanting=1; n++; if(n==60) { m++; n=1; } } } if(INT1==0) { delay(10); if(INT1==0) { chuzanting=0; zanting=1; n--; } } } void shijian() { if(zanting==1&&INT0==1&&INT1==1&&chuzanting==0) { EA=0; zanting=0; chuzanting=0; while(1) { display(m,n,x,y); if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=1; break; } } } } } void key3() { int temp; if(zidong==1&&jie==1) { temp=x; y=temp; display(m,n,x,y); zidong=0; bujin=0; } } void key4() { if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=0; while(1) { display(m,n,x,y); if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=1; break; } } } } } } void over() { if((m==0)&&(n==0)) { if(jie>1) { m=2; n=0; EA=0; T1=1; delay(400); T1=0; while(1) { display(m,n,x,y); if(P1_0==0) { delay(1); if(P1_0==0) { while(P1_0==0); EA=1; break; } } } jie--; } if(jie==1&&bujin==2) { EA=0; m=0; n=0; T1=1; delay(400); T1=0; P1=0x3f; while(1) display(m,n,x,y); } } } void main() { TMOD=0x01; EA=1; ET0=1; TH0=0xb1; TL0=0x10; TR0=1; P3=0xff; P1=0x7f; T1=0; while(1) { keyjiafen1(); keyjianfen1(); key2(); if(zidong==1) key3(); if(n=18&&bujin==0) { bujin=2; } shijian(); key4(); over(); } }