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

📄 a24cxx.lst

📁 I2C总线的一个实例,有原理图的设计,和程序的设计,可直接用在项目开发中,节约开发时间,提高效率.
💻 LST
字号:
C51 COMPILER V7.09   A24CXX                                                                08/24/2007 09:33:27 PAGE 1   


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

line level    source

   1          #include<reg51.h>
   2          #include"IIC.h"
   3          #include"A24CXX.h"
   4          
   5          
   6          //向A24CXX发送一字节数据函数:A24C_Send()
   7          void A24C_Send(uchar temp)
   8          {
   9   1              uchar i;
  10   1              for(i=0;i<8;i++)
  11   1              {
  12   2                      PinSDA=temp&0x80;
  13   2                      temp=temp<<1;
  14   2                      nNop(20);
  15   2                      PinSCL=1;
  16   2                      nNop(20);               //SCL高电平时间不小于4uS
  17   2                      PinSCL=0;               //SCL低电平时间不小于4.7uS
  18   2              }
  19   1              nNop(20);
  20   1              PinSDA=1;                       //准备接收应答信号
  21   1              nNop(20);
  22   1              PinSCL=1;                       //发送应答时钟
  23   1              while(PinSDA);          //判断是否有应答信号
  24   1              nNop(20);
  25   1              PinSCL=0;
  26   1              }
  27                  
  28          //从A24CXX读一字节数据函数:A24C_Read()
  29          uchar A24C_Read()
  30          {
  31   1              uchar i,temp=0;
  32   1              PinSDA=1;
  33   1              for(i=0;i<8;i++)
  34   1              {
  35   2                      PinSCL=0;
  36   2                      temp=temp<<1;
  37   2                      PinSCL=1;
  38   2                      nNop(20);
  39   2                      if(PinSDA)
  40   2                              temp++;
  41   2              }
  42   1              PinSCL=0;
  43   1              PinSDA=0;//应答位
  44   1              PinSCL=1;
  45   1              nNop(20);
  46   1              PinSCL=0;
  47   1              PinSDA=1;
  48   1              return(temp);
  49   1              }
  50                  
  51          //向A24CXX指定地址发送一字节数据函数:A24C_WriteByte()
  52          void A24C_WriteByte(uchar DevAddr,uchar SubAddr,uchar temp)
  53          {
  54   1              StartIIC();
  55   1              A24C_Send(DevAddr);
C51 COMPILER V7.09   A24CXX                                                                08/24/2007 09:33:27 PAGE 2   

  56   1              A24C_Send(SubAddr);
  57   1              A24C_Send(temp);
  58   1              StopIIC();
  59   1              LongDelay(2);
  60   1              }
  61          
  62          //从A24CXX指定地址接收一字节数据函数:A24C_ReadByte()
  63          uchar A24C_ReadByte(uchar DevAddr,uchar SubAddr)
  64          {
  65   1              uchar temp;
  66   1              StartIIC();
  67   1              A24C_Send(DevAddr);
  68   1              A24C_Send(SubAddr);
  69   1              StopIIC();
  70   1              StartIIC();
  71   1              A24C_Send(DevAddr+1);
  72   1              temp = A24C_Read();
  73   1              StopIIC();
  74   1              LongDelay(2);
  75   1              return(temp);
  76   1              }
  77          
  78          //向A24CXX中预存入数据函数:WriteEErom()
  79          void WriteEErom()
  80          {
  81   1              uchar i,j;
  82   1              do{
  83   2                      StartIIC();
  84   2                      A24C_Send(A24C02);
  85   2                      A24C_Send(j);
  86   2                      for(i=0;i<8;i++)
  87   2                              A24C_Send(i+j);
  88   2                      StopIIC();
  89   2                      for(i=0;i<255;i++)
  90   2                              nNop(10);
  91   2                      j=j+8;
  92   2                      }while(j!=0);
  93   1      }       
  94                  


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