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

📄 eeprom.lst

📁 在KEILC下进行编译的程序,单片机可以进行AD,DA数据采集
💻 LST
字号:
C51 COMPILER V7.09   EEPROM                                                                04/03/2007 16:19:09 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE EEPROM
OBJECT MODULE PLACED IN EEPROM.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE EEPROM.c BROWSE

line level    source

   1          #include "fx2.h"
   2          #include "fx2regs.h"
   3          #include "io.h"
   4          
   5          #define SERIAL_ADDR             0x50
   6          
   7          BYTE                    DB_Addr;                                        //TPM Dual Byte Address stat
   8          BYTE                    I2C_Addr;                                       //TPM I2C address
   9          
  10          
  11          void EEPROMInit()
  12          {
  13   1              EZUSB_InitI2C();        
  14   1              // Determine I2C boot eeprom device address; addr = 0x0 for 8 bit addr eeproms (24LC00)
  15   1              I2C_Addr = SERIAL_ADDR | ((I2CS & 0x10) >> 4); // addr=0x01 for 16 bit addr eeprom (LC65)
  16   1              // Indicate if it is a dual byte address part
  17   1              DB_Addr = (BOOL)(I2C_Addr & 0x01); //TPM: ID1 is 16 bit addr bit - set by rocker sw or jumper
  18   1      }
  19          
  20          void EEPROMWriteByte(WORD addr, BYTE value)
  21          {
  22   1              BYTE            i = 0;
  23   1              BYTE xdata      ee_str[3];
  24   1      
  25   1              if(DB_Addr)
  26   1                      ee_str[i++] = MSB(addr);
  27   1      
  28   1              ee_str[i++] = LSB(addr);
  29   1              ee_str[i++] = value;
  30   1      
  31   1              EZUSB_WriteI2C(I2C_Addr, i, ee_str);
  32   1         EZUSB_WaitForEEPROMWrite(I2C_Addr);
  33   1      }
  34          
  35          
  36          void EEPROMWrite(WORD addr, BYTE length, BYTE xdata *buf)
  37          {
  38   1              BYTE    i;
  39   1              
  40   1              for(i = 0; i < length; i++)
  41   1                      EEPROMWriteByte(addr++,buf[i]);
  42   1      }
  43          
  44          void EEPROMRead(WORD addr, BYTE length, BYTE xdata *buf)
  45          {
  46   1              BYTE            i = 0;
  47   1              BYTE            j = 0;
  48   1              BYTE xdata      ee_str[2];
  49   1      
  50   1              if(DB_Addr)
  51   1                      ee_str[i++] = MSB(addr);
  52   1      
  53   1              ee_str[i++] = LSB(addr);
  54   1      
  55   1              EZUSB_WriteI2C(I2C_Addr, i, ee_str);
C51 COMPILER V7.09   EEPROM                                                                04/03/2007 16:19:09 PAGE 2   

  56   1      
  57   1              EZUSB_ReadI2C(I2C_Addr, length, buf);
  58   1      }
  59          
  60          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    218    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       5
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2      12
   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 + -