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

📄 93c66.lst

📁 HT1621驱动和EEPROM93LC
💻 LST
字号:
C51 COMPILER V7.06   93C66                                                                 05/10/2008 14:08:33 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 93C66
OBJECT MODULE PLACED IN 93c66.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 93c66.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <AT89x52.h>
   2          #include <intrins.h>
   3          
   4          #define   EE_SCK   P0_1                   
   5          #define   EE_CS    P0_0                    
   6          #define   EE_DI    P0_2                    
   7          #define   EE_DO    P0_3
   8          #define uchar unsigned char
   9          #define uint unsigned int                      
  10          unsigned char E2PCounter;
  11          unsigned int ReadTemp;
  12          unsigned int WriteTemp;
  13          unsigned char Addrbyte;
  14          unsigned char Addrbit7;
  15          unsigned char if_datachange;
  16          void F_Delay100TCYx(unsigned char loopnum);
  17          void F_Delay1KTCYx(unsigned char loopnum);
  18          void F_Delay10KTCYx(unsigned char loopnum);
  19          void EE_Write(unsigned char WriteAddr, int data16);
  20          int  EE_Read(unsigned char ReadAddr);
  21          void EEClockHi(void);   // 資料 1 , 並輸入 clock  
  22          void EEClockLo(void);   // 資料 0 , 並輸入 clock  
  23          void EEROMClock(void);                            
  24          void EECSClock(void);   // CS =>  0 -> delay -> 1 
  25          void WriteEEROMEnable(void);
  26          void EEROMWrite_66_16(unsigned char addr,  int Data);
  27          int  EEROMRead_66_16(unsigned char addr);
  28          void  F_SAVEEEPROM(void);
  29          void  F_InitValue_EEROM(void);
  30          void  F_Read_AllEEPROM(void);
  31          void delayms(uint i);
  32          
  33          //EE_Write
  34          void EE_Write(unsigned char WriteAddr, int data16)
  35          {EEROMWrite_66_16(WriteAddr, data16);
  36   1      }
  37          
  38          //EE_Read
  39          int EE_Read(unsigned char ReadAddr)
  40          {return   EEROMRead_66_16(ReadAddr);
  41   1      }
  42          //-----------------------------------------------------------------------------
  43          //      EEROM 寫入初始化
  44          //-----------------------------------------------------------------------------
  45          void WriteEEROMEnable(void)
  46          {//Start Bit: DI=1;
  47   1              EECSClock();
  48   1              EEClockHi();
  49   1      //Write Enable: 0011xxxxx
  50   1              EEClockLo();
  51   1              EEClockLo();
  52   1              EEClockHi();
  53   1              EEClockHi();   //0011
  54   1                      
  55   1              EEClockLo();
C51 COMPILER V7.06   93C66                                                                 05/10/2008 14:08:33 PAGE 2   

  56   1              EEClockLo();
  57   1              EEClockLo();     
  58   1              EEClockLo();
  59   1              EEClockLo();
  60   1              EEClockLo();
  61   1              EEClockLo();     
  62   1              EECSClock();
  63   1      }
  64          //---------------------- EEROM Clock Hi -------------------
  65          //*****************************************************************************
  66          //      EEROM Write for 93c66, (256 * 16 bit), 並做驗証, 是否save 成功
  67          //*****************************************************************************
  68          void EEROMWrite_66_16(unsigned char addr, int Data)
  69          {
  70   1      WriteTemp = Data;
  71   1      Addrbyte = addr;
  72   1      EECSClock();            
  73   1      EEClockHi();
  74   1      EEClockLo();
  75   1      EEClockHi();
  76   1      //------  write addr -------
  77   1      for(E2PCounter=0; E2PCounter<8; E2PCounter++)    // addr is 8 bit
  78   1              {
  79   2              if(Addrbit7)
  80   2                      EEClockHi();                    
  81   2              else 
  82   2                      EEClockLo(); 
  83   2              Addrbyte <<=1;
  84   2              }     
  85   1      //------- Write DATA  Hi -------
  86   1      for(E2PCounter=0;E2PCounter<16;E2PCounter++)             // data is 16 bit
  87   1              {
  88   2              if((WriteTemp & 0x8000)!= 0)            
  89   2                      EEClockHi();
  90   2              else
  91   2                      EEClockLo();
  92   2              WriteTemp <<=1;
  93   2              }
  94   1      //------- Write DATA  Lo -------
  95   1        F_Delay100TCYx(100);
  96   1        EECSClock();
  97   1        F_Delay100TCYx(100);                  // 等待 8m sec, eerom 寫入資料
  98   1      //-------------------------- 比對輸入及輸出資料是否正確
  99   1      }
 100          
 101          //*****************************************************************************
 102          //      EEROM Read for 93c66 , 每次 16 bit
 103          //*****************************************************************************
 104           int  EEROMRead_66_16(unsigned char addr)
 105          {    
 106   1      //uInt ReadTemp;    
 107   1      Addrbyte = addr;
 108   1      EECSClock();
 109   1      EEClockHi();
 110   1      EEClockHi();
 111   1      EEClockLo();                    
 112   1      //------- Addr out ---------
 113   1      for(E2PCounter =0; E2PCounter <8; E2PCounter++)    // Addr 有8bit, 從 hi bit 到 lo bit
 114   1              {
 115   2              if(Addrbit7)
 116   2                      EEClockHi();                    
 117   2              else 
C51 COMPILER V7.06   93C66                                                                 05/10/2008 14:08:33 PAGE 3   

 118   2                      EEClockLo(); 
 119   2              Addrbyte <<=1;
 120   2              } 
 121   1      //---------------- Data Read  Hi -------------
 122   1      for(E2PCounter =0; E2PCounter <16; E2PCounter++)
 123   1             {
 124   2             ReadTemp <<=1;
 125   2             EE_SCK= 1;                     // Clock Hi
 126   2            delayms(10000);  
 127   2              //F_Delay10u();
 128   2              
 129   2              if(EE_DO)                       // 判別資料為 hi or lo
 130   2                      ReadTemp++;
 131   2              EE_SCK = 0;                     // Clock Lo
 132   2              }
 133   1      //---------------- Data Read Lo -------------
 134   1        return ReadTemp;
 135   1      }
 136          //---------------------- EEROM Clock Hi -------------------
 137          void EEClockHi(void)
 138          {   
 139   1      EE_DI = 1;
 140   1      delayms(30);
 141   1      EEROMClock();
 142   1      }   
 143          //---------------------- EEROM Clock Lo -------------------
 144          void EEClockLo(void)
 145          {
 146   1      EE_DI = 0;
 147   1      delayms(30);
 148   1      EEROMClock();   
 149   1      }
 150          //----------------------  EEROM Clock  --------------------
 151          void EEROMClock(void)
 152          {
 153   1      EE_SCK = 1;
 154   1      delayms(30);
 155   1      EE_SCK = 0;
 156   1      }
 157          //-------------------  EEROM CS Clock  ---------------------
 158          void EECSClock(void)
 159          {
 160   1      EE_CS = 0;
 161   1      delayms(60);
 162   1      EE_CS = 1;
 163   1      }
 164          
 165          void F_Delay100TCYx(unsigned char loopnum)
 166          {delayms(loopnum);
 167   1      }
 168          
 169          void F_Delay1KTCYx(unsigned char loopnum)
 170          {delayms(loopnum);
 171   1      }
 172          
 173          void F_Delay10KTCYx(unsigned char loopnum)
 174          {delayms(loopnum);
 175   1      }
 176          
 177          void  F_SAVEEEPROM(void)
 178          {if(if_datachange==0)
 179   1               return;
C51 COMPILER V7.06   93C66                                                                 05/10/2008 14:08:33 PAGE 4   

 180   1                if_datachange=0;
 181   1                WriteEEROMEnable();
 182   1                Nop();
*** WARNING C206 IN LINE 182 OF 93C66.C: 'Nop': missing function-prototype
 183   1                if(if_mcusw==1)
*** ERROR C202 IN LINE 183 OF 93C66.C: 'if_mcusw': undefined identifier
 184   1                      {
 185   2                      if_mcusw=0;
*** ERROR C202 IN LINE 185 OF 93C66.C: 'if_mcusw': undefined identifier
 186   2                  EE_Write(ADDR_MCUSPD,speed.spd_mcu);
*** ERROR C202 IN LINE 186 OF 93C66.C: 'ADDR_MCUSPD': undefined identifier
 187   2                  Nop();
 188   2                      }
 189   1                if(if_pulse1sw==1)
*** ERROR C202 IN LINE 189 OF 93C66.C: 'if_pulse1sw': undefined identifier
 190   1                      {
 191   2                       if_pulse1sw=0;
*** ERROR C202 IN LINE 191 OF 93C66.C: 'if_pulse1sw': undefined identifier
 192   2                  EE_Write(ADDR_PULSE1,pulse.data_pulse1);          
*** ERROR C202 IN LINE 192 OF 93C66.C: 'ADDR_PULSE1': undefined identifier
 193   2                  Nop();
 194   2                      }
 195   1                if(if_pulse2sw==1)
*** ERROR C202 IN LINE 195 OF 93C66.C: 'if_pulse2sw': undefined identifier
 196   1                      {
 197   2                      if_pulse2sw=0;
*** ERROR C202 IN LINE 197 OF 93C66.C: 'if_pulse2sw': undefined identifier
 198   2                  EE_Write(ADDR_PULSE2,pulse.data_pulse2);
*** ERROR C202 IN LINE 198 OF 93C66.C: 'ADDR_PULSE2': undefined identifier
 199   2                      Nop();
 200   2                      }
 201   1                if(if_perpmsw==1)
*** ERROR C202 IN LINE 201 OF 93C66.C: 'if_perpmsw': undefined identifier
 202   1                      {
 203   2                      if_perpmsw=0;
*** ERROR C202 IN LINE 203 OF 93C66.C: 'if_perpmsw': undefined identifier
 204   2                  EE_Write(ADDR_RPM,speed.spd_rpm);
*** ERROR C202 IN LINE 204 OF 93C66.C: 'ADDR_RPM': undefined identifier
 205   2                      Nop();
 206   2                      }
 207   1                if(if_raidsw==1)
*** ERROR C202 IN LINE 207 OF 93C66.C: 'if_raidsw': undefined identifier
 208   1                      {
 209   2                      if_raidsw=0;
*** ERROR C202 IN LINE 209 OF 93C66.C: 'if_raidsw': undefined identifier
 210   2                  EE_Write(ADDR_RAID,Raidtemp);
*** ERROR C202 IN LINE 210 OF 93C66.C: 'ADDR_RAID': undefined identifier
 211   2                      Nop();
 212   2                      }
 213   1                if(if_maxI==1)
*** ERROR C202 IN LINE 213 OF 93C66.C: 'if_maxI': undefined identifier
 214   1                      {
 215   2                       if_maxI=0;
*** ERROR C202 IN LINE 215 OF 93C66.C: 'if_maxI': undefined identifier
 216   2                       EE_Write(ADDR_I,MAXDLtemp);
*** ERROR C202 IN LINE 216 OF 93C66.C: 'ADDR_I': undefined identifier
 217   2                       Nop();
 218   2                      }
 219   1               EE_CS=0;
 220   1      }
 221          
 222          void  F_InitValue_EEROM(void)
C51 COMPILER V7.06   93C66                                                                 05/10/2008 14:08:33 PAGE 5   

 223          {
 224   1         EE_Write(Adr_Check,CheckEEROM2);
*** ERROR C202 IN LINE 224 OF 93C66.C: 'Adr_Check': undefined identifier
 225   1         EE_Write(ADDR_PULSE1,75);
*** ERROR C202 IN LINE 225 OF 93C66.C: 'ADDR_PULSE1': undefined identifier
 226   1         EE_Write(ADDR_PULSE2,70);
*** ERROR C202 IN LINE 226 OF 93C66.C: 'ADDR_PULSE2': undefined identifier
 227   1          EE_Write(ADDR_MCUSPD,200);
*** ERROR C202 IN LINE 227 OF 93C66.C: 'ADDR_MCUSPD': undefined identifier
 228   1              EE_Write(ADDR_RPM,8);
*** ERROR C202 IN LINE 228 OF 93C66.C: 'ADDR_RPM': undefined identifier
 229   1              EE_Write(ADDR_RAID,248);
*** ERROR C202 IN LINE 229 OF 93C66.C: 'ADDR_RAID': undefined identifier
 230   1              EE_Write(ADDR_I,700);
*** ERROR C202 IN LINE 230 OF 93C66.C: 'ADDR_I': undefined identifier
 231   1      }
 232          
 233          
 234          void   F_Read_AllEEPROM(void)
 235          {
 236   1            pulse.data_pulse1=EE_Read(ADDR_PULSE1);
*** ERROR C202 IN LINE 236 OF 93C66.C: 'pulse': undefined identifier
 237   1              Nop();
 238   1              pulse.data_pulse2=EE_Read(ADDR_PULSE2);
*** ERROR C202 IN LINE 238 OF 93C66.C: 'pulse': undefined identifier
 239   1              Nop();
 240   1              speed.spd_mcu=EE_Read(ADDR_MCUSPD);
*** ERROR C202 IN LINE 240 OF 93C66.C: 'speed': undefined identifier
 241   1              Nop();
 242   1              speed.spd_rpm=EE_Read(ADDR_RPM);
*** ERROR C202 IN LINE 242 OF 93C66.C: 'speed': undefined identifier
 243   1              Nop();
 244   1              Raidtemp=EE_Read(ADDR_RAID);    
*** ERROR C202 IN LINE 244 OF 93C66.C: 'Raidtemp': undefined identifier
 245   1              Nop();
 246   1              MAXDLtemp=EE_Read(ADDR_I);
*** ERROR C202 IN LINE 246 OF 93C66.C: 'MAXDLtemp': undefined identifier
 247   1      }

C51 COMPILATION COMPLETE.  1 WARNING(S),  31 ERROR(S)

⌨️ 快捷键说明

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