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

📄 2402.lst

📁 24c02的c语言源代码
💻 LST
字号:
C51 COMPILER V7.50   2402                                                                  01/07/2008 14:41:42 PAGE 1   


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

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include <stdio.h>
   4          #include <absacc.h>
   5          sbit scl=P0^3;  //24c02 SCL
   6          sbit sda=P0^4;  //24c02 SDA
   7          unsigned char x24c02_read(unsigned char address);  //从24c02的地址address中读取一个字节数据
   8          void x24c02_write(unsigned char address,unsigned char info);  //向24c02的address地址中写入一字节数据info
   9          void x24c02_init();   //24c02初始化子程序
  10          void delay1(unsigned char x);
  11          void flash();             //短延时                      
  12          //void x24c01_init();
  13          void start();           //起始条件      
  14          void stop();            //停止条件      
  15          void writex(unsigned char j);//向总线发送1个数据
  16          unsigned char readx();                          //从总线接收1 个数据
  17          void clock();                                           //应答位
  18          /*void delay1(unsigned char x)
  19          {
  20             unsigned int i;
  21             for(i=0;i<x;i++);
  22             DOG=~DOG;
  23          }*/
  24          //延时
  25          void mDelay(unsigned int DelayTime)
  26          {
  27   1              unsigned int j;
  28   1              for(;DelayTime>0;DelayTime--)
  29   1              {
  30   2                      for(j=0;j<125;j++)
  31   2                      {;}
  32   2              }
  33   1      }
  34          void flash()
  35          {
  36   1         _nop_();_nop_();
  37   1      }
  38          void x24c02_init()
  39          {
  40   1         scl=1; flash(); sda=1; flash();
  41   1      }
  42          void start()
  43          {
  44   1         sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();
  45   1      }
  46          void stop()
  47          {
  48   1         sda=0; flash(); scl=1; flash(); sda=1; flash();
  49   1      }
  50          void writex(unsigned char j)
  51          {
  52   1         unsigned char i,temp;
  53   1         temp=j;
  54   1         for (i=0;i<8;i++){
  55   2            temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();
C51 COMPILER V7.50   2402                                                                  01/07/2008 14:41:42 PAGE 2   

  56   2         }
  57   1         scl=0; flash(); sda=1; flash();
  58   1      }
  59          unsigned char readx()
  60          {
  61   1         unsigned char i,j,k=0;
  62   1         scl=0; flash(); sda=1;
  63   1         for (i=0;i<8;i++)
  64   1         {
  65   2            flash(); scl=1; flash();
  66   2            if (sda==1) j=1;
  67   2            else j=0;
  68   2            k=(k<<1)|j; scl=0;
  69   2         }
  70   1         flash();
  71   1         return(k);
  72   1      }
  73          void clock()
  74          {
  75   1         unsigned char i=0;
  76   1         scl=1; flash();
  77   1         while ((sda==1)&&(i<255))i++;
  78   1         scl=0;
  79   1         flash();
  80   1      }
  81          unsigned char x24c02_read(unsigned char address)
  82          {
  83   1         unsigned char i;
  84   1         start(); writex(0xa0);
  85   1         clock(); writex(address);
  86   1         clock(); start();
  87   1         writex(0xa1); clock();
  88   1         i=readx(); stop();
  89   1         mDelay(10);
  90   1         return(i);
  91   1      }
  92          void x24c02_write(unsigned char address,unsigned char info)
  93          {
  94   1         EA=0;
  95   1         start(); writex(0xa0);
  96   1         clock(); writex(address);
  97   1         clock(); writex(info);
  98   1         clock(); stop();
  99   1         EA=1;
 100   1         mDelay(10);
 101   1      } 
 102          void main()
 103          {
 104   1              unsigned char i,j;
 105   1              x24c02_init();
 106   1              mDelay(100);
 107   1              x24c02_write(0x00,0x55);
 108   1              mDelay(100);
 109   1              i=x24c02_read(0x00);
 110   1              mDelay(100);
 111   1              x24c02_write(0x01,0xaa);
 112   1              mDelay(100);
 113   1              j=x24c02_read(0x01);
 114   1              mDelay(100);
 115   1      }


C51 COMPILER V7.50   2402                                                                  01/07/2008 14:41:42 PAGE 3   

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