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

📄 24c04.lst

📁 51单片机项目集
💻 LST
字号:
C51 COMPILER V8.02   24C04                                                                 08/30/2010 21:46:57 PAGE 1   


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

line level    source

   1          #include<reg51.h>
   2          #include<intrins.h>
   3          #define uchar unsigned char
   4          #define nop _nop_()
   5          sbit sda=P1^7;   //SDA和单片机的P17脚相连
   6          sbit scl=P1^1;   //SCL和单片机的P16脚相连
   7          //定义ACC的位,利用ACC操作速度最快   
   8          sbit a0=ACC^0;
   9          sbit a1=ACC^1;
  10          sbit a2=ACC^2;
  11          sbit a3=ACC^3;
  12          sbit a4=ACC^4;
  13          sbit a5=ACC^5;
  14          sbit a6=ACC^6;
  15          sbit a7=ACC^7;
  16          //开始函数
  17          void start()
  18          {
  19   1              sda=1;
  20   1              nop;
  21   1              scl=1;
  22   1              nop;
  23   1              sda=0;
  24   1              nop;
  25   1              scl=0;
  26   1              nop;
  27   1      }
  28          //停止函数
  29          void stop()
  30          {
  31   1              sda=0;
  32   1              nop;
  33   1              scl=1;
  34   1              nop;
  35   1              sda=1;
  36   1              nop;
  37   1      }
  38          //响应函数
  39          void ack()
  40          {
  41   1              uchar i;
  42   1              scl=1;
  43   1              nop;
  44   1              while((sda==1) && (i<250))i++;
  45   1              scl=0;
  46   1              nop;
  47   1      }
  48          //写一个字节函数
  49          void write_byte(uchar dd)
  50          {
  51   1              ACC=dd;
  52   1              sda=a7;scl=1;scl=0;
  53   1              sda=a6;scl=1;scl=0;
  54   1              sda=a5;scl=1;scl=0;
  55   1              sda=a4;scl=1;scl=0;
C51 COMPILER V8.02   24C04                                                                 08/30/2010 21:46:57 PAGE 2   

  56   1              sda=a3;scl=1;scl=0;
  57   1              sda=a2;scl=1;scl=0;
  58   1              sda=a1;scl=1;scl=0;
  59   1              sda=a0;scl=1;scl=0;
  60   1              sda=1;
  61   1      }
  62          //读一个字节函数
  63          uchar read_byte()
  64          {
  65   1              sda=1;
  66   1              scl=1;a7=sda;scl=0;
  67   1              scl=1;a6=sda;scl=0;
  68   1              scl=1;a5=sda;scl=0;
  69   1              scl=1;a4=sda;scl=0;
  70   1              scl=1;a3=sda;scl=0;
  71   1              scl=1;a2=sda;scl=0;
  72   1              scl=1;a1=sda;scl=0;
  73   1              scl=1;a0=sda;scl=0;
  74   1              sda=1;
  75   1              return(ACC);
  76   1      }
  77          //写地址和数据函数
  78          void write_add(uchar address,uchar date)
  79          {
  80   1              start();
  81   1              write_byte(0xa0);//写2404地址命令
  82   1              ack();
  83   1              write_byte(address);//写地址
  84   1              ack();
  85   1              write_byte(date);//写数据
  86   1              ack();
  87   1              stop();
  88   1      }
  89          //读地址、数据函数
  90          uchar read_add(uchar address)
  91          {
  92   1              uchar temp;
  93   1              start();
  94   1              write_byte(0xa0);                 //
  95   1              ack();
  96   1              write_byte(address);      //
  97   1              ack();
  98   1              start();
  99   1              write_byte(0xa1);
 100   1              ack();
 101   1              temp=read_byte();
 102   1              stop();
 103   1              return(temp);
 104   1      }
 105          void delay(uchar i)
 106          {
 107   1              uchar a,b;
 108   1              for(a=0;a<i;i++)
 109   1                      for(b=0;b<100;b++);
 110   1      }
 111          void init()
 112          {
 113   1              sda=1;
 114   1              nop;
 115   1              scl=1;
 116   1              nop;
 117   1      }
C51 COMPILER V8.02   24C04                                                                 08/30/2010 21:46:57 PAGE 3   

 118          void main()
 119          {
 120   1              init();            //初始化函数
 121   1              write_add(5,0x77);  //往地址5中写入0xaa
 122   1              delay(100);
 123   1              P0=read_add(5);   //读地址5中的数据,并送P0口驱动发光二极管显示 
 124   1              while(1);         //无限循环
 125   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    295    ----
   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 + -