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

📄 gprstest.c

📁 关于单片机(51系列)通过GPRS模块和上位机进行通信
💻 C
字号:

         /*************************************** 
         *               sj-ldx                 *
         ***************************************/

# include <reg51.h>
# include <intrins.h>
# define uchar unsigned char
# define TR 0
# define disp P0
unsigned char pdata doc1[19]={'A','T','+','I','I','S','P','1','=','*','9','9','*','*','*','1','#',0x0d,0x0a};
unsigned char pdata doc2[25]={'A','T','+','I','D','N','S','1','=','2','1','1','.','1','3','6','.','1','8','.','1','7','1',0x0d,0x0a};
unsigned char pdata doc3[14]={ 'A','T','+','I','U','S','R','N','=','W','A','P',0x0d,0x0a};
unsigned char pdata doc4[13]={'A','T','+','I','P','W','D','=','W','A','P',0x0d,0x0a};
unsigned char pdata doc5[33]={'A','T','+','I','M','I','S','=','"','A','T','+','C','G','D','C','O','N','T','=','1',',','I','P',',','C','M','N','E','T',0x0d,0x0a};
unsigned char pdata doc6[10]={'A','T','+','I','X','R','C','=','0',0x0d,0x0a};
unsigned char pdata doc7[12]={'A','T','+','I','M','T','Y','P','=','2',0x0d,0x0a};
unsigned char pdata doc8[26]={'A','T','+','I','S','T','C','P',':','2','0','3','.','9','3','.','5','.','5','5',',','1','0','2','4',0x0d,0x0a};      ;open a socket
unsigned char pdata doc9[13]={'A','T','+','I','S','S','N','D','%',':',00H,00H,00H,};              ;send data to a socket
unsigned char pdata doc11[20]={ '1','6',':','1','2','3','4','5','6','a','b','c','d','e','f','g','h','i','j',0x0d,0x0a};
unsigned char pdata doc12[12]={ 'A','T','+','I','S','S','T',':','X','X','X',0x0d,0x0a};                ;socket stued
unsigned char pdata doc13[13]={ 'A','T','+','I','S','R','C','V',':','X','X','X',0x0d,0x0a};               ;recived data
unsigned char pdata doc14[13={ 'A','T','+','I','S','C','L','S',':','X','X','X',0x0d,0x0a};               ;close socket
unsigned char pdata doc15[5]={  'I','/', 00H,00H,00H,0x0d,0x0a};                         ;XXX
unsigned char pdata doc16[256]={  00H,0x0d,0x0a};
;unsigned char pdata doc17[10]={'D:\MASM\GPRS.ASM',0x0d,0x0a};
unsigned char pdata doc18[10240]={  00H,0x0d,0x0a};
unsigned char pdata doc19[5]={ '8','0','9','6',':',0x0d,0x0a};
unsigned char pdata doc20[13]={ 'D','1','2','0','D','1','2','0','D','1','2','0',0x0d,0x0a};


uchar data doc0[4]={0x41,0x54,0x45,0x0D};
uchar data doc1[10]={'A','T','+','C','M','G','F','=','0',0x0d};
uchar data doc2[10]={'A','T','+','C','S','M','S','=','0',0x0d};
uchar data doc3[11]={'A','T','+','C','M','G','S','=','1','9',0x0d};
uchar data doc4[18]={'0','8','9','1','6','8','3','1','0','8','2','0','0','7','0','5','F','0'};
uchar data doc5[39]={'1','1','0','0','0','b','8','1','3','1','0','9','1','7','8','3','4','4','f','3','0','0','0','0','A','A','0','5','E','8','3','2','9','B','F','D','0','6',0x1a};
uchar pf;
unsigned char data plk[4],mnk[12];
bit data bit_bu;

sbit led=P3^7;
sbit alm=P3^5;      /* for alarm */     
sbit P2_6=P2^6;
sbit P3_3=P3^3;
sbit P3_6=P3^6;
sbit P0_4=P0^4;
sbit P0_5=P0^5;
sbit P0_6=P0^6;
sbit P0_7=P0^7;

/* delay 1MS */
void delay(void)
{
 unsigned int data i;
 for (i=100;i>0;i--)
  { }
 }

 void  disply(void)
  {
     unsigned char data k,j;
     for (k=1;k<2;k++)
     {
     disp=0;
     P0_5=0;P0_4=0;
     disp=disp|plk[0];
     P3_6=0;P3_6=1;
     delay();   
     disp=0;
     P0_5=0;P0_4=1;
     disp=disp|plk[1];
     P3_6=0;P3_6=1;
     delay();
     disp=0;  
     P0_5=1;P0_4=0;
     if(plk[2]==0)
        plk[2]=15;
     disp=disp|plk[2];
     P3_6=0;P3_6=1;
     delay();
     disp=0;
     P0_4=1;P0_5=1;
     disp=disp|plk[3];
     delay();
     P3_6=0;P3_6=1;
     }
   }

  void init (void)
  {
    TMOD=0X20;
    TH1=0Xfd;
    TL1=0xfd;
    PCON=0x00;
    TR1=1;
    SCON=0x50;
    EA=0;
  }
  void send(void)
  {
      uchar i,kk;
      unsigned int data j,hh;
     do {
          for (i=0;i<19;i++)
           {hh=&doc1[0];
            SBUF=doc1[i];
             while(TI==0);TI=0;
             delay();
            }
           for (j=0;j<28;j++)
           { while(RI==0);RI=0;
             mnk[j]=SBUF;
             if ((mnk[j]^0x4b)==0)
                { hh=mnk[j];
                 break;}
             }
         /*    kk=mnk[1]&0x0f;plk[2]=kk;kk=mnk[1]&0xf0;plk[3]=kk;
             kk=mnk[2]&0x0f;plk[0]=kk;kk=mnk[2]&0xf0;plk[1]=kk;
             disply();          */ 
         }while((hh^0X4b)!=0);
         plk[0]=plk[1]=plk[2]=plk[3]=12;
         disply();  

          do {
            for (i=0;i<25;i++)
              { SBUF=doc2[i];
                while(TI==0);TI=0;
                delay();
               }
              for(j=0;j<35;j++)
               { while(RI==0);RI=0;
                 mnk[j]=SBUF;
                 hh=0;
                 if ((mnk[j]^0x4b)==0)
                   { hh=mnk[j];
                     break;  }
               }
            }while ((hh^0x4b)!=0);
            plk[0]=plk[1]=plk[2]=plk[3]=13;
            disply();
          do{
             for (i=0;i<14;i++)
              { SBUF=doc3[i];
               while (TI==0);TI=0;
               delay();
               }
               for (j=0;j<24;j++)
               { while (RI==0);RI=0;
                 mnk[j]=SBUF;
                 hh=0;
                 if ((mnk[j]^0x4b)==0)
                   { hh=mnk[j];
                      break;  }
               }
             }while ((hh^0x4b)!=0);
             plk[0]=plk[1]=plk[2]=plk[3]=6;
             disply();
            do {
                for (i=0;i<13;i++)
                    {  SBUF=doc4[i];
                       while(TI==0);TI=0;
                       delay();
                      }
                   for (j=0;j<20;j++)
                      { while (RI==0);RI=0;
                        mnk[j]=SBUF;
                        if ((mnk[j]^0x4B)==0)
                           { hh=mnk[j];
                              break;}
                       }
                       delay();
                }while ((hh^0x4B)!=0);
                plk[0]=plk[1]=plk[2]=plk[3]=14;
                disply(); 
             do {
                for (i=0;i<33;i++)
                    {  SBUF=doc5[i];
                       while(TI==0);TI=0;
                       delay();
                      }
                   for (j=0;j<42;j++)
                      { while (RI==0);RI=0;
                        mnk[j]=SBUF;
                        if ((mnk[j]^0x4B)==0)
                           { hh=mnk[j];
                              break;}
                       }
                       delay();
                }while ((hh^0x4B)!=0);
		do {
                for (i=0;i<10;i++)
                    {  SBUF=doc6[i];
                       while(TI==0);TI=0;
                       delay();
                      }
                   for (j=0;j<20;j++)
                      { while (RI==0);RI=0;
                        mnk[j]=SBUF;
                        if ((mnk[j]^0x4B)==0)
                           { hh=mnk[j];
                              break;}
                       }
                       delay();
                }while ((hh^0x4B)!=0);
		do {
                for (i=0;i<12;i++)
                    {  SBUF=doc7[i];
                       while(TI==0);TI=0;
                       delay();
                      }
                   for (j=0;j<20;j++)
                      { while (RI==0);RI=0;
                        mnk[j]=SBUF;
                        if ((mnk[j]^0x4B)==0)
                           { hh=mnk[j];
                              break;}
                       }
                       delay();
                }while ((hh^0x4B)!=0);


            do {
                for (i=0;i<26;i++)
                   {SBUF=doc8[i];
                    while (TI==0);TI=0;
                    delay();
                   }
                

                 for (j=0;j<37;j++)
                    {  while (RI==0);RI=0;
                       mnk[j]=SBUF;
                       hh=0;
                       if ((mnk[j]^0x4b)==0)
                          {  hh=mnk[j];
                             break;}
                     }
                      delay();
                    
               }while((hh^0x4f)!=0);                         
       }

void  main (void)
   {
     init();
     plk[0]=plk[1]=plk[3]=plk[2]=1;
     disply();
     if (TR==0)
     {
       send();
      } 
     else
     {
      plk[0]=plk[1]=plk[2]=plk[3]=2;
      disply ();
      }
     }

⌨️ 快捷键说明

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