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

📄 main.lst

📁 无线音频电话(gprs)
💻 LST
字号:
C51 COMPILER V7.00  MAIN                                                                   03/14/2005 12:06:39 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MAIN.C OPTIMIZE(SIZE) REGFILE(.\gprsnew.ORC) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /***************************************************************
   2          程序程序:GPRS_DTU通信程序
   3          功能描述:
   4          该程序是基于AT89C51RD2的GPRS_DTU通信程序,用于完成无线IP数据传输。
   5          ****************************************************************/
   6          
   7          #include <reg52.h>
   8          #include <absacc.h>
   9          #include <string.h>
  10          
  11          #define uchar   unsigned char
  12          #define uint    unsigned int
  13          
  14          sfr WMCON   = 0x96;     /* Watchdog and Memory Control Register */
  15          #define WDTC() (WMCON |= 0x02)
  16          
  17          #define         TIMER2_VECTOR_NUMBER    5
  18          
  19          sbit LED = P3^7;
  20          sbit PD =  P3^6;
  21          
  22          const unsigned char code menu[] =
  23                  "\n\r"
  24                  "+***************SETUP MENU for TDX-GSM Modem****************+\n\r"
  25                  "|             泰达鑫GPRS无线音频传输终端设置菜单            |\n\r"
  26                  "|                 深圳泰达鑫通信技术有限公司                |\n\r"
  27                  "|***********************************************************|\n\r"
  28                  "+  功能选择  +--------------功能描述------------------------|\n\r"
  29                  "|      1     |固定电话号码设置                              |\n\r"
  30              "|      2     |移动电话号码设置                              |\n\r"
  31              "|      3     |管理员密码设定                                |\n\r"
  32              "|      4     |状态查询                                      |\n\r"
  33                  "|     Q/q    |退出设置程序                                  |\n\r"
  34              "+------------+----------------------------------------------+\n\r";
  35          
  36          extern void setup(void);
  37          extern void ReadUserBlock(uchar idata *input,uint Address,uchar Number);
  38          
  39          //------COMM.C------------------
  40          
  41          extern  void  _SysInit(void);
  42          extern bit              _AsyncGetTest(void);
  43          extern  uchar   _AsyncGet(void);
  44          extern void       _AsyncOpen(uint Baud, uchar Parity);
  45          extern  void  _EXP_InfoRec(void);
  46          extern  void  Switch_OFF(void);
  47          extern  void  Vol_control(void);
  48          extern  uchar   data    Vol_Rec;
  49          
  50          //------GsmModem.c----------------
  51          extern  void    Mc35Rst();
  52          
  53          //------LOGIN.C-------------------
  54          extern uchar login_ack();
  55          
C51 COMPILER V7.00  MAIN                                                                   03/14/2005 12:06:39 PAGE 2   

  56          //-----Public Variable declare----
  57          unsigned char idata input[32];
  58          unsigned char idata tempbuf[32];
  59          
  60          unsigned char bdata flags;                      /*      bit value flag declare */
  61          sbit PUB_Async_TI = flags^2;
  62          sbit PUB_Async_RI = flags^3;
  63          
  64          unsigned long  data             SYSTIME ;
  65          unsigned long  data             TempCount;
  66          
  67          /***************************
  68          ***get current SYSTIME value.
  69          ****************************/
  70          unsigned long GET_COUNT()
  71          {
  72   1              unsigned long   tempcount;
  73   1              ET2 = 0;
  74   1              tempcount = SYSTIME;
  75   1              ET2 = 1;
  76   1              return tempcount;
  77   1      }
  78          
  79          /*************************
  80          Timer 2 interval 10 ms 
  81          **************************/
  82          void timer2() interrupt TIMER2_VECTOR_NUMBER
  83          {
  84   1              TF2 = 0;
  85   1              SYSTIME ++;
  86   1      }
  87          
  88          /*************************
  89          函数名称:Delay(uint x)
  90          函数功能:延时  x * 10 ms,最长65535 * 10 ms
  91          **************************/
  92          void Delay(uint x)
  93          {
  94   1              unsigned long   CT;
  95   1              CT = GET_COUNT();
  96   1              while(GET_COUNT() - CT < x) 
  97   1              {
  98   2                      if(Vol_Rec)
  99   2                      {
 100   3                              Vol_Rec = 0;
 101   3                              Vol_control();
 102   3                      }
 103   2                      WDTC();
 104   2                      PCON = PCON | 0x01;
 105   2              }
 106   1      }
 107          
 108          /*************************
 109          主函数:main()
 110          **************************/
 111          main()
 112          {
 113   1              uchar   cc;
 114   1              uint    swconter;
 115   1              bit             int1_state;
 116   1      
 117   1              int1_state = 1;
C51 COMPILER V7.00  MAIN                                                                   03/14/2005 12:06:39 PAGE 3   

 118   1              _SysInit();
 119   1              _AsyncOpen(9600, 0);                            /*      open the UART */
 120   1              LED = 0;
 121   1              PD = 0;
 122   1              TempCount = GET_COUNT();
 123   1              while(GET_COUNT() - TempCount < 300 )
 124   1              {       
 125   2                      if (_AsyncGetTest())
 126   2                      {
 127   3                              cc = _AsyncGet();
 128   3                              if(cc == 0x0D)
 129   3                              {
 130   4                                      setup();
 131   4                                      break;
 132   4                              }
 133   3                      }       
 134   2              }
 135   1              PD = 1;
 136   1              while(1)
 137   1              {
 138   2                      _SysInit();
 139   2                      _AsyncOpen(9600, 0);                            /*      open the UART */
 140   2                      swconter = 0;
 141   2                      LED=1;
 142   2      //              Mc35Rst();
 143   2      //              if(login_ack()==0)continue;
 144   2                      LED=0;
 145   2      
 146   2                      WMCON = 0xa3;                   //1010001B      WDT is 512MS and enbale function.
 147   2                      TempCount = GET_COUNT();
 148   2                      while(1)
 149   2                      {
 150   3                              WDTC();
 151   3                              PCON = PCON | 0x01;
 152   3                              if(_AsyncGetTest())
 153   3                                      _EXP_InfoRec();
 154   3                              if (INT0==0)
 155   3                              {
 156   4                                      LED = 0;
 157   4                                      TempCount = GET_COUNT();
 158   4                                      if ( (++swconter) >= 300 ) 
 159   4                                      {
 160   5                                              LED = 1;
 161   5                                              WMCON = 0x00;                   //1010001B      WDT is 512MS and enbale function.
 162   5                                              while(1)
 163   5                                              {
 164   6                                                      while (INT0==0);
 165   6                                                      Delay(5);               
 166   6                                                      if (INT0)
 167   6                                                      {
 168   7                                                              Switch_OFF();
 169   7                                                      }
 170   6                                              }
 171   5                                      }
 172   4                              }
 173   3                              else  
 174   3                              {
 175   4                                      swconter = 0;
 176   4                              }
 177   3                              if( (GET_COUNT() - TempCount) >= 1000)
 178   3                                      LED=1;
 179   3                              if(Vol_Rec)
C51 COMPILER V7.00  MAIN                                                                   03/14/2005 12:06:39 PAGE 4   

 180   3                              {
 181   4                                      Vol_Rec = 0;
 182   4                                      Vol_control();
 183   4                              }
 184   3                      }
 185   2              }
 186   1      }
 187          
 188          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    347    ----
   CONSTANT SIZE    =    696    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9       8
   IDATA SIZE       =     64    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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