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

📄 main.lst

📁 本程序是一个RS232转网口的。是一个透明传输的模块
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  09/26/2008 13:35:49 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN ..\OUT\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Source\main.c BROWSE DEBUG OBJECTEXTEND PRINT(..\OUT\main.lst) OBJECT(..
                    -\OUT\main.obj)

stmt level    source

   1          /*
   2          *****************************************************************************************************
   3          *
   4          *  File name: main.c
   5          *****************************************************************************************************
   6          */
   7          #include "..\head\includes.h"
   8          
   9          
  10          
  11          /*
  12          *****************************************************************************************************
  13          * PORTA初始化
  14          *****************************************************************************************************
  15          */
  16          xdata  PSD_REGS  PSD_reg  _at_ 0x8000; //该地址与PSD软件里RAM配置的地址要一致
  17          void Mcu_Port_Init(void)
  18          {
  19   1          PSD_reg.CONTROL_A.byte = 255;
  20   1          PSD_reg.DIRECTION_A.byte = 255;
  21   1      
  22   1      }
  23          
  24          /*
  25          *****************************************************************************************************
  26          * 变量初始化
  27          *****************************************************************************************************
  28          */
  29          void ValueInit(void)
  30          {
  31   1          LED(CONNECT_LED,ON);                      //在线LED
  32   1              LED(RUN_LED,ON);                          //运行LED
  33   1              DEFAULT_PIN   = 1;                        //恢复出厂值引脚初始化为高电平
  34   1              bConnect      = FALSE;                    //设置未连接  
  35   1          HttpFlag      = FALSE;                    //WEB模式
  36   1          SendHeartFlag = FALSE;                    //已发送心跳包
  37   1              ConnectNum = RECONNECT_NUM;               //设置一个本地端口号重连几次
  38   1              LocalPort  = 1024;                        //本地端口初始设置为1024
  39   1          ModelStatu = MODEL_CONFIG_STATU;          //初始为配置状态
  40   1      }
  41          
  42          /*
  43          *****************************************************************************************************
  44          *FUNC:  各功能初始化
  45          *NOTE:                  
  46          *****************************************************************************************************
  47          */
  48          #if 0
              #define VOID_FUNC_NUM   9
              
              typedef void(*VoidFuncPtr)(void);
              
              VoidFuncPtr code VoidInitFunc[VOID_FUNC_NUM]=
              { 
C51 COMPILER V7.06   MAIN                                                                  09/26/2008 13:35:49 PAGE 2   

                  Mcu_Port_Init,      //端口PORTA初始化
                      ValueInit,          //变量值初始化
                      Uart0Init,          //波特率要跟根据FALSH里的设置串口初始化
                      Uart0BufferInit,    //串口缓冲区初始化
                      Timer0Init,         //定时器初始化
                      Rtl8019Init,        //初始化8019as
                      InitPingTable,      //初始化PING表
                      InitArpTable,       //初始化ARP表
                      TcpInit             //初始化tcp套接字
              };
              #endif
  66          
  67          void Mcu_Init(void)
  68          {
  69   1      #if 0
                  unsigned char i;
                      
                      for (i=0; i<VOID_FUNC_NUM; i++) {
                          if (VoidInitFunc[i]) {
                          VoidInitFunc[i]();
                              }
                      }
              #endif
  78   1      
  79   1          Mcu_Port_Init();      //端口PORTA初始化
  80   1              ValueInit();          //变量值初始化
  81   1              NetConfigInit();      //网络配置初始化 这一定要在UART0INIT前,因为波特率是根据读出来配置
  82   1              Uart0Init();          //波特率要跟根据FALSH里的设置串口初始化
  83   1              Uart0BufferInit();    //串口缓冲区初始化
  84   1              Timer0Init();         //定时器初始化
  85   1              Rtl8019Init();        //初始化8019as
  86   1              InitPingTable();      //初始化PING表
  87   1              InitArpTable();       //初始化ARP表
  88   1              TcpInit();            //初始化tcp套接字
  89   1      
  90   1              DHCPInit();
  91   1      
  92   1      #ifdef  PROTOCOL_2004
                  Pro2004Init();
              #endif
  95   1      }
  96          
  97          /*
  98          *****************************************************************************************************
  99          *FUNC:  模块参数配置
 100          *NOTE:  
 101              1:TimerMil[T_DELAY_NUM] int型 每1MS自减一次.                
 102                  2:1s之内有收到"0x30"空格键,进入配置,ModelStatu = MODEL_CONFIG_STATU
 103                  3:退出配置时ModelStatu = MODEL_RUN_STATU;以便主程序里判断
 104          *****************************************************************************************************
 105          */
 106          void Model_Config(void)
 107          {
 108   1          unsigned char xdata key=0;
 109   1      
 110   1              HintMsg(6,NULL);
 111   1          TimerMil[T_DELAY_NUM] = 1500;  
 112   1          while (TimerMil[T_DELAY_NUM]) {
 113   2                  inRxBuf_Bak = inRxBuf;         //减少分侦的可能
 114   2              Mygetch(&key);
 115   2                      if ((key == 'S')||(key == 's')) {
 116   3                  break;
C51 COMPILER V7.06   MAIN                                                                  09/26/2008 13:35:49 PAGE 3   

 117   3                      }
 118   2              }       
 119   1              if ((key == 'S')||(key == 's')) {
 120   2              ModelStatu = MODEL_CONFIG_STATU;
 121   2                  TimerSec[T_EXIT_CONFIG] = EXIT_CONFIG_SEC;
 122   2                      HintMsg(3,NULL);              //提示进入配置
 123   2              } else {
 124   2              ModelStatu = MODEL_RUN_STATU;
 125   2                      HintMsg(4,NULL);              //提示退出配置
 126   2              }
 127   1      
 128   1              DelayHMSM(0,0,0,100);             //进入主程序前初始化指针,这里延时是让提示信息先发完   
 129   1          Uart0BufferInit();                //缓冲区指针一定要初始化
 130   1      }
 131          
 132          /*
 133          *****************************************************************************************************
 134          *FUNC:  
 135          *NOTE:  
 136          *****************************************************************************************************
 137          */
 138          void main(void)
 139          {
 140   1              //WDTEN();                                 //看门狗使能 
 141   1              WDTDIS();
 142   1          Mcu_Init();                                //单片机定时,串口初始化,网络配置初始化
 143   1              Model_Config();                            //是否进入配置状态
 144   1      
 145   1              while(1) {
 146   2                      if (Query8019()) {                         //表示收到数据包
 147   3                              MainCycle();
 148   3                  }
 149   2              
 150   2              Cycle10ms();                           //10MS一个周期运行
 151   2              Cycle1s();                             //1S一个周期运行
 152   2      
 153   2                      Data2_Te2NetBuf();                     //串口数据扫描,有数据存入Te2NetBuf
 154   2                      Parse_Te2NetBuf();                     //如果Te2NetBuf有数据,解析 配置命令/发到NET
 155   2              Parse_Net2TeBuf();                     //如果Net2TeBuf有数据,解析 配置命令/发到终端
 156   2              #ifdef  PROTOCOL_2004
                          ParseReSentBuf();
                      #endif
 159   2              }
 160   1      }
 161          
 162          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    232    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       1
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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