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

📄 5112udp.lst

📁 一个嵌入式系统通过GPRS进行数据传输的程序,协议芯片为5112,程序中描述了通过单片机上网及通过UDP数据传输的过程
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE 5112UDP
OBJECT MODULE PLACED IN 5112udp.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 5112udp.C LARGE OPTIMIZE(7,SPEED) DEBUG OBJECTEXTEND

line level    source

   1          #include <reg530.h>
   2          #include <d-com.h>
   3          #include <intrins.h>
   4          void main( void )
   5          {
   6   1              unsigned char data i,k;
   7   1              unsigned int data j;
   8   1              unsigned char *p;
   9   1              bit b;
  10   1      
  11   1      
  12   1              TA=0xaa;
  13   1              TA=0x55;
  14   1              EWT=0;
  15   1              init_cpu();
  16   1      
  17   1      
  18   1      
  19   1      
  20   1              watchdog();
  21   1       //     init_watchdog(0x03);
  22   1              clear_ram();
  23   1              DSP_STAT=0;
  24   1              DSP_LINK=0;
  25   1              DSP_CALL=0;
  26   1              DSP_SEND=0;
  27   1              DSP_RCV=0;
  28   1              RST_5112=1;
  29   1              waitinit=1;
  30   1              RST_5112=0;
  31   1              settimer(13);
  32   1      
  33   1              for ( i = 0 ; i < 24 ; i++ ) wait(150);
  34   1              DSP_RCV=1;
  35   1              for ( i = 0 ; i < 24 ; i++ ) wait(150);
  36   1              DSP_SEND=1;
  37   1              for ( i = 0 ; i < 24 ; i++ ) wait(150);
  38   1              DSP_STAT=1;
  39   1              for ( i = 0 ; i < 24 ; i++ ) wait(150);
  40   1              DSP_LINK=1;
  41   1              for ( i = 0 ; i < 24 ; i++ ) wait(150);
  42   1      
  43   1      
  44   1      
  45   1      
  46   1              TA=0xaa;
  47   1              TA=0x55;
  48   1              EWT=1;
  49   1              init_watchdog(0x00);
  50   1              waitinit=0;
  51   1              init_sys();
  52   1              init_5112();
  53   1              settimer(0);
  54   1              issend_to_server=1;
  55   1              settimer(10);
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 2   

  56   1              while(1)
  57   1              {
  58   2                      j++;
  59   2                      if ( j > 2000)
  60   2                      {
  61   3                              watchdog();
  62   3                              j=0;
  63   3                      }
  64   2                      if ( request_ppp == 1 | run == 0 )
  65   2                      {
  66   3                              killtimer(3);
  67   3                              DSP_LINK=1;
  68   3                              DSP_CALL=1;
  69   3                              if ( run == 1 )
  70   3                              {
  71   4                                      smsindex=0;
  72   4                                      hangup();
  73   4                                      DSP_RCV=1;
  74   4                                      DSP_SEND=0;
  75   4                                      for ( k = 0 ; k < 12 ; k++ )
  76   4                                      {
  77   5                                              wait(100);
  78   5                                              wait(100);
  79   5                                              wait(100);
  80   5                                              wait(100);
  81   5                                              DSP_RCV=~DSP_RCV;
  82   5                                              DSP_SEND=~DSP_RCV;
  83   5                                      }
  84   4                                      DSP_RCV=1;
  85   4                                      DSP_SEND=1;
  86   4                                      if ( smsindex != 0 ) sm_prog();
  87   4                              }
  88   3                              b=0;
  89   3                              i=0;
  90   3                              while( !b )
  91   3                              {
  92   4                                      b=call();
  93   4                                      if ( b ) break;
  94   4                                      i++;
  95   4                                      if ( i >= 5 )
  96   4                                      {
  97   5                                              while(1)
  98   5                                              {
  99   6                                              }
 100   5                                      }
 101   4                                      if ( i > 1 )
 102   4                                      {
 103   5                                              //hangup();
 104   5                                              gsm_poweroff();
 105   5                                              
 106   5                                              RST_5112=1;
 107   5                                              wait(100);
 108   5                                              wait(100);
 109   5                                              wait(100);
 110   5                                              RST_5112=0;
 111   5                                              for ( k = 0 ; k < 150 ; k++ ) wait(100);
 112   5                                              reset_5112();
 113   5                                      }
 114   4                                      else
 115   4                                      {
 116   5                                              for ( k = 0 ; k < 60 ; k++ ) wait(100);
 117   5                                      }
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 3   

 118   4      
 119   4                              }
 120   3                              request_ppp=0;
 121   3                              run=1;
 122   3                      }
 123   2                      if ( ! timer3 ) settimer(3);
 124   2                      if ( request_reset )
 125   2                      {
 126   3                              hangup();
 127   3                              gsm_poweroff();
 128   3                              while(1)
 129   3                              {
 130   4                              ;
 131   4                              }
 132   3                      }
 133   2      
 134   2                      if ( rcv_set == 1 )//save socket set
 135   2                      {
 136   3                              p=&sockset[0];
 137   3                              i=x_server_port;
 138   3                              x_write(i,p,2);//write server port
 139   3                              p=&sockset[2];
 140   3                              i=x_server_addr;
 141   3                              x_write(i,p,4);//write server port
 142   3      
 143   3                              if (( rcv_data0 == 0 ) & (send_com0_finish == 1 ))
 144   3                              {
 145   4                                      sendsetack();
 146   4                                      DSP_SEND=0;
 147   4                                      settimer(11);
 148   4                                      rcv_set=0;
 149   4                                      killtimer(0);//display for set socket ok
 150   4                                      b=DSP_CALL;
 151   4                                      DSP_STAT=1;
 152   4                                      DSP_LINK=1;
 153   4                                      DSP_CALL=1;
 154   4                                      DSP_SEND=1;
 155   4                                      DSP_RCV=1;
 156   4                                      wait(150);
 157   4                                      wait(150);
 158   4                                      DSP_STAT=0;
 159   4                                      DSP_LINK=0;
 160   4                                      DSP_CALL=0;
 161   4                                      DSP_SEND=0;
 162   4                                      DSP_RCV=0;
 163   4                                      wait(150);
 164   4                                      wait(150);
 165   4                                      DSP_STAT=1;
 166   4                                      DSP_LINK=1;
 167   4                                      DSP_CALL=1;
 168   4                                      DSP_SEND=1;
 169   4                                      DSP_RCV=1;
 170   4                                      DSP_CALL=b;
 171   4                                      settimer(0);
 172   4                              }
 173   3                      }
 174   2                      if ( request_send_ack_to_server == 1 )
 175   2                      {
 176   3                              if (( rcv_data0 == 0 ) & (send_com0_finish == 1 ))
 177   3                              {
 178   4                                      resetconnect();
 179   4                                      sendack();
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 4   

 180   4                                      DSP_SEND=0;
 181   4                                      settimer(11);
 182   4                                      request_send_ack_to_server=0;
 183   4                              }
 184   3                      }
 185   2                      else
 186   2                      {
 187   3                              if ( request_send_data_to_server == 1)
 188   3                              {
 189   4                                      timer10_reg=0;
 190   4                                      if (( rcv_data0 == 0 ) & (send_com0_finish == 1 ))
 191   4                                      {
 192   5                                              resetconnect();
 193   5                                              send_data();
 194   5                                              request_send_data_to_server=0;
 195   5                                      }
 196   4                              }
 197   3                              else
 198   3                              {
 199   4                                      if ( request_send_chk_to_server == 1 )
 200   4                                      {
 201   5                                              if (( rcv_data0 == 0 ) & (send_com0_finish == 1 ))
 202   5                                              {
 203   6                                                      resetconnect();
 204   6                                                      sendchk();
 205   6                                                      DSP_SEND=0;
 206   6                                                      settimer(11);
 207   6                                                      request_send_chk_to_server=0;
 208   6                                              }
 209   5                                      }
 210   4                              }
 211   3                      }
 212   2              }
 213   1      }
 214          ///////////////////////////////
 215          //
 216          //NAME: reset_5112
 217          //DESCRIPTION: reset wavecom and 5112 for call fail
 218          //CALL:
 219          //INPUT:
 220          //OUTPUT:
 221          //
 222          ///////////////////////////////
 223          void reset_5112(void)
 224          {
 225   1              TR2=0;
 226   1              TH2=0xff;  // ffb8 for 9600 ffdc for 19200 fff4 for 57600 for 22.1184MHz
 227   1              TL2=0xb8;
 228   1              RCAP2H=0xff;
 229   1              RCAP2L=0xb8;
 230   1              TR2=1;
 231   1              init_5112();
 232   1      }
 233          ///////////////////////////////
 234          //
 235          //NAME: gsm_poweroff
 236          //DESCRIPTION: power off gsn
 237          //CALL:
 238          //INPUT:
 239          //OUTPUT:
 240          //
 241          ///////////////////////////////
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 5   

 242          void gsm_poweroff(void)
 243          {
 244   1              unsigned char i;
 245   1              DSP_SEND=0;
 246   1              DSP_RCV=0;
 247   1      
 248   1              send_ctr_com0_buf[0]=0x7e;
 249   1              send_ctr_com0_buf[1]=0x39;
 250   1              send_ctr_com0_buf[2]=0x00;
 251   1              send_ctr_com0_buf[3]=0x03;
 252   1              send_ctr_com0_buf[4]=0x7e;
 253   1              send_data0=0;
 254   1              send_ctr_com0_len=5;
 255   1              send_com0_cnt=0;
 256   1              send_com0_finish=0;
 257   1              TI=1;
 258   1              ack=0;
 259   1              settimer(9);
 260   1              while ( !ack )
 261   1              {
 262   2              ;

⌨️ 快捷键说明

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