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

📄 2402.lst

📁 51单片机实验例程
💻 LST
字号:
C51 COMPILER V7.10   2402                                                                  02/15/2010 14:36:28 PAGE 1   


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

line level    source

   1           
   2           /*************************此部分为AT2402的驱动程序使用I2C总线连接*************************************/
   3          
   4          #include<Function.h>
   5          
   6          //AT2402的功能函数
   7          /*******************************************************************
   8                              向有子地址器件发送多字节数据函数               
   9          函数原型: bit  ISendStr(UCHAR sla,UCHAR suba,ucahr *s,UCHAR no);  
  10          功能:     从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件
  11                    地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。
  12                    如果返回1表示操作成功,否则操作有误。
  13          注意:    使用前必须已结束总线。
  14          ********************************************************************/
  15          bit ISendStr(unsigned char  sla,unsigned char  suba,unsigned char  *s,unsigned char  no)
  16          {
  17   1         unsigned char i;
  18   1      
  19   1         Start_I2c();               /*启动总线*/
  20   1         SendByte(sla);             /*发送器件地址*/
  21   1         if(ack==0)return(0);
  22   1         SendByte(suba);            /*发送器件子地址*/
  23   1         if(ack==0)return(0);
  24   1      
  25   1         for(i=0;i<no;i++)
  26   1         {   
  27   2           SendByte(*s);            /*发送数据*/
  28   2           if(ack==0)return(0);
  29   2           s++;
  30   2         } 
  31   1         Stop_I2c();                /*结束总线*/ 
  32   1      
  33   1         return(1);
  34   1      }
  35          
  36          /*******************************************************************
  37                              向有子地址器件读取多字节数据函数               
  38          函数原型: bit  RecndStr(UCHAR sla,UCHAR suba,ucahr *s,UCHAR no);  
  39          功能:     从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件
  40                    地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。
  41                     如果返回1表示操作成功,否则操作有误。
  42          注意:    使用前必须已结束总线。
  43          ********************************************************************/
  44          bit IRcvStr(unsigned char  sla,unsigned char  suba,unsigned char  *s,unsigned char  no)
  45          {
  46   1         unsigned char i;
  47   1      
  48   1         Start_I2c();                  /*启动总线*/
  49   1         SendByte(sla);                /*发送器件地址*/
  50   1         if(ack==0)return(0);
  51   1         SendByte(suba);               /*发送器件子地址*/
  52   1         if(ack==0)return(0);
  53   1      
  54   1         Start_I2c();                 /*重新启动总线*/
  55   1         SendByte(sla+1);
C51 COMPILER V7.10   2402                                                                  02/15/2010 14:36:28 PAGE 2   

  56   1         if(ack==0)return(0);
  57   1         for(i=0;i<no-1;i++)
  58   1         {   
  59   2           *s=RcvByte();               /*发送数据*/
  60   2            Ack_I2c(0);                /*发送就答位*/  
  61   2           s++;
  62   2         } 
  63   1         *s=RcvByte();
  64   1         Ack_I2c(1);                   /*发送非应位*/
  65   1         Stop_I2c();                   /*结束总线*/ 
  66   1         return(1);
  67   1      }
  68          
  69          
  70          


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