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

📄 taskmain.lst

📁 STC12C5410AD模拟串口再现多串口通讯
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   TASKMAIN                                                              10/30/2008 13:20:04 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TASKMAIN
OBJECT MODULE PLACED IN TaskMain.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TaskMain.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #define DATA
   2          #include"include.h"
   3          
   4          /*********************************************************************************************************
   5          ** 函数名称: uint8 ReadKey(void)
   6          ** 功能描述: 读取本机地址
   7          ** 输   入: 无
   8          ** 输   出: 无
   9          ** 全局变量: 
  10          ** 调用模块: 
  11          **
  12          ** 作   者: 李伟
  13          ** 日   期: 2008年12月09日
  14          **-------------------------------------------------------------------------------------------------------
  15          ** 修 改 人:
  16          ** 日   期:
  17          **-------------------------------------------------------------------------------------------------------
  18          ********************************************************************************************************/
  19          uint8 ReadKey(void)
  20          {
  21   1              uint8 KEY;
  22   1              KEY = 0;
  23   1          if(KEY0 == 1)KEY = KEY + 1;
  24   1              if(KEY1 == 1)KEY = KEY + 2;
  25   1              if(KEY2 == 1)KEY = KEY + 4;
  26   1              if(KEY3 == 1)KEY = KEY + 8;
  27   1              return KEY;
  28   1      }
  29          /*********************************************************************************************************
  30          ** 函数名称: void Voltage_Collect(void)
  31          ** 功能描述: 各模拟量采集
  32          ** 输   入: 无
  33          ** 输   出: 无
  34          ** 全局变量: 
  35          ** 调用模块: 
  36          **
  37          ** 作   者: 李伟
  38          ** 日   期: 2008年12月09日
  39          **-------------------------------------------------------------------------------------------------------
  40          ** 修 改 人:
  41          ** 日   期:
  42          **-------------------------------------------------------------------------------------------------------
  43          ********************************************************************************************************/
  44          void Voltage_Collect(void)
  45          {
  46   1              uint8 channel;
  47   1              uint16 adcT;
  48   1              ChargeCurrent    = Adc_Collect(NEG_CURRENT);  //充电电流为负
  49   1              DisChargeCurrent = Adc_Collect(ACT_CURRENT);  //放电电流为正
  50   1              for(channel = 0;channel < 15;channel++)
  51   1              {
  52   2                      A11 = 1;
  53   2                  A12 = 1;
  54   2                      delaynms(20);
  55   2                      SetChannel(channel);
C51 COMPILER V7.06   TASKMAIN                                                              10/30/2008 13:20:04 PAGE 2   

  56   2                      if(channel == 0)delaynms(100);
  57   2                      else delaynms(50);
  58   2                      CellVoltage[channel] = Adc_Collect(CELL_VOLTAGE);
  59   2                      if(channel <= 7)
  60   2                      {
  61   3                          adcT =      Adc_Collect(CELL_TEMPERATURE);
  62   3                              if(channel == 2)Temperature[0] = TemperatureLine(adcT);
  63   3                              if(channel == 1)Temperature[1] = TemperatureLine(adcT);
  64   3                              if(channel == 0)Temperature[2] = TemperatureLine(adcT);
  65   3                              if(channel == 3)Temperature[3] = TemperatureLine(adcT);
  66   3                              if(channel == 4)Temperature[4] = TemperatureLine(adcT);
  67   3                              if(channel == 6)Temperature[5] = TemperatureLine(adcT);
  68   3                              if(channel == 7)Temperature[6] = TemperatureLine(adcT);
  69   3                              if(channel == 5)Temperature[7] = TemperatureLine(adcT);
  70   3                      }
  71   2                      else if(channel == 8)
  72   2                           {
  73   3                                      adcT =  Adc_Collect(OUTS_TEMPERATURE);
  74   3                                      Temperature[channel] = TemperatureLine(adcT);
  75   3                               }
  76   2              }
  77   1              //RunLed = ~RunLed;
  78   1      }
  79          /**
  80          ********************************************************************************************************
  81          ** 名  称: void SystermInitiate(void)
  82          ** 功  能:
  83          ** 作 者: 李  伟 
  84          ** 日 期: 2008年12月09日
  85          **------------------------------------------------------------------------------------------------------
  86          ** 修改人:      
  87          ** 日 期: 
  88          **------------------------------------------------------------------------------------------------------
  89          ********************************************************************************************************
  90          **/
  91          void SystermInitiate(void)
  92          {
  93   1              uint8 i;
  94   1              uint16 address;
  95   1          if(EepReadByte(0x2E00) != 119)//第四扇区
  96   1              {
  97   2                      EepSectotErase(0x2E00);   //擦除第四扇区
  98   2                      EepWriteByte(119,0x2E00); //写入119定值
  99   2                      CUK   = 10000;   //单体电池电压采集系数
 100   2                      CTK   = 10000;   //单体电池温度采集系数
 101   2                      OTK   = 10000;   //环境温度系数
 102   2                      P1M0 &= 0xFD;    //将RS485通讯使能端设为推挽模式
 103   2                      P1M1 |= 0x02;
 104   2              
 105   2                      ModeSysConfig[0] = 2600;           //CellVlow    单体电压下限2600mV
 106   2                      ModeSysConfig[1] = 4200;       //CellVhigh   单体电压上限4200mV
 107   2                      ModeSysConfig[2] = 56000;      //PackOV      电池组充电过压限值56.0V
 108   2                      ModeSysConfig[3] = 40500;          //PackUV      电池组放电欠压限值40.5V
 109   2                      ModeSysConfig[4] = 2000;           //ChargeOC    充电电流限值 2A
 110   2                      ModeSysConfig[5] = 10000;          //DisChargeOC 放电电流限值10A
 111   2                      ModeSysConfig[6] = 3000;           //ReCellVlow  单体电池电压恢复下限 3000mV
 112   2                      ModeSysConfig[7] = 4000;           //ReCellVhigh 单体电池电压恢复上限 4000mV 
 113   2                      ModeSysConfig[8] = ReadKey();  //BoardAddress读取本机地址
 114   2              
 115   2                      ModeTempCofing[0] =   5;       //ChargeTlow     充电温度下限  5 摄氏度
 116   2                      ModeTempCofing[1] =  45;           //ChargeThigh    充电温度上限 45 摄氏度
 117   2                      ModeTempCofing[2] = -10;           //DisChargeTlow  放电温度下限-10 摄氏度(光宇标准)
C51 COMPILER V7.06   TASKMAIN                                                              10/30/2008 13:20:04 PAGE 3   

 118   2                      ModeTempCofing[3] =  55;           //DisChargeThigh 放电温度上限 55 摄氏度(光宇标准)
 119   2                      ModeTempCofing[4] =  55;           //EnvironmentOT  环境温度告警值与放电温度告警值相同
 120   2                      ModeTempCofing[5] = -10;       //EnvironmentUT
 121   2                      ModeTempCofing[6] =      53;       //ReEnvironmentOT环境温度告警恢复限值与放电温度告警恢复限值相同
 122   2                      ModeTempCofing[7] = -8;        //ReEnvironmentUT

⌨️ 快捷键说明

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