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

📄 24c04.lst

📁 单片机通过一定的时序
💻 LST
字号:
C51 COMPILER V7.06   24C04                                                                 02/01/2009 15:47:26 PAGE 1   


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

stmt level    source

   1          #include<reg52.h>
   2          #define uchar unsigned char
   3          
   4          sbit scl=P3^0;
   5          sbit sda=P3^1;
   6          
   7          void delay()
   8          {
   9   1              ;;;
  10   1      }
  11          void delay1(uchar x)
  12          {
  13   1              int k;
  14   1              for(k=250;k>0;k--)
  15   1                      for(;x>0;x--);
  16   1      }
  17          
  18          void start()
  19          {
  20   1              sda=1;
  21   1              scl=1;
  22   1              delay();
  23   1              sda=0;
  24   1              delay();
  25   1      }
  26          
  27          void stop()
  28          {
  29   1              sda=0;
  30   1              scl=1;
  31   1              delay();
  32   1              sda=1;
  33   1              delay();
  34   1      }
  35          
  36          void init()
  37          {
  38   1              scl=1;
  39   1              sda=1;
  40   1              delay();
  41   1      }
  42          
  43          void respond()
  44          {
  45   1              uchar i;
  46   1              scl=1;
  47   1              delay();
  48   1              while((sda==1)&&(i<250))
  49   1              i++;
  50   1              scl=0;
  51   1              delay();
  52   1              sda=1;//
  53   1      }
  54          
  55          void write_byte(uchar date)
C51 COMPILER V7.06   24C04                                                                 02/01/2009 15:47:26 PAGE 2   

  56          {
  57   1              uchar i,temp;
  58   1              temp=date;
  59   1              for(i=0;i<8;i++)
  60   1              {
  61   2                      scl=0;
  62   2                      delay();
  63   2                      temp=temp<<1;
  64   2                      sda=CY;
  65   2                      delay();
  66   2                      scl=1;
  67   2                      delay();
  68   2              }
  69   1              scl=0;
  70   1              delay();
  71   1      //      sda=1;
  72   1              delay();
  73   1      }
  74          
  75          uchar read_byte()
  76          {
  77   1              uchar i,j,k;
  78   1      //      scl=0;
  79   1      //      delay();
  80   1      //      sda=1;
  81   1              delay();
  82   1              for(i=0;i<8;i++)
  83   1              {
  84   2                      scl=1;
  85   2                      delay();
  86   2                      j=sda;
  87   2                      k=(k<<1)|j;
  88   2                      scl=0;
  89   2                      delay();
  90   2              }
  91   1              return k;
  92   1      
  93   1      }
  94          
  95          void write_date(uchar address,uchar date)
  96          {
  97   1              start();
  98   1              write_byte(0xa0);
  99   1              respond();
 100   1              write_byte(address);
 101   1              respond();
 102   1              write_byte(date);
 103   1              respond();
 104   1              stop();
 105   1      }
 106          
 107          uchar read_date(uchar address)
 108          {
 109   1              uchar k;
 110   1              start();
 111   1              write_byte(0xa0);
 112   1              respond();
 113   1              write_byte(address);
 114   1              respond();
 115   1              start();
 116   1              write_byte(0xa1);
 117   1              respond();
C51 COMPILER V7.06   24C04                                                                 02/01/2009 15:47:26 PAGE 3   

 118   1              k=read_byte();
 119   1              stop();
 120   1              return k;
 121   1      }
 122          
 123          void main()
 124          {
 125   1              init();
 126   1              write_date(3,0x99);
 127   1              delay1(100);
 128   1              P0=read_date(3);
 129   1              while(1);
 130   1      }
 131          


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