shumaguanxianshi.c

来自「0~99按键计数器」· C语言 代码 · 共 63 行

C
63
字号
/**********************************************************
 0~99按键计数器 
 Copy Right to 廖晶晶@Gliet
 P0口为段选,P1口为位选
 2006.11.14  14:05
**********************************************************/
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int

uchar Dis[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

 void delay(uint t)   //定义延时函数
{
register uint bt;
for(;t;t--)
 for(bt=0;bt<255;bt++);
}

void main()
{uchar i=0,temp1=0,temp2=0;
 while(P1==0xff)
   {P3=0xfe;
    P0=0x3f;
	delay(5);
	P3=0xfd;
	P0=0x3f;
	delay(5);
   }
 while(1)
   { if ((P1!=0xff)&&(i<99))
	  {delay(100);
	   i++;
	   temp1=i%10;
	   temp2=i/10;	   
       while (1)
		{P0=Dis[temp1];
		 P3=0xfd;
		 delay(5);
		 P0=Dis[temp2];
		 P3=0xfe;
		 delay(5);
		 if(P1!=0xff)
		  {break;}
		}
	  }
	 if ((i>=99)&&(P1!=0xff))
	  {while (1)
	   {P3=0xfd;
	    P0=0x79;
	    delay(5);
	    P3=0xfe;
		P0=0x79;
		delay(5);
	    if(P1!=0xff)
		 {break;}
		i=0;
	   }
      } 
   }
}

⌨️ 快捷键说明

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