⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 程序.txt

📁 实现秒表的功能
💻 TXT
字号:
#include<reg51.h>
 #include<absacc.h>
#define char unsigned char
char code
dis7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};
 // char data dis[10]={0x05,0xf5,0x13,0x51,0xe1,0x49,0x09,0xd5,0x01,0x41};
char code scan[4]={0xfe,0xfd,0xfb,0xf7};
char data dis[4]={0x00,0x00,0x00,0x00};
char data timedata[2]={0x00,0x00};
char save=0;show=0;
char data a[2],b[2],c[2],d[2],e[2],f[2],g[2],h[2],m[2],l[2];
char data ms50=0x00;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
void fun1(void);
void fun2(void);
delay (int t)
{ int i,j;
for (i=0;i<t;i++)
for (j=0;j<120;j++)
 ;
}
 sanf()
 { char k;
 dis[0]=timedata[0]%10;dis[1]=timedata[0]/10;
 dis[2]=timedata[1]%10;dis[3]=timedata[1]/10;

 for(k=0;k<4;k++)
 { P0=dis7[dis[k]];
   P2=scan[k];
   delay(1);
   P2=0xff;
 }
 }
 main()
 { char key=0;
  TH0=(65536-10000)/256;
  TL0=(65536-10000)%256;
   TMOD=0x01;
   ET0=1;
 
   EA=1;
   while(1)
   { if(P1_0==0)
   { delay(10);
    if(P1_0==0)
   {key++;}
   }
   while (!P1_0) {sanf();}
   

  switch (key)
   { case 0:{TR0=0;break;}
     case 1:{ fun1();break;}
	 case 2:{fun2();break;}
	 case 3:{key=0;timedata[0]=timedata[1]=0;save=show=0;break;}
   }
  
    sanf();
	}
 }
 void fun1()
 { char j;
   TR0=1;
  if (P1_1==0)
  { delay(10);
   if (P1_1==0)
   {  save++;
   sanf();
   }
  switch (save)
  { case 1:     {for (j=0;j<2;j++)
	            a[j]=timedata[j];break;}
	case 2:		{for (j=0;j<2;j++)
	            b[j]=timedata[j];break;}
	case 3:		   {for (j=0;j<2;j++)
	            c[j]=timedata[j];break;}
	case 4:		  {for (j=0;j<2;j++)
	             d[j]=timedata[j];break;}
	case 5:		   {for (j=0;j<2;j++)
	             e[j]=timedata[j];break;}
	case 6:		  {for (j=0;j<2;j++)
	            f[j]=timedata[j];break;}
	case 7:		   {for (j=0;j<2;j++)
             	 h[j]=timedata[j];break;}
	case 8:		   {for (j=0;j<2;j++)
	             g[j]=timedata[j];break;}
	case 9:		   {for (j=0;j<2;j++)
             	 l[j]=timedata[j];break;}
	case 10:		 {for (j=0;j<2;j++)
              	 m[j]=timedata[j];break;}

  } 
  }
   while (!P1_1) {sanf();} 
 }
 void fun2()
 { TR0=0;
   if (P1_2==0)
   { delay(10);
    if (P1_2==0)
	{ show++;
	 sanf();
	}
  switch(show)
  {	 case 1:  {timedata[0]=a[0] ;
	         timedata[1]=a[1];break;}
     case 2:   	{timedata[0]=b[0] ;
	         timedata[1]=b[1];break;}
	 case 3:   {timedata[0]=c[0] ;
	         timedata[1]=c[1];break;}
	 case 4:   {timedata[0]=d[0] ;
	         timedata[1]=d[1];break;}
	 case 5:   {timedata[0]=e[0] ;
	         timedata[1]=e[1];break;}
	 case 6:	{timedata[0]=f[0] ;
	         timedata[1]=f[1];break;}
	 case 7:	 {timedata[0]=h[0] ;
	         timedata[1]=h[1];break;}
	 case 8:	{timedata[0]=g[0] ;
	         timedata[1]=g[1];break;}
	 case 9:	 {timedata[0]=l[0] ;
	         timedata[1]=l[1];break;}
	 case 10:	  {timedata[0]=m[0] ;
	         timedata[1]=m[1];break;}
  }	 

   }
	while (!P1_2) {sanf();}
 }
 void time_intt0(void) interrupt 1
 { ET0=0;
   TR0=0;
   TH0=0x3c;//65536-10000/256
   TL0=0xb0;           %
   TR0=1;
   ms50++;
   if(ms50==1)
   { ms50=0x00; timedata[0]++;
     if (timedata[0]==99)
	 {  timedata[0]=0;timedata [1]++;
	  if (timedata[1]==60)
	  { timedata[1]=0;
	  
	  }
	 }
   
   }
	 ET0=1;
 }











⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -