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

📄 charge.lst

📁 飞利浦单片机程序............................................................................................
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   CHARGE                                                                03/09/2009 16:55:11 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE CHARGE
OBJECT MODULE PLACED IN charge.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE charge.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /****************************************************************/
   2          /*功能:                       
   3          /*版本:v1.0                           
   4          /*设计人:wangjin              
   5          /*编写日期:07-07-22
   6          /*最后修改日期:                           
   7          /*状态:Are debugging                                          
   8          /****************************************************************/
   9          #include "define.h"
  10          
  11          /*中断服务函数*/
  12          /*********************************************************************/
  13          /*函数名:
  14          /*功能:
  15          /*输入参数:
  16          /*返回值:
  17          /*调用函数:
  18          /*被调用函数:
  19          /*编写日期:
  20          /*最后修改日期:
  21          /********************************************************************/
  22          void T0_ISR() interrupt 1
  23          {
  24   1              TH0 = 0x80;             //
  25   1              TL0 = 0x00;             //
  26   1              if(enPWM)
  27   1              {
  28   2                      charge_output = ~charge_output;
  29   2              }
  30   1              L2Delay++;
  31   1              L3Delay++;
  32   1              if(L2Delay>=50)
  33   1              {
  34   2                      L2Delay = 0;
  35   2                      if(enL2)
  36   2                              LEDB = ~LEDB;
  37   2              }
  38   1              if(L3Delay>=50)
  39   1              {
  40   2                      L3Delay = 0;
  41   2                      if(enL3)
  42   2                              LEDA = ~LEDA;
  43   2              }
  44   1      }
  45          /*********************************************************************/
  46          /*函数名:
  47          /*功能:
  48          /*输入参数:
  49          /*返回值:
  50          /*调用函数:
  51          /*被调用函数:
  52          /*编写日期:
  53          /*最后修改日期:
  54          /********************************************************************/
  55          void T1_ISR() interrupt 3
C51 COMPILER V7.50   CHARGE                                                                03/09/2009 16:55:11 PAGE 2   

  56          {
  57   1              TH1 = 0x80;             //
  58   1              TL1 = 0x00;             //
  59   1              if(enDelay1)
  60   1                      Delay4min1++;
  61   1              if(enDelay2)
  62   1                      Delay4min2++;
  63   1      }
  64          /*********************************************************************/
  65          /*函数名:
  66          /*功能:
  67          /*输入参数:
  68          /*返回值:
  69          /*调用函数:
  70          /*被调用函数:
  71          /*编写日期:
  72          /*最后修改日期:
  73          /********************************************************************/ 
  74          void RTC_ISR() interrupt 10
  75          {
  76   1      EA = 0;
  77   1      if((RTCCON&0x80)==0x80)
  78   1      {
  79   2              RTCCON &= 0x63;
  80   2              if(Minutes == 59)
  81   2              {
  82   3                      if(Seconds == 59)
  83   3                      {
  84   4                              Seconds = 0;
  85   4                              Minutes = 0;
  86   4                              Hours ++;
  87   4                      }
  88   3                      else
  89   3                      {
  90   4                      Seconds ++;
  91   4                      }
  92   3              }
  93   2              else
  94   2              {
  95   3                      if(Seconds == 59)
  96   3                      {
  97   4                              Seconds = 0;
  98   4                              Minutes ++;
  99   4                      }
 100   3                      else
 101   3                      {
 102   4                      Seconds ++;
 103   4                      }
 104   3              }
 105   2      EA = 1;
 106   2      }
 107   1      }
 108          /*********************************************************************/
 109          /*函数名:
 110          /*功能:
 111          /*输入参数:
 112          /*返回值:
 113          /*调用函数:
 114          /*被调用函数:
 115          /*编写日期:
 116          /*最后修改日期:
 117          /********************************************************************/ 
C51 COMPILER V7.50   CHARGE                                                                03/09/2009 16:55:11 PAGE 3   

 118          void AD_ISR() interrupt 14
 119          {
 120   1              ADCON1 &= 0xF7;
 121   1      
 122   1              AdValue.BatAd[AdValue.index] = AD1DAT0;
 123   1              AdValue.SunAd[AdValue.index] = AD1DAT1;
 124   1              AdValue.index ++;
 125   1              if(AdValue.index >= 8)
 126   1                      AdValue.index = 0;
 127   1              
 128   1      }
 129          
 130          /*其他函数定义部分*/
 131          /*********************************************************************/
 132          /*函数名:
 133          /*功能:
 134          /*输入参数:
 135          /*返回值:
 136          /*调用函数:
 137          /*被调用函数:
 138          /*编写日期:
 139          /*最后修改日期:
 140          /********************************************************************/ 
 141          void Clr_Dog()
 142          {
 143   1              EA = 0; //关闭中断 
 144   1              WFEED1 = 0xA5; //执行清零第一部分 
 145   1              WFEED2 = 0x5A; //执行清零第二部分 
 146   1              EA = 1; //开中断
 147   1      }
 148          /*********************************************************************/
 149          /*函数名:
 150          /*功能:
 151          /*输入参数:port=1--L3,port=0--L2;mode=0常灭--mode=1--常亮mode=2--闪烁
 152          /*返回值:
 153          /*调用函数:
 154          /*被调用函数:
 155          /*编写日期:
 156          /*最后修改日期:
 157          /********************************************************************/ 
 158          void Led_Ctrl(bit port,uchar mode)
 159          {
 160   1              if(mode == 2)
 161   1              {
 162   2                      if(port)
 163   2                              enL3 = 1;
 164   2                      else
 165   2                              enL2 = 1;
 166   2              }
 167   1              else if(mode == 1)
 168   1              {
 169   2                      if(port)
 170   2                      {
 171   3                              enL3 = 0;
 172   3                              LEDA = 0;
 173   3                      }
 174   2                      else
 175   2                      {
 176   3                              enL2 = 0;
 177   3                              LEDB = 0;
 178   3                      }
 179   2              }
C51 COMPILER V7.50   CHARGE                                                                03/09/2009 16:55:11 PAGE 4   

 180   1              else
 181   1              {
 182   2                      if(port)
 183   2                      {
 184   3                              enL3 = 0;
 185   3                              LEDA = 1;
 186   3                      }
 187   2                      else
 188   2                      {
 189   3                              enL2 = 0;
 190   3                              LEDB = 1;
 191   3                      }
 192   2              }
 193   1      }
 194          /*********************************************************************/
 195          /*函数名:
 196          /*功能:
 197          /*输入参数:
 198          /*返回值:
 199          /*调用函数:
 200          /*被调用函数:
 201          /*编写日期:
 202          /*最后修改日期:
 203          /********************************************************************/
 204          bit Delay_4min(bit enDelay)
 205          {
 206   1              Clr_Dog();
 207   1              if(enDelay)
 208   1              {
 209   2                      enDelay1 = 1;
 210   2                      if(Delay4min1>=DELAY_MIN)
 211   2                      {
 212   3                              enDelay1 = 0;
 213   3                              Delay4min1 = 0;
 214   3                              return(1);
 215   3                      }       
 216   2              }
 217   1              else
 218   1              {
 219   2                      enDelay2 = 1;
 220   2                      if(Delay4min2>=DELAY_MIN)
 221   2                      {
 222   3                              enDelay2 = 0;
 223   3                              Delay4min2 = 0;
 224   3                              return(1);
 225   3                      }
 226   2              }
 227   1              return(0);
 228   1      }
 229          /*********************************************************************/
 230          /*函数名:
 231          /*功能:
 232          /*输入参数:
 233          /*返回值:
 234          /*调用函数:
 235          /*被调用函数:
 236          /*编写日期:
 237          /*最后修改日期:
 238          /********************************************************************/ 
 239          void Init_Var()
 240          {
 241   1              Seconds = 0;
C51 COMPILER V7.50   CHARGE                                                                03/09/2009 16:55:11 PAGE 5   

 242   1              Minutes = 0;
 243   1              Hours = 0;
 244   1              ClrFlag = 1;            //允许时间清0
 245   1              PowerFlag = 1;          //允许放电
 246   1              CtrlFlag = 1;           //允许控制器打开负荷
 247   1              L2Delay = 0;
 248   1              L3Delay = 0;
 249   1              Delay4min1 = 0;
 250   1              Delay4min2 = 0;

⌨️ 快捷键说明

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