GSM microcontroller 51 detects the temperature and humidity of the illumination system design

1, specific description

STC89C52 microcontroller to paper, as the control, to achieve the detection of temperature, humidity, light intensity is detected, the LCD displays in real time the hardware circuit design of the circuit and real-time monitoring of the phone. In particular by temperature and humidity sensors as DHT11, photoresistors and AD0809 chip, GTM900-B wireless communication module, the ambient temperature, collect humidity, light intensity of the three parameters, storage, display and other functions, and can transmit the corresponding data in real time to the mobile phone, the system is reliable, simple, cost-effective.

2, hardware circuitry

3, part of the code

#include<reg52.h>
#include"delay.h"
#include"lcd1602.h"
#include"ad0809.h"
#include"DHT11.H"

unsigned char wddata,sddata;
unsigned char ad_d;

unsigned char wenlow=10,wenhig=30;
unsigned char shilow=34,shihig=90;
unsigned char adlow=20,adhig=130;


/////////////////////
sbit k1=P1^4;
sbit k2=P1^5;
sbit k3=P1^6;
sbit k4=P1^7;
unsigned char keyscan();
unsigned char keyscanquick();//¿ì½ÝÊäÈëÓÃÓÚµ÷½Ú·¶Î§
#define ajys 200
/////////////////////
void dis();//ÏÔʾ ÎÂʪ¶È ¹âÕÕ
void jcring();//¼ì²âµç»°µ½À´
void xiugaifanweiandother();//Ð޸ı¨¾¯·¶Î§ÒÔ¼°ÆäËû°´¼ü²Ù×÷


#define Buf_Max 120 //»º´æ³¤¶È120
#define Delay_Time 100  //ÑÓʱ³¤¶È
unsigned char xdata hm[]="18677662985_";
void inithm();//³õʼ ÉèÖõ绰ºÅÂë
void initgsm();//³õʼ»¯GSM
unsigned char i = 0;               //¶¨Ò建´æÖ¸Õë
unsigned char xdata  Rec_Buf[Buf_Max];    //¶¨Ò建´æÊý×é
void Serial_Init(void);            //ÉùÃ÷´®¿Ú³õʼ»¯º¯Êý
void Send_ASCII(unsigned char *b); //ÉùÃ÷·¢ËÍ×Ö·û(ASCIIÂë)º¯Êý
void Delay_ms(unsigned int time);  //ÉùÃ÷ÑÓʱº¯Êý
void CLR_Buf(void);				   //ÉùÃ÷Çå³ý»º´æÄÚÈÝ	
void Send_Hex(unsigned char b);    //ÉùÃ÷·¢ËÍ×Ö·û(Ê®Áù½øÖÆ)º¯Êý
bit  Hand(unsigned char *a);       //ÉùÃ÷Åжϻº´æÖÐÊÇ·ñº¬ÓÐÖ¸¶¨µÄ×Ö·û´®º¯Êý
void fasong();//ºÅÂë¼ÓÄÚÈÝ
void CMGS(unsigned char *tel);
void neirong(void);

unsigned int js=0;//ÓÃÓÚ¼Æʱ£¬AD²ÉÑù
unsigned char xdata flag=0;//·¢ËͶÌÐűê־λ	 ¼ì²â±êÖ¾  ÓÃÓڵȴý ÎÂʪ¶È ¹âÕÕ¼ì²âÎȶ¨ºó²Å¿ªÊ¼ ÅÐ¶Ï ÊÇ·ñ³¬ÏÞ
unsigned char aj;//¼ì²â°´¼ü
unsigned char wz=0;//¼Ç¼°´¼üλÖÃ


void main()
{
    lcdinit();
	initgsm();//³õʼ»¯GSM
    inithm();//³õʼ ÉèÖõ绰ºÅÂë

	while(1)
	{
		js++;
		if(js>1000)
		{
		 js=0;
		 dis();
		}
		jcring();
		xiugaifanweiandother();								 
	}
}

void dis()//ÏÔʾ ÎÂʪ¶È ¹âÕÕ
{
		 ad_d=initad();
		 writecom(0xcb);
		 writedata(ad_d%1000/100+0x30);
		 writedata(ad_d%100/10+0x30);
		 writedata(ad_d%10+0x30); 
		 writedata('L');
		 writedata('x');
		 read_TRH();
		 writestr(1,5,str1);  //ʪ¶È
		 writestr(1,0,str2); //ζÈ

		 if(flag==1 && (ad_d<adlow || ad_d>adhig))	{flag=0;fasong();}
		 if(flag==1 && (wddata<wenlow || wddata>wenhig))	{flag=0;fasong();}
		 if(flag==1 && (wddata<wenlow || wddata>wenhig))	{flag=0;fasong();}
}
void xiugaifanweiandother()//Ð޸ı¨¾¯·¶Î§ºÍ°´¼üÆäËû²Ù×÷
{
	aj=keyscan();
	if(aj==1)
	{
		//writestr(0,0,"LOW   10 60 100 ");
		//writestr(1,0,"HIG   20 80 130 ");
	  	  writestr(0,0,"LOW             ");
		  writestr(1,0,"HIG             ");
		writecom(0x80+6);
		writedata(wenlow%100/10+0x30);
		writedata(wenlow%10+0x30);
		writedata(' ');
		writedata(shilow%100/10+0x30);
		writedata(shilow%10+0x30);
		writedata(' ');
		writedata(adlow%1000/100+0x30);
		writedata(adlow%100/10+0x30);
		writedata(adlow%10+0x30);
		writecom(0xc0+6);
		writedata(wenhig%100/10+0x30);
		writedata(wenhig%10+0x30);
		writedata(' ');
		writedata(shihig%100/10+0x30);
		writedata(shihig%10+0x30);
		writedata(' ');
		writedata(adhig%1000/100+0x30);
		writedata(adhig%100/10+0x30);
		writedata(adhig%10+0x30);
			   writecom(0x80+7);
			   writecom(0x0f);//´ò¿ªÉÁ˸
		while(1)
		{
		   aj=keyscanquick();
			if(aj==2)
			{
			wz=0;
			flag=1;
			writecom(0x0c);//offÉÁ˸
			writecom(0x01);
			writestr(0,0,hm);
			dis();
			break;
			}
			else if(aj==1)
			{
			wz++;
			if(wz>5)  wz=0;
			   if(wz==0)  writecom(0x87); 
			   else if(wz==1) writecom(0x8a);
			   else if(wz==2) writecom(0x8e);
			   else if(wz==3) writecom(0xc7);
			   else if(wz==4) writecom(0xca);
			   else if(wz==5) writecom(0xce);
			}
			else if(aj==3)
			{
			  if(wz==0){if(wenlow<wenhig-9) wenlow++;}
			  else if(wz==1){if(shilow<(shihig-9)) shilow++;}
			  else if(wz==2){if(adlow<(adhig-30)) adlow++;}
			  else if(wz==3){if((wenhig)<99) wenhig++;}
			  else if(wz==4){if((shihig)<99) shihig++;}
			  else if(wz==5){if((adhig)<250) adhig++;}
				writecom(0x80+6);
				writedata(wenlow%100/10+0x30);
				writedata(wenlow%10+0x30);
				writedata(' ');
				writedata(shilow%100/10+0x30);
				writedata(shilow%10+0x30);
				writedata(' ');
				writedata(adlow%1000/100+0x30);
				writedata(adlow%100/10+0x30);
				writedata(adlow%10+0x30);		
				writecom(0xc0+6);
				writedata(wenhig%100/10+0x30);
				writedata(wenhig%10+0x30);
				writedata(' ');
				writedata(shihig%100/10+0x30);
				writedata(shihig%10+0x30);
				writedata(' ');
				writedata(adhig%1000/100+0x30);
				writedata(adhig%100/10+0x30);
				writedata(adhig%10+0x30);
			   if(wz==0)  writecom(0x87); 
			   else if(wz==1) writecom(0x8a);
			   else if(wz==2) writecom(0x8e);
			   else if(wz==3) writecom(0xc7);
			   else if(wz==4) writecom(0xca);
			   else if(wz==5) writecom(0xce);			 			  			
		    }
			else if(aj==4)
			{
			  if(wz==0){if(wenlow>1) wenlow--;}
			  else if(wz==1){if(shilow>1) shilow--;}
			  else if(wz==2){if(adlow>1) adlow--;}
			  else if(wz==3){if((wenhig)>(wenlow+9)) wenhig--;}
			  else if(wz==4){if((shihig)>(shilow+9)) shihig--;}
			  else if(wz==5){if((adhig)>(adlow+30)) adhig--;}
				writecom(0x80+6);
				writedata(wenlow%100/10+0x30);
				writedata(wenlow%10+0x30);
				writedata(' ');
				writedata(shilow%100/10+0x30);
				writedata(shilow%10+0x30);
				writedata(' ');
				writedata(adlow%1000/100+0x30);
				writedata(adlow%100/10+0x30);
				writedata(adlow%10+0x30);		
				writecom(0xc0+6);
				writedata(wenhig%100/10+0x30);
				writedata(wenhig%10+0x30);
				writedata(' ');
				writedata(shihig%100/10+0x30);
				writedata(shihig%10+0x30);
				writedata(' ');
				writedata(adhig%1000/100+0x30);
				writedata(adhig%100/10+0x30);
				writedata(adhig%10+0x30);
			   if(wz==0)  writecom(0x87); 
			   else if(wz==1) writecom(0x8a);
			   else if(wz==2) writecom(0x8e);
			   else if(wz==3) writecom(0xc7);
			   else if(wz==4) writecom(0xca);
			   else if(wz==5) writecom(0xce);			 			  			
		    }
		}
	}
}
void jcring()//¼ì²âµç»°µ½À´
{
    if(strstr(Rec_Buf,"RING")!=NULL)
	{
	CLR_Buf(); 
	Delay_ms(Delay_Time); 
	    Send_ASCII("ATH");
		while(!Hand("OK"))
		{
		Send_ASCII("ATH");Delay_ms(Delay_Time);	
		}
		CLR_Buf(); 
		Delay_ms(Delay_Time); 
		fasong();
		writestr(1,0,"fasong OK");
		CLR_Buf();             //Çå³ý»º´æÄÚÈÝ
        Delay_ms(Delay_Time);        //ÑÓʱ
			writecom(0x01);
			writestr(0,0,hm);
			dis();
	}
}
void  CMGS(unsigned char *tel)
{
     unsigned char code mode[]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x53,0x3D}; //AT+CMGS=
	 unsigned int i,j;
	 ES = 0; 
	 for(i=0;i<8;i++)
        { 
            SBUF=mode[i]; 
            while(TI==0); 
            TI=0;            
        }
     SBUF=0x22;//ÒýºÅ
	 while(TI==0); 
            TI=0; 
	 for(j=0;j<11;j++)
        { 
            SBUF=*tel;
 		    tel++;
            while(TI==0); 
            TI=0;            
        }
	  SBUF=0x22;//ÒýºÅ
	  while(TI==0); 
            TI=0; 
      _nop_();
      SBUF=0x0D;//»Ø³µ
	  while(TI==0); 
           TI=0; 
	  ES = 1; 
}
void neirong(void)		//·¢Ë͵ÄÄÚÈÝ
{
unsigned char q;
ES=0;
TR0=0;

            SBUF=ad_d/100+0x30; 
            while(TI==0); 
            TI=0;            
            SBUF=ad_d%100/10+0x30; 
            while(TI==0); 
            TI=0; 
            SBUF=ad_d%10+0x30; 
            while(TI==0); 
            TI=0;
            SBUF='L'; 
            while(TI==0); 
            TI=0;
            SBUF='x'; 
            while(TI==0); 
            TI=0;

            SBUF='*'; 
            while(TI==0); 
            TI=0;  

	 for(q=0;q<5;q++)	  ///////////////////Êý¾Ý³¤¶È50
        { 
            SBUF=str1[q]; 
            while(TI==0); 
            TI=0;            
        }
            SBUF='*'; 
            while(TI==0); 
            TI=0;  

	 for(q=0;q<5;q++)	  ///////////////////Êý¾Ý³¤¶È50
        { 
            SBUF=str2[q]; 
            while(TI==0); 
            TI=0;            
        }


            SBUF=0X1A; 
            while(TI==0); 
            TI=0;
	      SBUF=0x0D;//»Ø³µ
		  while(TI==0); 
	           TI=0;
	      //SBUF=0x0A;//»»ÐÐ
		  //while(TI==0); 
	      //     TI=0;
ES=1;
TR0=1;
}
void fasong()//ºÅÂë¼ÓÄÚÈÝ
{
        writestr(1,0,"                ");
/*******************************************************************/					
		CMGS(hm);	//·¢Ë͵ĵ绰ºÅÂë	    
		while(!Hand(">"))
		 {
	   	writecom(0xc0);
		writedata(' ');
	        delay(10000);
	   	writecom(0xc0);
		writedata('*');
	        delay(10000);
		 }
	   	writecom(0xc0);
		writedata('*');
		CLR_Buf();                //Çå³ý»º´æÄÚÈÝ
		delay(1000);
/*******************************************************************/									
		neirong();
		while(!Hand("OK"))
		 {
	   	writecom(0xc1);
		writedata(' ');
	        delay(10000);
	   	writecom(0xc1);
		writedata('*');
	        delay(10000);
		 }
	   	writecom(0xc1);
		writedata('*');
		CLR_Buf();                //Çå³ý»º´æÄÚÈÝ
		delay(10000);delay(10000);
		writestr(0,0,hm);

}
void initgsm()//³õʼ»¯GSM
{
   Serial_Init();
   	writecom(0xc0);
	writedata('*');
	delay(1000);
		CLR_Buf();             //Çå³ý»º´æÄÚÈÝ
        Delay_ms(Delay_Time);        //ÑÓʱ
		Send_ASCII("AT");    //·¢ËÍÁª»úÖ¸Áî 
        while(!Hand("OK"))     //ÅжÏÊÇ·ñÎÕÊֳɹ¦,Èç¹û²»³É¹¦ÑÓʱһ»á,ÔÙ·¢ËÍATÎÕÊÖÖ¸Áî
			{
				Send_ASCII("AT"); //·¢ËÍÁª»úÖ¸Áî
	   	writecom(0xc0);
		writedata(' ');
				delay(10000);
	   	writecom(0xc0);
		writedata('*');
				delay(10000);					
			}
	   	writecom(0xc0);
		writedata('*');
		CLR_Buf();                //Çå³ý»º´æÄÚÈÝ
		Delay_ms(Delay_Time);     //ÑÓʱ
		Send_ASCII("AT+CMGF=1");  //Îı¾(TEXT)ģʽ 
		Delay_ms(Delay_Time);     //ÑÓʱ
		while(!Hand("OK"))	      //µÈ´ýÉèÖóɹ¦
			{
				Send_ASCII("AT+CMGF=1");  //Îı¾(TEXT)ģʽ 
	   	writecom(0xc1);
		writedata(' ');
				delay(10000);
	   	writecom(0xc1);
		writedata('*');
				delay(10000);				  
			}
	   	writecom(0xc1);
		writedata('*');
		CLR_Buf();
		Delay_ms(Delay_Time);     //ÑÓʱ
	    Send_ASCII("AT+CPMS=\"SM\",\"SM\",\"SM\"");//ËùÓвÙ×÷¶¼ÔÚMT(Ä£¿éÖÕ¶Ë)ÖнøÐÐ
		Delay_ms(Delay_Time);     //ÑÓʱ
		while(!Hand("OK"))       //µÈ´ýÉèÖóɹ¦
		    {
				Send_ASCII("AT+CPMS=\"SM\",\"SM\",\"SM\"");//ËùÓвÙ×÷¶¼ÔÚMT(Ä£¿éÖÕ¶Ë)ÖнøÐÐ
	   	writecom(0xc2);
		writedata(' ');
				delay(10000);
	   	writecom(0xc2);
		writedata('*');
				delay(10000);					
			}
	   	writecom(0xc2);
		writedata('*');
				delay(1000);
		CLR_Buf();                //Çå³ý»º´æÄÚÈÝ					
		Delay_ms(Delay_Time);     //ÑÓʱ
		while(!Hand("OK"))       //µÈ´ýÉèÖóɹ¦
			{
				Send_ASCII("AT+CNMI=2,1");//ÉèÖõ±ÓÐжÌÐŵ½À´Ê±Ìáʾ
	   	writecom(0xc3);
		writedata(' ');
				delay(10000);
	   	writecom(0xc3);
		writedata('*');
				delay(10000);					
			}
	   	writecom(0xc3);
		writedata('*');
				delay(1000);
		CLR_Buf();                //Çå³ý»º´æÄÚÈÝ
		Delay_ms(Delay_Time);     //ÑÓʱ

		writedata(' ');
		writedata('I');
		writedata('n');
		writedata('i');
		writedata('t');
		writedata('g');
		writedata('s');
		writedata('m');
		writedata('O');
		writedata('K');
}
/***************************´®¿Ú³õʼ»¯º¯Êý*****************************/
/*º¯ÊýÔ­ÐÍ:void Serial_Init(void)
/*º¯Êý¹¦ÄÜ:´®¿Ú³õʼ»¯
/*ÊäÈë²ÎÊý:ÎÞ
/*Êä³ö²ÎÊý:ÎÞ
/**********************************************************************/
void Serial_Init(void)//´®¿Ú³õʼ»¯º¯Êý
{
 SCON = 0x50;//´®¿Ú:·½Ê½1,ÔÊÐí·¢ËͺͽÓÊÕ
 TMOD = 0x20;//¶¨Ê±Æ÷1:ģʽ2,8λ×Ô¶¯ÖØװģʽ,ÓÃÓÚ²úÉú²¨ÌØÂÊ    
 TH1 = 0xFD; //11.0592MHZ¾§Õñ£¬²¨ÌØÂÊΪ9600
 TL1 = 0xFD;   
 TR1 = 1;    //¿ªÆô¶¨Ê±Æ÷1   
 ES = 1;     //¿ªÆô´®¿ÚÖжÏ
 EA = 1;     //¿ªÆôÈ«¾ÖÖжÏ
}

/****************************´®¿ÚÖжϴ¦Àíº¯Êý**************************/
/*º¯ÊýÔ­ÐÍ:void Serial_Int(void)
/*º¯Êý¹¦ÄÜ:´®¿ÚÖжϴ¦Àí
/*ÊäÈë²ÎÊý:ÎÞ
/*Êä³ö²ÎÊý:ÎÞ
/**********************************************************************/
void Serial_Int() interrupt 4 
{	
	ES = 0;	 //¹Ø´®¿ÚÖжϣ¬·ÀÖ¹ÖжÏǶÌ×
	if(TI)	 //Èç¹ûÊÇ·¢ËÍÖжϣ¬Ôò²»×öÈκδ¦Àí
		{
			TI = 0;  //Çå³ý·¢ËÍÖжϱê־λ
		}
	if(RI)	 //Èç¹ûÊǽÓËÍÖжϣ¬Ôò½øÐд¦Àí
		{
			RI = 0; //Çå³ý½ÓÊÕÖжϱê־λ
			Rec_Buf[i] = SBUF; //½«½ÓÊÕµ½µÄ×Ö·û´®´æµ½»º´æÖÐ
			i++;               //»º´æÖ¸ÕëÏòºóÒƶ¯
			if(i>200)          //Èç¹û»º´æÂú,½«»º´æÖ¸ÕëÖ¸Ïò»º´æµÄÊ×µØÖ·
				{
					i = 0;
				}
		}
	ES = 1;	 //¿ªÆô´®¿ÚÖжÏ
}
/****************************·¢ËÍ×Ö·û(ASCII)º¯Êý***********************/
/*º¯ÊýÔ­ÐÍ:void Send_ASCII(unsigned char *b) 
/*º¯Êý¹¦ÄÜ:·¢ËÍ×Ö·û(ASCIIÂë)
/*ÊäÈë²ÎÊý:unsigned char *b
/*Êä³ö²ÎÊý:ÎÞ
/**********************************************************************/
void Send_ASCII(unsigned char *b)         
{
    ES = 0;                   //¹Ø´®¿ÚÖжÏ
    for (b; *b!='\0';b++)
    	{
        	SBUF = *b;
        	while(TI!=1);     //µÈ´ý·¢ËÍÍê³É
			TI = 0;           //Çå³ý·¢ËÍÖжϱê־λ
		}
	ES = 1;                   //¿ª´®¿ÚÖжÏ
	Send_Hex(0x0d);           //·¢Ëͻسµ·û
 	Send_Hex(0x0a);           //·¢ËÍ»»Ðзû 
}
/****************************time msÑÓʱº¯Êý***************************/
/*º¯ÊýÔ­ÐÍ:Delay_ms(unsigned int time)
/*º¯Êý¹¦ÄÜ:ÑÓʱTime ms
/*ÊäÈë²ÎÊý:time
/*Êä³ö²ÎÊý:ÎÞ
/**********************************************************************/
void Delay_ms(unsigned int time)
{
 unsigned char j;
 for(;time>0;time--)
 	{
  		j = 1500;
  		while(j--);
 	}
}

/**************************Çå³ý»º´æÊý¾Ýº¯Êý****************************/
/*º¯ÊýÔ­ÐÍ:void CLR_Buf(void)
/*º¯Êý¹¦ÄÜ:Çå³ý»º´æÊý¾Ý
/*ÊäÈë²ÎÊý:ÎÞ
/*Êä³ö²ÎÊý:ÎÞ
/*µ÷ÓÃÄ£¿é:ÎÞ
/**********************************************************************/
void CLR_Buf(void)
{
	unsigned char k;
    for(k=0;k<Buf_Max;k++)    //½«»º´æÄÚÈÝÇåÁã
	    {
			Rec_Buf[k] = '\0';
		}
    i = 0;                    //½ÓÊÕ×Ö·û´®µÄÆðʼ´æ´¢Î»ÖÃ
}

/*************************·¢ËÍ×Ö·û(Ê®Áù½øÖÆ)º¯Êý********************/
/*º¯ÊýÔ­ÐÍ:void Send_Hex(unsigned char c)
/*º¯Êý¹¦ÄÜ:·¢ËÍ×Ö·û(Ê®Áù½øÖÆ)
/*ÊäÈë²ÎÊý:unsigned char c
/*Êä³ö²ÎÊý:ÎÞ
/*µ÷ÓÃÄ£¿é:ÎÞ
/******************************************************************/ 
void Send_Hex(unsigned char c)         
{
    ES = 0;               //¹Ø´®¿ÚÖжÏ
    SBUF = c;
    while(TI!=1);         //µÈ´ý·¢ËÍÍê³É
    TI = 0;               //Çå³ý·¢ËÍÖжϱê־λ
	ES = 1;               //¿ª´®¿ÚÖжÏ
}

/*****************Åжϻº´æÖÐÊÇ·ñº¬ÓÐÖ¸¶¨µÄ×Ö·û´®º¯Êý******************/
/*º¯ÊýÔ­ÐÍ:bit Hand(unsigned char *a)
/*º¯Êý¹¦ÄÜ:Åжϻº´æÖÐÊÇ·ñº¬ÓÐÖ¸¶¨µÄ×Ö·û´®
/*ÊäÈë²ÎÊý:unsigned char *a Ö¸¶¨µÄ×Ö·û´®
/*Êä³ö²ÎÊý:bit 1---º¬ÓÐ    0---²»º¬ÓÐ
/*µ÷ÓÃÄ£¿é:ÎÞ
/*******************************************************************/
bit Hand(unsigned char *a)
{ 
    if(strstr(Rec_Buf,a)!=NULL)
	    return 1;
	else
		return 0;
}
void inithm()//³õʼ ÉèÖõ绰ºÅÂë
{
		writestr(0,0,hm);
		   writecom(0x0f);	   //´ò¿ª¹â±ê
		   writecom(0x80);  //ÏÔʾ¹â±ê³õʼλÖÃ
		   	while(1)
			 {
				aj=keyscan();
				if(aj==2)
				{
				writecom(0x0c);	 //Òþ²Ø¹â±ê
				writecom(0x01);
				wz=0;
				writestr(0,0,hm);
				break;
				}

				if(aj==1)
				{
				wz=wz+1;
				if(wz==11) wz=0;
				 writecom(0x80+wz);  //ÏÔʾ¹â±ê³õʼλÖÃ			 
				}

				if(aj==3)
				{
				    if(wz==0){if(hm[wz]<0x39) hm[wz]++;}
					else if(wz==1){if(hm[wz]<0x39) hm[wz]++;}
				    else if(wz==2){if(hm[wz]<0x39) hm[wz]++;}
					else if(wz==3){if(hm[wz]<0x39) hm[wz]++;}				
				    else if(wz==4){if(hm[wz]<0x39) hm[wz]++;}
					else if(wz==5){if(hm[wz]<0x39) hm[wz]++;}				
				    else if(wz==6){if(hm[wz]<0x39) hm[wz]++;}
					else if(wz==7){if(hm[wz]<0x39) hm[wz]++;}	
					else if(wz==8){if(hm[wz]<0x39) hm[wz]++;}				
				    else if(wz==9){if(hm[wz]<0x39) hm[wz]++;}
					else if(wz==10){if(hm[wz]<0x39) hm[wz]++;}				
					else if(wz==11){if(hm[wz]<0x39) hm[wz]++;}
					writedata( hm[wz] );
					writecom(0x80+wz);				
				}

			     if(aj==4)
				 {
				    if(wz==0){if(hm[wz]>0x30) hm[wz]--;}
					else if(wz==1){if(hm[wz]>0x30) hm[wz]--;}
				    else if(wz==2){if(hm[wz]>0x30) hm[wz]--;}
					else if(wz==3){if(hm[wz]>0x30) hm[wz]--;}				
				    else if(wz==4){if(hm[wz]>0x30) hm[wz]--;}
					else if(wz==5){if(hm[wz]>0x30) hm[wz]--;}				
				    else if(wz==6){if(hm[wz]>0x30) hm[wz]--;}
					else if(wz==7){if(hm[wz]>0x30) hm[wz]--;}	
					else if(wz==8){if(hm[wz]>0x30) hm[wz]--;}				
				    else if(wz==9){if(hm[wz]>0x30) hm[wz]--;}
					else if(wz==10){if(hm[wz]>0x30) hm[wz]--;}				
					else if(wz==11){if(hm[wz]>0x30) hm[wz]--;}
					writedata( hm[wz] );
					writecom(0x80+wz);																	
				 }
			 }
}
unsigned char keyscan()
{
	if(k1==0)
	{
	  delay(ajys);
	  {
	    if(k1==0)
		while(k1==0);
		return 1;
	  }	   
	}
	else if(k2==0)
	{
	  delay(ajys);
	  {
	    if(k2==0)
		while(k2==0);
		return 2;
	  }	
	}
	else if(k3==0)
	{
	  delay(ajys);
	  {
	    if(k3==0)
		while(k3==0);
		return 3;
	  }	
	}
	else if(k4==0)
	{
	  delay(ajys);
	  {
	    if(k4==0)
		while(k4==0);
		return 4;
	  }	
	}
	else
	return 0;
}
unsigned char keyscanquick()//¿ì½ÝÓÃÓÚµ÷½Ú·¶Î§
{
	if(k1==0)
	{
	  delay(ajys);
	  {
	    if(k1==0)
		while(k1==0);
		return 1;
	  }	   
	}
	else if(k2==0)
	{
	  delay(ajys);
	  {
	    if(k2==0)
		while(k2==0);
		return 2;
	  }	
	}
	else if(k3==0)
	{
	  delay(ajys);
	  {
	    if(k3==0)
		return 3;
	  }	
	}
	else if(k4==0)
	{
	  delay(ajys);
	  {
	    if(k4==0)
		return 4;
	  }	
	}
	else
	return 0;
}

 

Published 30 original articles · won praise 12 · views 1993

Guess you like

Origin blog.csdn.net/weixin_41017942/article/details/105331618