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

📄 24c02.lst

📁 利用定时器
💻 LST
字号:
C51 COMPILER V8.01   24C02                                                                 07/01/2007 21:49:36 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE 24C02
OBJECT MODULE PLACED IN 24c02.OBJ
COMPILER INVOKED BY: C:\Program Files\ruanjian\keilv3\C51\BIN\C51.EXE 24c02.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char 
   3          #define uint unsigned int
   4          #define WriteAddress 0xa0  //定义器件在I2C总线中的地址
   5          #define ReadAddress 0xa1   //定义器件在I2C总线中的地址
   6          sbit SCL=P2^0;
   7          sbit SDA=P2^1;
   8          
   9          
  10          void delay(uint t)
  11          {
  12   1       uchar number;
  13   1       while(t--)
  14   1       {
  15   2         for(number=0;number<110;number++);
  16   2       }
  17   1      }
  18          
  19          //开始总线
  20          void Star(void)
  21          {
  22   1       SDA=1;
  23   1       SCL=1;
  24   1       SDA=0;
  25   1       SCL=0;     //数据线   时钟线由高变低,开始总线
  26   1       
  27   1      }
  28          
  29          //结束总线
  30          void Stop(void)
  31          {
  32   1       SCL=0;
  33   1       SDA=0;
  34   1       SCL=1;
  35   1       SDA=1;     //时钟线 数据线由低变高,停止数据传送
  36   1      
  37   1      }
  38          
  39          //测试ACK
  40          bit Testack()
  41          {
  42   1       bit ErrorBit;
  43   1       SDA=1;
  44   1       SCL=1;
  45   1       ErrorBit=SDA;
  46   1       SCL=0;                    //数据线为高电平,时钟线由高变低,测试ACK
  47   1       return(ErrorBit);
  48   1      }
  49          
  50          //写8 bit到24c02 
  51          Write8bit(uchar ch)
  52          {
  53   1       uchar temp;
  54   1      for(temp=8;temp!=0;temp--)
  55   1         {
C51 COMPILER V8.01   24C02                                                                 07/01/2007 21:49:36 PAGE 2   

  56   2           SDA=(bit)(ch&0x80);
  57   2           SCL=1;
  58   2           SCL=0;
  59   2           ch=ch<<1;
  60   2         }
  61   1      }
  62          
  63          
  64          //写一个字节到24c02
  65          Write24c02(uchar ch,uchar address)
  66          {
  67   1         Star();
  68   1         Write8bit(WriteAddress);
  69   1         Testack();
  70   1         Write8bit(address);
  71   1         Testack();
  72   1         Write8bit(ch);
  73   1         Testack();
  74   1         Stop();
  75   1         delay(10);
  76   1      }
  77          
  78          
  79          //从24c02中读出8bit 
  80           Read8bit(uchar ch) 
  81          { 
  82   1        uchar temp;
  83   1        for(temp=8;temp!=0;temp--)
  84   1        {
  85   2         SCL=1;
  86   2         ch=ch<<1;
  87   2         ch=ch|((uchar)(SDA));
  88   2         SCL=0;
  89   2        }
  90   1        return(ch);
  91   1      }
  92          
  93          
  94          //从24c02中读出一个字节
  95          Read24c02(uchar address)
  96          { 
  97   1        uchar ch;
  98   1        Star();
  99   1        Write8bit(ReadAddress);
 100   1        Testack();
 101   1        Write8bit(address);
 102   1        Testack();
 103   1        Star();
 104   1        Write8bit(ReadAddress);
 105   1        Testack();
 106   1        ch=Read8bit();
*** WARNING C209 IN LINE 106 OF 24C02.C: '_Read8bit': too few actual parameters
 107   1      
 108   1        Stop();
 109   1        return(ch);
 110   1      }
 111            


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    163    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V8.01   24C02                                                                 07/01/2007 21:49:36 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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