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

📄 eepromcopy.lst

📁 一个非常好的微处理器烧录EEPROM的C++ 原代码项目文件,直接可用,而且还是一拖八的, 成果奉献
💻 LST
📖 第 1 页 / 共 3 页
字号:
 169   2                      return  btIIC_RIGHT;
 170   2              }
 171   1              else
 172   1              {
 173   2                      Chip_Station&=~Chip_table[Iic_type];
 174   2                      return  btIIC_ERROR;
 175   2              }
 176   1      }
 177          
 178          void    Chek_Chip(void)
 179          {
 180   1              BYTE    Iic_Chip;
 181   1              for     (Iic_Chip=IIC_AT24CXX_D1;Iic_Chip<=IIC_AT24CXX_R;Iic_Chip++)
 182   1              Chek_ChipStation(Iic_Chip);
 183   1      }
 184          void    Disp_CurLed(WORD  Chip_Select)
 185          {
 186   1                      switch  (Chip_Select)
 187   1                      {
 188   2                              case    CHIP_STATION_R: 
 189   2                                              Disp_Led(Led_Table[0]);
 190   2                                              break;
 191   2                              case    CHIP_STATION_D1:
 192   2                                              Disp_Led(Led_Table[1]);
 193   2                                              break;
 194   2                              case    CHIP_STATION_D2:
 195   2                                              Disp_Led(Led_Table[2]);
 196   2                                              break;
 197   2                              case    CHIP_STATION_D3:
 198   2                                              Disp_Led(Led_Table[3]);
 199   2                                              break;
 200   2                              case    CHIP_STATION_D4:
 201   2                                              Disp_Led(Led_Table[4]);
 202   2                                              break;
 203   2                              case    CHIP_STATION_D5:
 204   2                                              Disp_Led(Led_Table[5]);
 205   2                                              break;
 206   2                              case    CHIP_STATION_D6:
 207   2                                              Disp_Led(Led_Table[6]);
 208   2                                              break;
 209   2                              case    CHIP_STATION_D7:
 210   2                                              Disp_Led(Led_Table[7]);
 211   2                                              break;
 212   2                              case    CHIP_STATION_D8:        
 213   2                                              Disp_Led(Led_Table[8]);
 214   2                                              break;
 215   2                      }
 216   1      }
 217          
 218          void    Disp_Loop(BYTE  loop)
 219          {
 220   1              switch  (loop)
 221   1              {
 222   2                      case    0:
 223   2                      Disp_Led(Led_Table[CH_REG_A]);
 224   2                      break;
 225   2                      case    1:
 226   2                      Disp_Led(Led_Table[CH_REG_A]|Led_Table[CH_REG_B]);
 227   2                      break;
 228   2                      case    2:
 229   2                      Disp_Led(Led_Table[CH_REG_A]|Led_Table[CH_REG_B]|Led_Table[CH_REG_C]);
C51 COMPILER V7.50   EEPROMCOPY                                                            08/12/2006 10:29:13 PAGE 5   

 230   2                      break;
 231   2                      case    3:
 232   2                      Disp_Led(Led_Table[CH_REG_A]|Led_Table[CH_REG_B]|Led_Table[CH_REG_C]|Led_Table[CH_REG_D]);
 233   2                      break;
 234   2                      case    4:
 235   2                      Disp_Led(Led_Table[CH_REG_A]|Led_Table[CH_REG_B]|Led_Table[CH_REG_C]|Led_Table[CH_REG_D]|Led_Table[CH_RE
             -G_E]);
 236   2                      break;
 237   2                      case    5:
 238   2                      Disp_Led(Led_Table[CH_REG_A]|Led_Table[CH_REG_B]|Led_Table[CH_REG_C]|Led_Table[CH_REG_D]|Led_Table[CH_RE
             -G_E]|Led_Table[CH_REG_F]);
 239   2                      break;
 240   2                      case    6:
 241   2                      Disp_Led(Led_Table[CH_REG_B]|Led_Table[CH_REG_C]|Led_Table[CH_REG_D]|Led_Table[CH_REG_E]|Led_Table[CH_RE
             -G_F]);
 242   2                      break;
 243   2                      case    7:
 244   2                      Disp_Led(Led_Table[CH_REG_C]|Led_Table[CH_REG_D]|Led_Table[CH_REG_E]|Led_Table[CH_REG_F]);
 245   2                      break;
 246   2                      case    8:
 247   2                      Disp_Led(Led_Table[CH_REG_D]|Led_Table[CH_REG_E]|Led_Table[CH_REG_F]);
 248   2                      break;
 249   2                      case    9:
 250   2                      Disp_Led(Led_Table[CH_REG_E]|Led_Table[CH_REG_F]);
 251   2                      break;
 252   2                      case    10:
 253   2                      Disp_Led(Led_Table[CH_REG_F]);
 254   2                      break;
 255   2                      case    11:
 256   2                      Disp_Led(Led_Table[CH_NULL]);
 257   2                      break;
 258   2              }
 259   1      }
 260          void    Copy_Eeprom(void)
 261          {
 262   1              WORD    Eeprom_Pages,Chip_Select;
 263   1              BYTE    Iic_Select,light_status=0,Scan=Eeprom.wPages_Eeprom/9;
 264   1              SetEeprom();
 265   1              TurnOnOff_Light(LIGHT_YELLOW);
 266   1              wDelayTime=100;
 267   1              while   (wDelayTime);
 268   1              Error_Flag=CHIP_STATION_NO;
 269   1              for     (Eeprom_Pages=0;Eeprom_Pages<Eeprom.wPages_Eeprom;Eeprom_Pages++)
 270   1              {
 271   2                      TurnOnOff_Light(LIGHT_YELLOW);
 272   2                      SetIIC_Type(IIC_AT24CXX_R);
 273   2                      ptGpBuffer=GpBuffer.bytes;
 274   2                      if  (EepromRead(Eeprom_Pages*Eeprom.bBytes_PerPage,Eeprom.bBytes_PerPage))
 275   2                      {
 276   3                              Operate_Flag=OPERATE_ER;
 277   3                              Error_Flag|=CHIP_STATION_R;
 278   3                              break;
 279   3                      }
 280   2                      TurnOnOff_Light(LIGHT_OFF);
 281   2                      Disp_Led(Led_Table[(Eeprom.wPages_Eeprom-Eeprom_Pages)/Scan]);
 282   2                      for     (Chip_Select=CHIP_STATION_D1,Iic_Select=IIC_AT24CXX_D1;Chip_Select<=CHIP_STATION_D8;Chip_Select<<=1,
             -Iic_Select++)
 283   2                      {
 284   3                              if      ((Chip_Station&Chip_Select)&&((Error_Flag&Chip_Select)==0))
 285   3                              {
 286   4                                      if      (light_status==0)
 287   4                                      {
C51 COMPILER V7.50   EEPROMCOPY                                                            08/12/2006 10:29:13 PAGE 6   

 288   5                                              TurnOnOff_Light(LIGHT_YELLOW);
 289   5                                              light_status=1;
 290   5                                      }       
 291   4                                      else
 292   4                                      {
 293   5                                              TurnOnOff_Light(LIGHT_OFF);
 294   5                                              light_status=0;
 295   5                                      }       
 296   4                                      SetIIC_Type(Iic_Select);
 297   4                                      ptGpBuffer=GpBuffer.bytes;
 298   4                                      if  (EepromWrite(Eeprom_Pages*Eeprom.bBytes_PerPage,Eeprom.bBytes_PerPage))
 299   4                                      {
 300   5                                              Operate_Flag=OPERATE_ER;
 301   5                                              Error_Flag|=Chip_Select;
 302   5                                      }
 303   4                              }
 304   3                      }
 305   2              }
 306   1      
 307   1              
 308   1              #if     0
                      for     (Chip_Select=CHIP_STATION_D1,Iic_Select=IIC_AT24CXX_D1;Chip_Select<=CHIP_STATION_D8;Chip_Select<<=1,I
             -ic_Select++)
                      {
                              if      (Chip_Station&Chip_Select)
                              {
                                      Disp_CurLed(Chip_Select);
                                      for     (Eeprom_Pages=0;Eeprom_Pages<Eeprom.wPages_Eeprom;Eeprom_Pages++)
                                      {
                                              TurnOnOff_Light(LIGHT_YELLOW);
                                              SetIIC_Type(IIC_AT24CXX_R);
                                              ptGpBuffer=GpBuffer.bytes;
                                              if  (EepromRead(Eeprom_Pages*Eeprom.bBytes_PerPage,Eeprom.bBytes_PerPage))
                                              {
                                                      Operate_Flag=OPERATE_ER;
                                                      Error_Flag|=CHIP_STATION_R;
                                                      break;
                                              }
                                              TurnOnOff_Light(LIGHT_OFF);
                                              SetIIC_Type(Iic_Select);
                                              ptGpBuffer=GpBuffer.bytes;
                                              if  (EepromWrite(Eeprom_Pages*Eeprom.bBytes_PerPage,Eeprom.bBytes_PerPage))
                                              {
                                                      Operate_Flag=OPERATE_ER;
                                                      Error_Flag|=Chip_Select;
                                                      break;
                                              }
                                      }
                              }       
                      }
                      #endif
 338   1              if      (Error_Flag==CHIP_STATION_NO)
 339   1              Operate_Flag=OPERATE_OK;        
 340   1      }
 341          
 342          void    Operate_Eeprom(void)
 343          {
 344   1              if      ((Chip_Station&CHIP_STATION_R)&&(Chip_Station!=CHIP_STATION_R))
 345   1              Copy_Eeprom();
 346   1              else
 347   1              {
 348   2                      Operate_Flag=OPERATE_ER;
C51 COMPILER V7.50   EEPROMCOPY                                                            08/12/2006 10:29:13 PAGE 7   

 349   2                      Error_Flag=CHIP_STATION_R;
 350   2              }
 351   1              if      (Operate_Flag==OPERATE_OK)
 352   1              {

⌨️ 快捷键说明

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