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

📄 main.lst

📁 24CXX的读写代码,适用于51单片机.
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  11/05/2008 23:47:59 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE INCDIR(C:\EZST\EasyStudy51\ES51-II\Target\INC\) DEBUG OBJECTE
                    -XTEND

stmt level    source

   1          
   2          /*
   3           File:  mian.c
   4           说明:  IIC总线器件24C01的读写;
   5           Author:wolfe
   6           Data:  2008.10 
   7          */
   8          
   9          #include "at89x52.h"
  10          #include "ES51_II.h"
  11          #include "es51_ii_lib.h"
  12          
  13          
  14          // 操作结束
  15          void I2c_Stop(void);  
  16          // 操作起始
  17          void I2c_Start(void); 
  18          //读一个字节数据
  19          unsigned char I2c_RdByte(void); 
  20          //写一个字节数据
  21          void I2c_WrByte(unsigned char dat);     
  22          
  23          
  24          //      24CXX写一字节数据函数
  25          //              slave:  从器件地址,对于ES51-II上的24地址是:0xA0
  26          //              addr:   从器件片内地址
  27          //              dat:    数据
  28          void EEPROM_WrOneByte(unsigned char slave,unsigned char addr,unsigned char dat)
  29          {
  30   1              I2c_Start();                            //      启动总线
  31   1              I2c_WrByte( slave & 0xfe );     //      写器件从地址,写器件
  32   1              I2c_WrByte( addr );                             //      写器件片内地址
  33   1              I2c_WrByte( dat );              //      发送数据
  34   1              I2c_Stop();                     //      结束总线
  35   1      
  36   1      }
  37          //      24CXX读一字节数据函数
  38          //              .....
  39          //              .....
  40          unsigned char EEPROM_RdOneByte(unsigned char slave,unsigned char addr)
  41          {
  42   1              unsigned char value;
  43   1      
  44   1              I2c_Start();                            //      启动总线
  45   1              I2c_WrByte( slave & 0xfe );     //      写器件从地址,写器件
  46   1              I2c_WrByte( addr );                             //      写器件片内地址
  47   1              //I2c_Stop();
  48   1      
  49   1              I2c_Start();
  50   1              I2c_WrByte( slave | 0x01 );             //      写器件从地址,读器件
  51   1              value = I2c_RdByte();                   //      发送数据
  52   1              I2c_Stop();                     //      结束总线
  53   1      
  54   1              return value;
C51 COMPILER V7.06   MAIN                                                                  11/05/2008 23:47:59 PAGE 2   

  55   1      }
  56          
  57          //      
  58          void main()
  59          {
  60   1              unsigned int tmp;
  61   1              unsigned char tmp1;
  62   1      
  63   1              unsigned char addr,value,i;
  64   1              
  65   1              SMGDisplayON();
  66   1              EA = 1;
  67   1      
  68   1              for( value=0,addr=0; addr<128; addr++,value++ )
  69   1                      {
  70   2                      EEPROM_WrOneByte(ADDR_24,addr,value);
  71   2      
  72   2                      i=250;
  73   2                      while(i--);                                                             //      读写之间稍延时
  74   2                      tmp =0;
  75   2                      tmp = (tmp|addr)<<8;                                    
  76   2                      tmp1 = EEPROM_RdOneByte(ADDR_24,addr);
  77   2      
  78   2                      tmp |= tmp1;
  79   2                      SMGprintf("%x",tmp);                                    //      数码管显示地址和读出的数据
  80   2      
  81   2                      DelayS(1);                                                              //      延时1秒后继续下一地址的读写
  82   2                      }
  83   1              while(1);
  84   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    161    ----
   CONSTANT SIZE    =      3    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      11
   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 + -