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

📄 function.lst

📁 pdh控制程序
💻 LST
字号:
C51 COMPILER V7.20   FUNCTION                                                              02/20/2006 10:13:57 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE FUNCTION
OBJECT MODULE PLACED IN .\output\function.obj
COMPILER INVOKED BY: D:\keil c51 v7.09\C51\BIN\C51.EXE function.c BROWSE DEBUG OBJECTEXTEND PRINT(.\list\function.lst) O
                    -BJECT(.\output\function.obj)

line level    source

   1          #ifndef _FUNCTION_C_
   2          #define _FUNCTION_C_
   3          
   4          #include "api.h"
   5          
   6          void WriteChip( WORD address, BYTE value )
   7          {
   8   1              XBYTE[address] = value;
   9   1      }
  10          
  11          BYTE ReadChip( WORD address )
  12          {
  13   1              BYTE value;
  14   1      
  15   1              value = XBYTE[address];
  16   1      
  17   1              return value;
  18   1      }
  19          
  20          void taskDelay( WORD time )
  21          {
  22   1              WORD counter;
  23   1              BYTE counter1;
  24   1      
  25   1              for( counter=0; counter<time; counter++ )
  26   1              for( counter1=0; counter1<200; counter1++ )
  27   1                      _nop_();
  28   1      }
  29          
  30          void system_watchdog( BYTE status )
  31          {
  32   1              gSystemInfo.reboot_flag = status;
  33   1      }
  34          
  35          BYTE disable_remote_alarm_status( void )
  36          {
  37   1          SYSTEM_DEVICE_STATUS xdata *psdev = &gsystemStauts;
  38   1          BYTE xdata fiber;
  39   1      
  40   1          for( fiber=0; fiber<MAX_FIBER_NOMBER; fiber++ )
  41   1          {
  42   2              if( !(psdev->remote.fiber_status[fiber]&FIBER_NOUSE) )
  43   2                  if( (psdev->remote.fiber_status[fiber]&FIBER_ALARM_STATUS) )
  44   2                      return ALARM;
  45   2          }
  46   1          return NOALARM;
  47   1      }
  48          
  49          
  50          #if _LCD_MENU_
  51          
  52          /*激光关断使能,0使能,1不使能,3无操作*/
  53          void SetSystemFiberCloseDown( BYTE state )
  54          {
C51 COMPILER V7.20   FUNCTION                                                              02/20/2006 10:13:57 PAGE 2   

  55   1          SYSTEM_DEVICE_STATUS *psdev = &gsystemStauts;
  56   1          SYSTEM_INFOMATION *psys = &gSystemInfo;
  57   1      
  58   1              psys->als_value &= ~ BIT7;
  59   1              switch( state )
  60   1              {
  61   2              case IDB_ENABLE_LASER_CLOSE:
  62   2                  psdev->local.laser_close[0] = IDB_ENABLE_LASER_CLOSE;
  63   2                      psys->als_value |= BIT7;
  64   2                 break;
  65   2      
  66   2              case IDB_DISABLEE_LASER_CLOSE:
  67   2                      psdev->local.laser_close[0] = IDB_DISABLEE_LASER_CLOSE;
  68   2                  break;
  69   2              }
  70   1      
  71   1          WriteChip( FIBERLOOP_LIGHT_ADDR, psys->als_value );
  72   1      }
  73          
  74          #if 0
              void save_fiber_close( BYTE *status )
              {
                      BYTE Lock = 0xaa;
              
                      I2C_WriteData( EEPROM_FIBER_CLOSEDOWN_ADDRESS, EEPROM_FIBER_CLOSEDOWN_LENGTH, status );
                      I2C_WriteData( EEPROM_FIBER_CLOSEDOWN_LOCK_ADDRESS, LOCK_LENGTH, &Lock );
              }
              
              BYTE GetSystemFiberCloseDown( BYTE end )
              {
                  SYSTEM_DEVICE_STATUS *psdev = &gsystemStauts;
                  BYTE status = INVALID;
              
                      switch( end )
                      {
                  case LACAL_EQU:
                      status = psdev->local.laser_close[0];
                              break;
              
                  case REMOTE_EQU:
                      status = psdev->remote.laser_close[0];
                              break;
              
                      }
                  return status;
              }
              #endif
 102          
 103          void SetSystemProtectMode( BYTE mode )
 104          {
 105   1          SYSTEM_DEVICE_STATUS *psdev = &gsystemStauts;
 106   1              BYTE status;
 107   1          SYSTEM_INFOMATION *psys = &gSystemInfo;
 108   1      
 109   1          psys->setbuffer[1] &=  SYSTEM_FIBER_AUTO_RC7017;
 110   1              psdev->local.protect_mode = mode;
 111   1          switch( mode )
 112   1          {
 113   2          case IDB_FIBER_AUTO:
 114   2              status |= SYSTEM_FIBER_AUTO;
 115   2              break;
 116   2      
C51 COMPILER V7.20   FUNCTION                                                              02/20/2006 10:13:57 PAGE 3   

 117   2          case IDB_FIBER_MASTER:
 118   2              psys->setbuffer[1] |=  BIT6;
 119   2              status |= SYSTEM_FIBER_MASTER;
 120   2              break;
 121   2      
 122   2          case IDB_FIBER_SLAVE:
 123   2              psys->setbuffer[1] |=  BIT5;
 124   2              status |= SYSTEM_FIBER_SLAVE;
 125   2              break;
 126   2          }
 127   1          psdev->local.protect_mode = mode;
 128   1          WriteChip( FIBER_CONFIG_ADDR, status );
 129   1          psys->sendrc7017 = SETCMDSERIAL;
 130   1          psys->SetCommandCounter = 0;
 131   1      }
 132          
 133          void save_protect_mode( BYTE mode )
 134          {
 135   1              BYTE Lock = 0xaa;
 136   1      
 137   1              I2C_WriteData( EEPROM_PROTECT_MODE_ADDRESS, EEPROM_PROTECT_MODE_LENGTH, &mode );
 138   1              I2C_WriteData( EEPROM_PROTECT_MODE_LOCK_ADDRESS, LOCK_LENGTH, &Lock );
 139   1      }
 140          
 141          void SetSystemConstrast( BYTE value )
 142          {
 143   1              ConstrastSet( value );
 144   1      }
 145          
 146          void save_constrast_set( BYTE value )
 147          {
 148   1              BYTE Lock = 0xaa;
 149   1      
 150   1              I2C_WriteData( EEPROM_CONSTRAST_ADDRESS, EEPROM_CONSTRAST_ADDRESS_LENGTH, &value );
 151   1              I2C_WriteData( EEPROM_CONSTRAST_LOCK_ADDRESS, LOCK_LENGTH, &Lock );
 152   1      }
 153          
 154          void init_system_infomation( void )
 155          {
 156   1              BYTE read_lock;
 157   1              BYTE status[2];
 158   1      
 159   1              I2C_ReadData( EEPROM_FIBER_CLOSEDOWN_LOCK_ADDRESS, LOCK_LENGTH, &read_lock );
 160   1              if( read_lock == LOCK )
 161   1              {
 162   2                      I2C_ReadData( EEPROM_FIBER_CLOSEDOWN_ADDRESS, EEPROM_FIBER_CLOSEDOWN_LENGTH, status );
 163   2                      SetSystemFiberCloseDown(  status[0] );
 164   2              }
 165   1              else
 166   1              {
 167   2                      SetSystemFiberCloseDown( IDB_ENABLE_LASER_CLOSE );
 168   2              }
 169   1      
 170   1              I2C_ReadData( EEPROM_PROTECT_MODE_LOCK_ADDRESS, LOCK_LENGTH, &read_lock );
 171   1              if( read_lock == LOCK )
 172   1              {
 173   2                      I2C_ReadData( EEPROM_PROTECT_MODE_ADDRESS, EEPROM_PROTECT_MODE_LENGTH, status );
 174   2                      SetSystemProtectMode( status[0] );
 175   2              }
 176   1              else
 177   1                      SetSystemProtectMode( IDB_FIBER_AUTO );
 178   1      
C51 COMPILER V7.20   FUNCTION                                                              02/20/2006 10:13:57 PAGE 4   

 179   1              /*在复位程序后,将对比度拉到最低*/
 180   1              wiperDown( 200 );
 181   1      
 182   1              I2C_ReadData( EEPROM_CONSTRAST_LOCK_ADDRESS, LOCK_LENGTH, &read_lock );
 183   1              if( read_lock == LOCK )
 184   1              {
 185   2                      I2C_ReadData( EEPROM_CONSTRAST_ADDRESS, EEPROM_CONSTRAST_ADDRESS_LENGTH, status );
 186   2                      if( status[0] >= 16 )
 187   2                              status[0] = 5;
 188   2              }
 189   1              else
 190   1              {
 191   2                      status[0] = 5;
 192   2              }
 193   1              SetSystemConstrast( status[0] );
 194   1          gSystemInfo.contrast_value = status[0];
 195   1      }
 196          
 197          #endif
 198          
 199          void serial_interrupt( void ) interrupt SERIALO_INTERRUPT_VECTOR
 200          {
 201   1              BYTE receive = 0x59;
 202   1      
 203   1              if( RI )
 204   1              {
 205   2                      receive = SBUF;
 206   2      //              SBUF = receive;
 207   2              }
 208   1              if( TI )
 209   1                      return;
 210   1      }
 211          
 212          #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    631    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       1
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      19
   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 + -