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

📄 24c02.lst

📁 CT107D测试程序(含超声测距)
💻 LST
字号:
C51 COMPILER V9.02   24C02                                                                 01/01/2006 04:05:43 PAGE 1   


C51 COMPILER V9.02, COMPILATION OF MODULE 24C02
OBJECT MODULE PLACED IN .\output\24c02.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 24c02.c BROWSE DEBUG OBJECTEXTEND PRINT(.\list\24c02.lst) OBJECT(.\output\2
                    -4c02.obj)

line level    source

   1          #include "24c02.h"
   2          
   3          void iic_start(void)
   4          {
   5   1        SDA = 1;
   6   1        _nop_();
   7   1        SCL = 1;
   8   1        somenop;
   9   1        SDA = 0;
  10   1        somenop;
  11   1        SCL = 0;
  12   1      }
  13          
  14          void iic_stop(void)
  15          {
  16   1        SDA = 0;
  17   1        _nop_();
  18   1        SCL = 1;
  19   1        somenop;
  20   1        SDA = 1;
  21   1      }
  22          
  23          void iic_ack(bit ackbit)
  24          {
  25   1        if(ackbit) 
  26   1              SDA = 0;
  27   1        else 
  28   1              SDA = 1; 
  29   1        somenop;
  30   1        SCL = 1;
  31   1        somenop;
  32   1        SCL = 0;
  33   1        SDA = 1; 
  34   1        somenop;
  35   1      }
  36          
  37          bit iic_waitack(void)
  38          {
  39   1        SDA = 1;
  40   1        somenop;
  41   1        SCL = 1;
  42   1        somenop;
  43   1        if(SDA)    
  44   1        {   
  45   2              SCL = 0;
  46   2              iic_stop();
  47   2              return 0;
  48   2        }
  49   1        else  
  50   1        { 
  51   2              SCL = 0;
  52   2              return 1;
  53   2        }
  54   1      }
C51 COMPILER V9.02   24C02                                                                 01/01/2006 04:05:43 PAGE 2   

  55          
  56          void iic_sendbyte(unsigned char byt)
  57          {
  58   1        unsigned char i;
  59   1        for(i=0;i<8;i++)
  60   1        {   
  61   2              if(byt&0x80) 
  62   2            SDA = 1;
  63   2              else 
  64   2                SDA = 0;
  65   2              somenop;
  66   2              SCL = 1;
  67   2              byt <<= 1;
  68   2              somenop;
  69   2          SCL = 0;
  70   2        }
  71   1      }
  72          
  73          unsigned char iic_recbyte(void)
  74          {
  75   1        unsigned char da;
  76   1        unsigned char i;
  77   1        for(i=0;i<8;i++)
  78   1        {   
  79   2              SCL = 1;
  80   2              somenop;
  81   2              da <<= 1;
  82   2              if(SDA) 
  83   2                da |= 0x01;
  84   2              SCL = 0;
  85   2              somenop;
  86   2        }
  87   1        return da;
  88   1      }
  89          
  90          void wrbyte_24c02(unsigned char add,unsigned char dat)
  91          {
  92   1        // Device Address 1100 000 R/W
  93   1        iic_start();
  94   1        iic_sendbyte(0xa0);
  95   1        iic_waitack();
  96   1        iic_sendbyte(add);
  97   1        iic_waitack();
  98   1        iic_sendbyte(dat);
  99   1        iic_waitack();
 100   1        iic_stop();
 101   1        delay(10);
 102   1      }
 103          
 104          unsigned char rdbyte_24c02(unsigned char add)
 105          {
 106   1        // Device Address 1100 000 R/W
 107   1        unsigned char da;
 108   1        iic_start();
 109   1        iic_sendbyte(0xa0);
 110   1        iic_waitack();
 111   1        iic_sendbyte(add);
 112   1        iic_waitack();
 113   1        iic_start();
 114   1        iic_sendbyte(0xa1);
 115   1        iic_waitack();
 116   1        da = iic_recbyte();
C51 COMPILER V9.02   24C02                                                                 01/01/2006 04:05:43 PAGE 3   

 117   1        iic_ack(0); 
 118   1        iic_stop();
 119   1        return da;
 120   1      }
 121          
 122          void delay(unsigned char t)
 123          {
 124   1        unsigned char i;
 125   1        while(t--)
 126   1        {
 127   2          for(i=0;i<112;i++);
 128   2        }
 129   1      }


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


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

⌨️ 快捷键说明

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