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

📄 i2c.lst

📁 多个单片机之间的I2C通讯的源代码
💻 LST
字号:
C51 COMPILER V7.06   I2C                                                                   03/06/2008 15:26:34 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN I2C.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE I2C.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          #define uchar unsigned char   
   3          #define uint unsigned int  
   4          sbit scl=P2^0;
   5          sbit dat=P2^1;
   6          void delay()
   7          {; ;}
   8          void chushihua()
   9          {
  10   1              dat=1;
  11   1              delay();
  12   1              scl=1;
  13   1              delay();
  14   1                      
  15   1      }
  16          
  17          void kaishi()
  18          {
  19   1           
  20   1              dat=1;
  21   1              delay();
  22   1              scl=1;
  23   1              delay();
  24   1              dat=0;
  25   1              delay();
  26   1      }
  27          void jieshu()
  28          {
  29   1              
  30   1              dat=0;
  31   1              delay();
  32   1              scl=1;
  33   1              delay();
  34   1              dat=1;
  35   1              delay();
  36   1      }
  37          void write(uchar x)
  38          {
  39   1              uchar i,j ;
  40   1              i=x;
  41   1              
  42   1              for(j=0;j<8;j++)
  43   1              {   
  44   2                  i=i<<1;
  45   2              scl=0;
  46   2                  delay();
  47   2                      dat=CY;
  48   2                      delay();        
  49   2                      scl=1;
  50   2                      delay();
  51   2                       
  52   2              }
  53   1          scl=0;
  54   1              delay();
  55   1              dat=1;
C51 COMPILER V7.06   I2C                                                                   03/06/2008 15:26:34 PAGE 2   

  56   1              delay();
  57   1      }
  58          uchar read( )
  59          {
  60   1              uchar m,n;
  61   1              scl=0;
  62   1              delay();
  63   1              dat=1;
  64   1              delay();
  65   1              for(m=0;m<8;m++)
  66   1              {   
  67   2                      scl=1;
  68   2                      delay();
  69   2                      n=(n<<1)|dat;
  70   2                      
  71   2                      scl=0;
  72   2                      delay();
  73   2       
  74   2              }
  75   1              return n;
  76   1      }
  77          void xiangying()
  78          {
  79   1              uchar b=0 ;
  80   1              scl=1;
  81   1              delay();
  82   1              while((dat==1)&&(b<200))
  83   1                      b++;
  84   1              scl=0;
  85   1              delay();
  86   1      }
  87          void fasong(uchar q,uchar l,uchar c)
  88          {
  89   1              kaishi();
  90   1              write(q);
  91   1              xiangying();
  92   1              write(l);
  93   1              xiangying();
  94   1              write(c);
  95   1              xiangying();
  96   1              jieshu(); 
  97   1      }
  98          void jieshou(uchar w,uchar g)
  99          {
 100   1              kaishi();
 101   1                      write(w);
 102   1                      xiangying();
 103   1                      write(g);
 104   1                      xiangying();
 105   1              kaishi();
 106   1                      write(++w);
 107   1                      xiangying(); 
 108   1                      P0=read( );
 109   1                  jieshu();   
 110   1      }
 111          
 112           
 113            
 114          void delay1(uint p)
 115          {
 116   1              uint e,f;
 117   1              for(e=p;e>0;e--)
C51 COMPILER V7.06   I2C                                                                   03/06/2008 15:26:34 PAGE 3   

 118   1                      for(f=300;f>0;f--);
 119   1      }
 120          void main()
 121          {       
 122   1              
 123   1          chushihua();
 124   1          fasong(0xa0,23,1);
 125   1          fasong(0xa2,23,2);
 126   1              fasong(0xa4,23,3);
 127   1              fasong(0xa6,23,4);
 128   1          delay1(200);
 129   1              jieshou(0xa0,23);
 130   1          delay1(200);
 131   1              jieshou(0xa2,23);
 132   1              delay1(200);
 133   1              jieshou(0xa4,23);
 134   1              delay1(200);
 135   1              jieshou(0xa6,23);
 136   1                        
 137   1              while(1);
 138   1      }


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