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

📄 10.c

📁 刚学C的小辈。想多多和前辈学习
💻 C
字号:
#include "reg51.h"
#include "intrins.h"	                
#define uchar unsigned char
#define uint  unsigned int



sbit BEEP=P3^2;
sbit led1=P3^3;
sbit led2=P3^4;
/*******************************************/

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                    0x7f,0x6f,0x40,0X3f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0,0,0,1`h;

/******************************************/
void  delay(uchar x)
{ uchar  k;
    while((x--)!=0)
    { for(k=0;k<125;k++)
         {;}
    }
}
/*************************************/
beep()
{
 
 
   BEEP=!BEEP; //BEEP取反
   delay(20);
  
   BEEP=1;           //关闭蜂鸣器
   delay(10);       //延时     
}

/******************************************/
uchar key ()
{
uchar H,b;
	H=0X30;//先查第0行
   while (H<0X36)
   	{
       P2=H;
	    b=P2;
					   if ((b&0X10)!=0)
					    {	delay(30);
                              b=P2;
				 	    	if ((b&0X10)!=0)
		                { beep();
   							return (H&0X0F);
							}}
							
					   if ((b&0X20)!=0)
					     {
					      delay(30);
                          b=P2;
							if ((b&0X20)!=0)
							
						  { beep();
							return (H&0X0F+1);
							
							}}
                //  a=(P2&0x30)+(H&0x0f);
	        
	             
		 	       
	             
					
	         H++; 
       
     }
 	return (0);
	}





main()
{
uchar new,old,i,j;
P0=0X00;

    for (j=0;j<2;j++)
          {
			 beep();		
     	    delay(250);delay(250);delay(250);delay(250);
			 }
         j=0;

while (1)
{
new=key();
i=new;
/*switch (new)
						 {
						  case 0: i=14;break;
					     case 0x20:
						       i=1;break;
						  case 0x21:
						       i=2;break;
						  case 0x22:
						       i=3;break;
						  case 0x23:
						       i=4;break;
						  case 0x24:
						       i=5;break;
						  case 0x25:
						       i=6;break;
						  
						  case 0x10:
						       i=7;break;
						  case 0x11:
						       i=8;break;
						  case 0x12:
						       i=9;break;
						  case 0x13:
						       i=10;break;
						  case 0x14:
						       i=11;break;
						  case 0x15:
						       i=12;break;
						  
						  default:i=13;break;
						  }*/
				if (i==12)
						   {
							P0=0x00;
							delay(50);
						    beep();
							 led2=1;
							 delay(50);
							 led1=0;
							  delay(200);
							 
							 led2=0;
							 led1=1;
							 
							 j=0;
							
						   }

					else if (new!=0)
					       {delay(50);
						      beep();delay(50);beep();delay(50);beep();
					 	      P0=table[i];
					         old=new;							         
								led1=0;
								delay(250);delay(250);delay(250);
								delay(250);delay(250);delay(250);delay(250);
								delay(250);delay(250);delay(250);
								led2=1;led1=1;
					  	   	
							  }
	 
 } 
}









 



	



 

⌨️ 快捷键说明

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