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

📄 24c01b.lst

📁 C51单片机扩展的数据存储器24X01的读写驱动程序
💻 LST
字号:
C51 COMPILER V8.02   24C01B                                                                03/10/2007 19:20:33 PAGE 1   


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

line level    source

   1          
   2          //24c01-24c16读写驱动程序,
   3          #include <reg51.h>
   4          #include <intrins.h>
   5          #include <stdio.h>
   6          #include <absacc.h>
   7          sbit a0=ACC^0;   //定义ACC的位,利用ACC操作速度最快
   8          sbit a1=ACC^1;
   9          sbit a2=ACC^2;
  10          sbit a3=ACC^3;
  11          sbit a4=ACC^4;
  12          sbit a5=ACC^5;
  13          sbit a6=ACC^6;
  14          sbit a7=ACC^7;
  15          sbit scl= P2^6;
  16          sbit  sda= P2^5;
  17          void s24(void) {
  18   1       _nop_();scl=0;sda=1;scl=1;_nop_();sda=0;_nop_();scl=0;
  19   1      }
  20          void s240(void) {
  21   1       _nop_();scl=0;sda=1;scl=1;_nop_();sda=0;_nop_();scl=0;
  22   1      }
  23          void p24(void) {
  24   1       sda=0;scl=1;_nop_();sda=1;
  25   1      }
  26          void p240(void) {
  27   1       sda=0;scl=1;_nop_();sda=1;
  28   1      }
  29          unsigned char rd24(void) {
  30   1       sda=1;
  31   1       scl=1;a7=sda;scl=0;
  32   1       scl=1;a6=sda;scl=0;
  33   1       scl=1;a5=sda;scl=0;
  34   1       scl=1;a4=sda;scl=0;
  35   1       scl=1;a3=sda;scl=0;
  36   1       scl=1;a2=sda;scl=0;
  37   1       scl=1;a1=sda;scl=0;
  38   1       scl=1;a0=sda;scl=0;
  39   1       sda=1;scl=1;scl=0;
  40   1       return(ACC);
  41   1      }
  42          
  43          void wd24(unsigned char dd) {
  44   1       ACC=dd;
  45   1       sda=a7;scl=1;scl=0;
  46   1       sda=a6;scl=1;scl=0;
  47   1       sda=a5;scl=1;scl=0;
  48   1       sda=a4;scl=1;scl=0;
  49   1       sda=a3;scl=1;scl=0;
  50   1       sda=a2;scl=1;scl=0;
  51   1       sda=a1;scl=1;scl=0;
  52   1       sda=a0;scl=1;scl=0;
  53   1       sda=1;scl=1;
  54   1      }
  55          
C51 COMPILER V8.02   24C01B                                                                03/10/2007 19:20:33 PAGE 2   

  56          unsigned char read(unsigned int address){
  57   1       unsigned char dd;
  58   1       dd=((address&0x7ff)/256)<<1;
  59   1       s24();wd24(0xa0|dd);scl=0;wd24(address);scl=0;
  60   1       s24();wd24(0xa1|dd);scl=0;dd=rd24();p24();return(dd);
  61   1      }
  62          
  63          void write(unsigned int address,unsigned char dd){
  64   1       unsigned char ddd;
  65   1       unsigned char time;
  66   1       ddd=((address&0x7ff)/256)<<1;
  67   1       s24();wd24(0xa0|ddd);scl=0;wd24(address);scl=0;wd24(dd);scl=0;p24();
  68   1       time=0;     //time为定时器时间参考,time增加1代表1ms,如果没有用定时器,取消该行
  69   1       while (1) {
  70   2        s24();
  71   2        wd24(0xa0|ddd);
  72   2        sda=1;
  73   2        if (sda==0) break;
  74   2        if (time>10) break; //此行防止由于eeprom器件损坏后的死循环
  75   2        scl=0;
  76   2       }
  77   1      }
  78          


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