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

📄 lpc915_i2c.lst

📁 基于飞利浦915控制FM发射模块和显示驱动原代码.
💻 LST
字号:
C51 COMPILER V7.50   LPC915_I2C                                                            11/10/2007 23:09:45 PAGE 1   


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

line level    source

   1          
   2          #include "reg915.h"
   3          #include "LPC915_I2C.H"
   4          
   5          sbit            SI      = I2CON^3;
   6          
   7          #define GENERATE_STOP        0x54     //置位 STO, 复位 STA 、 SI
   8          #define RELEASE_BUS_ACK      0x44     //复位 STO,STA,SI 并置位  AA (ack) 
   9          #define RELEASE_BUS_NOACK    0x40     //复位 STO,STA,SI 并置位 AA (noack) 
  10          #define RELEASE_BUS_STA      0x64     //起动总线/重新起动总线, 置位 STA 
  11          
  12          #define sla 0x6C        //器件地址
  13          
  14          //申请总线
  15          void GetBus()
  16          { I2SCLH = 15;                          //柚肧SCL高电平的PCLK周期数
  17   1        I2SCLL = 15;              //柚肧CL低电平的PCLK周期数,6MHz时为100Kbit/S
  18   1        //申请成为主机,起动总线。使用内部SCL发生器,I2EN和AA置位。
  19   1        I2CON = RELEASE_BUS_STA;      
  20   1        while( SI==0 );               //等待起始位的发送 
  21   1      }
  22          
  23          //发送数据函数
  24          void SendByte(unsigned char c)
  25          { I2DAT = c;
  26   1        I2CON = RELEASE_BUS_ACK;      //清除SI位等等
  27   1        while( SI==0 );                       //等待数据的发送
  28   1      }
  29          
  30          //向寄存器地址发送字节数据函数               
  31          
  32          bit ISendByte(unsigned char suba, unsigned char dat)
  33          { GetBus();                     //启动总线
  34   1        SendByte(sla);                //发送器件地址,并接收应答位
  35   1       if( I2STAT!=0x18 )                             //无从机应答则退出操作
  36   1        { I2CON = GENERATE_STOP;
  37   2          return(0);
  38   2        }
  39   1        SendByte(suba);              //寄存器器件地址,并接收应答位
  40   1      if( I2STAT!=0x28 )                      
  41   1        { I2CON = GENERATE_STOP;
  42   2          return(0);
  43   2        }
  44   1        SendByte(dat);                                //发送数据
  45   1      if( I2STAT!=0x28 )                      
  46   1        { I2CON = GENERATE_STOP;
  47   2          return(0);
  48   2        }
  49   1        I2CON = GENERATE_STOP;        //结束总线
  50   1        return(1);
  51   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     76    ----
C51 COMPILER V7.50   LPC915_I2C                                                            11/10/2007 23:09:45 PAGE 2   

   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 + -