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

📄 24c02.lst

📁 DS1820智能温控系统,使用1602液晶显示,51单片机控制,KEIL开发
💻 LST
字号:
C51 COMPILER V8.08   24C02                                                                 01/12/2009 19:00:37 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 24C02
OBJECT MODULE PLACED IN 24C02.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 24C02.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"24C02.h"       
   2           bit ack;
   3          void delay5us()
   4          {
   5   1        _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
   6   1      }
   7          void Start_I2C()
   8          {
   9   1        SDA=1;
  10   1         _nop_();
  11   1         SCL=1;
  12   1         delay5us();
  13   1         SDA=0;
  14   1         delay5us();
  15   1         SCL=0;
  16   1         _nop_();
  17   1      }
  18          void Stop_I2C()
  19          {
  20   1        SDA=0;
  21   1         _nop_();
  22   1         SCL=1;
  23   1         delay5us();
  24   1         SDA=1;
  25   1         delay5us();
  26   1         
  27   1       } 
  28          void SendByte(unsigned char Data)
  29          {
  30   1         unsigned char i;
  31   1         for (i=0;i<8;i++)
  32   1          {  
  33   2                 SDA=Data&0x80;
  34   2                 Data=Data<<1;
  35   2                 SCL=1;
  36   2                 delay5us();
  37   2             SCL=0;
  38   2               } 
  39   1              _nop_();
  40   1          SDA=1;
  41   1         _nop_();
  42   1         SCL=1;
  43   1         if(SDA==1)
  44   1         ack=0;
  45   1         else 
  46   1          ack=1;
  47   1         SCL=0;
  48   1       }  
  49          
  50          uchar RcvByte()
  51          {
  52   1         uchar retc=0;
  53   1         uchar i;
  54   1         SDA=1;
  55   1           for ( i=0;i<8;i++)
C51 COMPILER V8.08   24C02                                                                 01/12/2009 19:00:37 PAGE 2   

  56   1                {
  57   2                  SCL=0;
  58   2                      delay5us();
  59   2               SCL=1;
  60   2                      retc=retc<<1;
  61   2                      if(SDA==1)retc++;
  62   2                      _nop_();
  63   2                 }
  64   1              SCL=0;
  65   1              return(retc);
  66   1      }
  67          void Ack_I2C(bit a)
  68          {
  69   1        if(a==0)
  70   1        SDA=0;
  71   1        else
  72   1        SDA=1;
  73   1        _nop_();
  74   1        SCL=1;
  75   1        delay5us();
  76   1        SCL=0;
  77   1        _nop_();
  78   1      }
  79           void I2CSendByte(uchar suba,uchar Byte)
  80           {
  81   1         Start_I2C();                  // 启动总线
  82   1         SendByte(0XA0);               //写器件地址
  83   1         SendByte(suba);               //写数据地址
  84   1         SendByte(Byte);               //写数据
  85   1         Stop_I2C();                   //结束总线
  86   1      }
  87          uchar I2CReadByte(uchar suba)
  88          {
  89   1        uchar Byte;
  90   1        Start_I2C();                  // 启动总线
  91   1        SendByte(0XA0);               //写器件地址
  92   1        SendByte(suba);               //写数据地址
  93   1        Start_I2C();             // 重新启动总线
  94   1        SendByte(0XA0+1);        //写器件地址并以下是读状态
  95   1        Byte=RcvByte();               //读指定地址中的数据
  96   1        Ack_I2C(1);                   //应答
  97   1        Stop_I2C();                   //结束总线
  98   1        return(Byte);
  99   1        }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    180    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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