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

📄 gm_rwreg.lst

📁 mcu for gm5621带遥控,键盘输入的单片机代码.供学习参考使用.谢谢.
💻 LST
字号:
C51 COMPILER V7.50   GM_RWREG                                                              07/06/2006 10:40:57 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE GM_RWREG
OBJECT MODULE PLACED IN .\obj\Gm_rwreg.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Gm_rwreg.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\Gm_rwreg.lst) OBJECT(.\obj
                    -\Gm_rwreg.obj)

line level    source

   1          #include "board.h"
   2          #include "debug.h"
   3          #include "debugDef.h"
   4          #include "misc.h"
   5          #include "gm_rwreg.h"
   6          #include "global.h"
   7          #include "Power.h"
   8          
   9          void gm_stop(void);
  10          
  11          void gm_init(void)
  12          {
  13   1              //Set_gm_CSZ();
  14   1              Set_gm_SCL();
  15   1              Set_gm_SDA();
  16   1              //Clr_gm_SDA();
  17   1      }
  18          
  19          Bool gm_start(GMBus_Direction direct)
  20          {
  21   1              DWORD count;
  22   1              Clr_gm_SCL(); // SCL=0
  23   1                      count = 0;
  24   1              //Clr_gm_SDA();
  25   1              while(gm_SDAHi())
  26   1              {
  27   2                      count++;
  28   2                      if (count>=1000000)
  29   2                              return FALSE;
  30   2              
  31   2              }
  32   1              
  33   1      
  34   1              
  35   1              if (direct) // Read
  36   1                      Set_gm_SDA(); //SDA=1
  37   1              else
  38   1                      Clr_gm_SDA(); //SDA=0
  39   1                      Delay4us();
  40   1                      Delay4us();
  41   1                      Delay4us();
  42   1                      Delay4us();
  43   1                      Delay4us();
  44   1                      Delay4us();
  45   1                      Delay4us();
  46   1                      Delay4us();
  47   1                      Delay4us();
  48   1                      Delay4us();
  49   1                      Set_gm_SCL();
  50   1                      Delay4us();
  51   1                      Delay4us();
  52   1                      Delay4us();
  53   1                      Delay4us();
  54   1                      Delay4us();
C51 COMPILER V7.50   GM_RWREG                                                              07/06/2006 10:40:57 PAGE 2   

  55   1                      Delay4us();
  56   1                      Delay4us();
  57   1                      Delay4us();
  58   1                      Delay4us();
  59   1                      Delay4us();
  60   1                      Clr_gm_SCL();   
  61   1      
  62   1                      return TRUE;
  63   1      }
  64          
  65          void gm_stop(void)
  66          {
  67   1              //printMsg("stop");
  68   1              //Set_gm_CSZ();
  69   1              Set_gm_SCL();
  70   1              Set_gm_SDA();
  71   1      }
  72          Bool gm_sendByte(BYTE value)
  73          {
  74   1              Bool result;
  75   1              BYTE i;
  76   1      
  77   1      
  78   1              if (!gm_start(GM_WRITE))
  79   1              {
  80   2                      #if DebugVersion
  81   2                      printMsg("Write err");
  82   2                      #endif
  83   2                      
  84   2                      return FALSE;
  85   2              }
  86   1      
  87   1              
  88   1              for (i=0; i<8; i++)
  89   1              { 
  90   2                      (value&BIT7)?(Set_gm_SDA()):(Clr_gm_SDA());
  91   2                      Delay4us();
  92   2                      Delay4us();
  93   2                      Delay4us();
  94   2                      Delay4us();
  95   2                      Delay4us();
  96   2                      Delay4us();
  97   2                      Delay4us();
  98   2                      Delay4us();
  99   2                      Delay4us();
 100   2                      Delay4us();
 101   2                      Set_gm_SCL();
 102   2                      Delay4us();
 103   2                      Delay4us();
 104   2                      Delay4us();
 105   2                      Delay4us();
 106   2                      Delay4us();
 107   2                      Delay4us();
 108   2                      Delay4us();
 109   2                      Delay4us();
 110   2                      Delay4us();
 111   2                      Delay4us();
 112   2                      value<<=1;
 113   2                      Clr_gm_SCL();   
 114   2              }
 115   1                      Delay4us();
 116   1                      Delay4us();
C51 COMPILER V7.50   GM_RWREG                                                              07/06/2006 10:40:57 PAGE 3   

 117   1                      Delay4us();
 118   1                      Delay4us();
 119   1                      Delay4us();
 120   1                      Delay4us();
 121   1                      Delay4us();
 122   1                      Delay4us();
 123   1                      Delay4us();
 124   1                      Delay4us();
 125   1              gm_stop();
 126   1      return result;
 127   1      
 128   1      }
 129          
 130          
 131          BYTE gm_readByte(void)
 132          {
 133   1      
 134   1              BYTE i;
 135   1              BYTE value;
 136   1      
 137   1              value = 0x00;
 138   1              if (!gm_start(GM_READ))
 139   1              {
 140   2                      #if DebugVersion
 141   2                      printMsg("Read err");
 142   2                      #endif
 143   2                      
 144   2                      return 0;
 145   2              }
 146   1              
 147   1              
 148   1              for (i=0; i<8; i++)
 149   1              { 
 150   2                      value<<=1;
 151   2                      Set_gm_SDA();
 152   2                      ForceDelay1ms(1);
 153   2                      Set_gm_SCL();
 154   2                      ForceDelay1ms(1);
 155   2                      if (gm_SDAHi())
 156   2                              value|=BIT0;
 157   2                      Clr_gm_SCL();   
 158   2              }
 159   1              ForceDelay1ms(1);
 160   1              gm_stop();
 161   1              return value;
 162   1      
 163   1      }
 164          
 165          void readStatusHandler(void)
 166          {
 167   1                      BYTE status;
 168   1                      //BYTE err;
 169   1      
 170   1              if (ReadStatusFlag)
 171   1              {
 172   2                      //while(err--)
 173   2                      //{
 174   2                      status = gm_readByte();
 175   2      
 176   2                      Gm_Status = status;
 177   2                      //printData("the value of status is %d", status);
 178   2      
C51 COMPILER V7.50   GM_RWREG                                                              07/06/2006 10:40:57 PAGE 4   

 179   2                      Clr_ReadStatusFlag();
 180   2                      //}
 181   2              
 182   2      
 183   2                      if ((Gm_Status&0xc0) == 0xc0)
 184   2                      {
 185   3                      //Set_DoPowerHandlerFlag();
 186   3                      //Set_InitShutdownCountFlag();
 187   3                              #if DebugVersion
 188   3                              printMsg("init power off counter");
 189   3                              #endif
 190   3                              if (DoPowerOnFlag)
 191   3                              {
 192   4                                      cmd_Power_Handler = POWER_ON_SYSTEM;
 193   4                                      Clr_DoPowerOnFlag();
 194   4                              }
 195   3                              else    
 196   3                                      cmd_Power_Handler = INIT_POWER_OFF_COUNT;
 197   3                      }
 198   2                      else if ((Gm_Status&0xa0) == 0xa0)
 199   2                      {
 200   3                              #if DebugVersion
 201   3                              printMsg("cancel power off counter");
 202   3                              #endif
 203   3                      //Set_DoPowerHandlerFlag();
 204   3                      //Set_CancelShutdownCountFlag();
 205   3                              cmd_Power_Handler = CANCEL_POWER_OFF_COUNT;
 206   3                      }
 207   2                      else if(Gm_Status&0x08)
 208   2                      {
 209   3                              Set_DoProtectionHandlerFlag();
 210   3                              Pwd_Key_Count = 0;
 211   3                              #if DebugVersion
 212   3                              printMsg("Check Passwords");
 213   3                              #endif
 214   3                      }
 215   2              }
 216   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    467    ----
   CONSTANT SIZE    =     83    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      10
   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 + -