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

📄 main.lst

📁 该程序完成了c8051外围电路的驱动和串口协议的编写。希望能给大家学习51单片机带来帮助
💻 LST
字号:
C51 COMPILER V7.10   MAIN                                                                  09/18/2008 14:09:27 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 20progress\Main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\Main.lst) OBJECT(Main.o
                    -bj)

line level    source

   1          //*******************************************************************************
   2          //Copyright (c) 2007,派利斯电子(北京)有限公司 硬件部
   3          //文件名称: Main.c
   4          //摘    要: 本文件主要包含PT2060-20程序中的主程序运行
   5          //当前版本: D-1 
   6          //作    者:  佟文杰
   7          //完成日期: 4/13/2007
   8          //修 改 人:
   9          //修改原因:
  10          //修改日期:
  11          //*******************************************************************************
  12          #include "hardware.h"
  13          #include "currentmodule.h"
  14          #include "channelstatus.h"
  15          #include "Framemodule.h"
  16          #include "adsample.h"
  17          #include "alarm.h"
  18          #include "can.h"
  19          #include "comm.h"
  20          #include "flashmodule.h"
  21          #include "C8051F020.H"                  //主函数的头文件调用最后全归结到调用framemodule.h文件
  22          
  23          
  24          void HaveHOTResetProcess(void);
  25          void NotHaveHOTResetProcess(void);
  26          unsigned int idata  uchRstType _at_ 0xaf;
  27          
  28          void main(void)
  29          {       
  30   1              EA=0;
  31   1              DisableDog();
  32   1              EnableDog();
  33   1              InitHardWareModule();
  34   1      
  35   1      
  36   1              if (uchRstType != 0xa55a)
  37   1              {
  38   2                      uchRstType = 0xa55a;    
  39   2                      NotHaveHOTResetProcess();               
  40   2              }
  41   1              else if (uchRstType == 0xa55a)
  42   1              {
  43   2                      HaveHOTResetProcess();
  44   2                      InitHotResetFramPara();
  45   2                      SetHotResetFlag(1);
  46   2              }
  47   1              else
  48   1              {
  49   2                      HaveHOTResetProcess();
  50   2              }
  51   1      
  52   1              while(1)
  53   1              {                       
  54   2                      MainSignalProcess();
C51 COMPILER V7.10   MAIN                                                                  09/18/2008 14:09:27 PAGE 2   

  55   2                      CanMessageProcess();            
  56   2              }
  57   1      }
  58          
  59          //--------------------------------------------------------------------------
  60          //函数名称:void NotHaveHOTResetProcess(void)
  61          //功    能:没有热复位只是上电复位的执行程序     
  62          //输入参数:无
  63          //返    回:无
  64          //完成日期:4/12/2007
  65          //--------------------------------------------------------------------------
  66          void NotHaveHOTResetProcess(void)
  67          {       
  68   1              InitRuningLEDControl();          //   加灯闪烁控制
  69   1              InitHardWareParaVariable();
  70   1              InitAlarmModuleSoftPara();
  71   1              InitChannelModulePara();
  72   1              SetHeartInterval(10);
  73   1              StartHeartBeat();
  74   1              InitAlarmModuleHeartBeatPara();
  75   1              InitFramemoduleParameters();     //AD模块初始化应该放在参数初始化滞后
  76   1              EIP2 = EIP2 | 0x02;       //采样优先级最高
  77   1              StartHeartBeat();
  78   1              EA = 1;         
  79   1              InitFramemoduleVariable();
  80   1              CANModuleParaInit();            
  81   1              JudgeCPUSituationFlag();        
  82   1              DelayTimeReportModuleType();
  83   1              InitCOMMModulePara();
  84   1              CheckSystemRAMInvalidation();
  85   1              CheckSystemFLASHInvalidation(); 
  86   1      }
  87          
  88          //--------------------------------------------------------------------------
  89          //函数名称:void HaveHOTResetProcess(void)
  90          //功    能:有热复位时执行的程序    
  91          //输入参数:无
  92          //返    回:无
  93          //完成日期:4/12/2007
  94          //--------------------------------------------------------------------------
  95          void HaveHOTResetProcess(void)
  96          {
  97   1              unsigned char xdata uchCPUAddress;
  98   1      
  99   1              InitRuningLEDControl(); 
 100   1              HaveHotResetAlarmProcess(1);               
 101   1              HaveHotResetAlarmProcess(2);               
 102   1              InitHardWareParaVariable();
 103   1      
 104   1      //----------------------------------------
 105   1      //-------------------------------------------------
 106   1      
 107   1              SetHeartInterval(10);
 108   1              StartHeartBeat();
 109   1              InitAlarmModuleHeartBeatPara();
 110   1              InitFramemoduleParameters();     //AD模块初始化应该放在参数初始化滞后
 111   1              uchCPUAddress = ReadCANAddress();
 112   1              CAN_Init(uchCPUAddress,1);      
 113   1              StopCan();                              
 114   1              ClearAllMessage();              
 115   1              StartCan();                             
 116   1              IE |= 0x04;         //开中断1中断
C51 COMPILER V7.10   MAIN                                                                  09/18/2008 14:09:27 PAGE 3   

 117   1              IT1 = 0;              //电平触发
 118   1              EIP2 = EIP2 | 0x02;       //采样优先级最高
 119   1              StartHeartBeat();
 120   1              EA = 1;         
 121   1              InitFramemoduleVariable();
 122   1              CANModuleParaInit();    
 123   1              JudgeCPUSituationFlag();
 124   1              InitCOMMModulePara();
 125   1              CheckSystemRAMInvalidation();
 126   1              CheckSystemFLASHInvalidation(); 
 127   1      }
 128          
 129          
 130          
 131          
 132          
 133          
 134          
 135          
 136          
 137          
 138          
 139          
 140          
 141          
 142          
 143          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    207    ----
   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 + -