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

📄 iic.lst

📁 51单片机相关驱动程序 51单片机最小系统测试程序
💻 LST
字号:
C51 COMPILER V7.08   IIC                                                                   04/02/2006 11:19:17 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE IIC
OBJECT MODULE PLACED IN iic.OBJ
COMPILER INVOKED BY: E:\电子应用软件\keil7\C51\BIN\C51.EXE iic.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <IIC.H>
   2          
   3          void IIC_SomeNop(void)
   4          {
   5   1       _nop_();
   6   1       _nop_();
   7   1       _nop_();
   8   1       _nop_();
   9   1      }
  10          
  11          
  12          void IIC_Start(void)
  13          {
  14   1              SDA=1;
  15   1              SCL=1;
  16   1              IIC_SomeNop();
  17   1              SDA=0;
  18   1              IIC_SomeNop();
  19   1              SCL=0;
  20   1      }
  21          
  22          
  23          void IIC_Stop(void)
  24          {
  25   1              SCL=0;
  26   1              IIC_SomeNop();
  27   1              SDA=0;
  28   1              IIC_SomeNop();    ////////////////////////////////////////
  29   1              SCL=1;
  30   1              IIC_SomeNop();
  31   1              SDA=1;
  32   1      }
  33          
  34          
  35          void IIC_WaitACK(void)   /////////////
  36          {       
  37   1              uint8 i=10;
  38   1              SDA=1;
  39   1              IIC_SomeNop();
  40   1              SCL=1;
  41   1              IIC_SomeNop();
  42   1              do{
  43   2              IIC_SomeNop();
  44   2              if(!i--)break;
  45   2                      }
  46   1              while(SDA);
  47   1      
  48   1       
  49   1              IIC_SomeNop();
  50   1              SCL=0;
  51   1      }
  52          
  53          
  54          
  55          void IIC_ACK(void)
C51 COMPILER V7.08   IIC                                                                   04/02/2006 11:19:17 PAGE 2   

  56          {
  57   1              SDA=0;
  58   1              IIC_SomeNop();
  59   1              SCL=1;
  60   1              IIC_SomeNop();
  61   1              SCL=0;
  62   1      }
  63          
  64          void IIC_NO_ACK(void)
  65          {
  66   1              SDA=1;
  67   1              IIC_SomeNop();
  68   1              SCL=1;
  69   1              IIC_SomeNop();
  70   1              SCL=0;
  71   1              
  72   1      }
  73          
  74          
  75          void IIC_Sendbyte(uint8 wdata)
  76          {
  77   1              uint8 i;
  78   1              for(i=0;i<8;i++){
  79   2                              SCL=0;
  80   2                              IIC_SomeNop();          
  81   2                              if(wdata&0x80)SDA=1;
  82   2                                      else SDA=0;
  83   2                         
  84   2                              SCL=1;
  85   2                              IIC_SomeNop();
  86   2                              wdata<<=1;
  87   2                              }
  88   1               SCL=0;
  89   1      }
  90          
  91          
  92          
  93          uint8 IIC_RcvByte(void)
  94          {
  95   1              uint8 i;
  96   1              uint8 rdata=0;
  97   1              SDA=1;
  98   1              for(i=0;i<8;i++){
  99   2                              rdata<<=1;      
 100   2                              SCL=0;
 101   2                              IIC_SomeNop();
 102   2                              SCL=1;
 103   2                              IIC_SomeNop();
 104   2                              if(SDA)rdata++;         
 105   2                              SDA=1;
 106   2                                              }
 107   1              SCL=0;
 108   1              return(rdata);
 109   1      
 110   1      }
 111          
 112          
 113          uint8  IIC_24c16_ReadOneChar(uint8 Addr)
 114          {       
 115   1              uint8 rdata;
 116   1              IIC_Start();
 117   1              IIC_SendByte(0x0a0);    
C51 COMPILER V7.08   IIC                                                                   04/02/2006 11:19:17 PAGE 3   

 118   1              IIC_WaitACK();
 119   1              IIC_SendByte(Addr);
 120   1              IIC_WaitACK();
 121   1              IIC_Start();
 122   1              IIC_SendByte(0x0a1);
 123   1              IIC_WaitACK();
 124   1              rdata=IIC_RcvByte();
 125   1              IIC_NO_ACK();
 126   1              IIC_Stop();
 127   1              IIC_SomeNop();
 128   1              IIC_SomeNop();
 129   1              IIC_SomeNop();
 130   1              IIC_SomeNop();
 131   1              IIC_SomeNop();
 132   1              IIC_SomeNop();
 133   1              return (rdata);
 134   1      }
 135          
 136          uint8  IIC_24c16_WriteOneChar(uint8 Addr,uint8 wdata)
 137          {       
 138   1       
 139   1              IIC_Start();
 140   1              IIC_SendByte(0x0a0);
 141   1              IIC_WaitACK();
 142   1              IIC_SendByte(Addr);
 143   1              IIC_WaitACK();
 144   1              IIC_SendByte(wdata);
 145   1              IIC_WaitACK();
 146   1              IIC_Stop();
 147   1              IIC_SomeNop();
 148   1              IIC_SomeNop();
 149   1              IIC_SomeNop();
 150   1       
 151   1      }
*** WARNING C173 IN LINE 151 OF IIC.C: missing return-expression


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


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

⌨️ 快捷键说明

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