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

📄 iic24c02.lst

📁 sed1335液晶驱动,包括菜单,已经在DSPIC30F6014A上调试通过.
💻 LST
字号:
C51 COMPILER V7.07   IIC24C02                                                              03/10/2006 09:06:42 PAGE 1   


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

stmt level    source

   1          // 对24C02的读、写
   2          // extern void DelayMs(unsigned int);
   3          // extern void Read24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes);
   4          // extern void Write24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes);
   5          #include        "config.h" 
   6          /***************************************************************************/
   7          #define IIC_DEVICE_ADDR_WRITE   0xa0
   8          #define IIC_DEVICE_ADDR_READ    0xa1
   9          
  10          /***************************************************************************/
  11          
  12          /***************************************************************************/
  13          extern void DelayMs(unsigned int ) ;
  14          
  15          /***************************************************************************/
  16          void Start() 
  17          {
  18   1              SDA=1;
  19   1              SCL=1;
  20   1              SDA=0;
  21   1              SCL=0;
  22   1      }
  23          
  24          /***************************************************************************/
  25          void Stop() 
  26          {
  27   1              SCL=0;
  28   1              SDA=0;
  29   1              SCL=1;
  30   1              SDA=1;
  31   1      }
  32          
  33          /***************************************************************************/
  34          void Ack() 
  35          {
  36   1              SDA=0;
  37   1              SCL=1;
  38   1              SCL=0;
  39   1              SDA=1;
  40   1      }
  41          
  42          /***************************************************************************/
  43          void NoAck() 
  44          {
  45   1              SDA=1;
  46   1              SCL=1;
  47   1              SCL=0;
  48   1      }
  49          
  50          /***************************************************************************/
  51          BOOL TestAck() 
  52          {
  53   1              BOOL ErrorBOOL;
  54   1              SDA=1;
  55   1              SCL=1;
C51 COMPILER V7.07   IIC24C02                                                              03/10/2006 09:06:42 PAGE 2   

  56   1              ErrorBOOL=SDA;
  57   1              SCL=0;
  58   1              return(ErrorBOOL);
  59   1      }
  60          
  61          /***************************************************************************/
  62          BOOL Write8BOOL(unsigned char input) 
  63          {
  64   1              unsigned char temp;
  65   1              for(temp=8;temp!=0;temp--) {
  66   2                      SDA=(BOOL)(input&0x80);
  67   2                      SCL=1;
  68   2                      SCL=0;
  69   2                      input=input<<1;
  70   2              }
  71   1              return TRUE;
  72   1      }
  73          
  74          /***************************************************************************/
  75          void Write24c02(unsigned char *Wdata,unsigned char RomAddress,unsigned char number) 
  76          {
  77   1              Start();
  78   1              Write8BOOL(IIC_DEVICE_ADDR_WRITE);
  79   1              TestAck();
  80   1              Write8BOOL(RomAddress);
  81   1              TestAck();
  82   1              for(;number!=0;number--) {
  83   2                      Write8BOOL(*Wdata);
  84   2                      TestAck();
  85   2                      Wdata++;
  86   2              }
  87   1              Stop();
  88   1              DelayMs(10);
  89   1      }
  90          
  91          /***************************************************************************/
  92          unsigned char Read8BOOL() 
  93          {
  94   1              unsigned char temp,rbyte=0;
  95   1              for(temp=8;temp!=0;temp--) {
  96   2                      SCL=1;
  97   2                      rbyte=rbyte<<1;
  98   2                      rbyte=rbyte|((unsigned char)(SDA));
  99   2                      SCL=0;
 100   2              }
 101   1              return(rbyte);
 102   1      }
 103          
 104          /***************************************************************************/
 105          void Read24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes) 
 106          {
 107   1              //unsigned char temp;,rbyte
 108   1              Start();
 109   1              Write8BOOL(IIC_DEVICE_ADDR_WRITE);
 110   1              TestAck();
 111   1              Write8BOOL(RomAddress);
 112   1              TestAck();
 113   1              Start();
 114   1              Write8BOOL(IIC_DEVICE_ADDR_READ);
 115   1              TestAck();
 116   1              while(bytes!=1) {
 117   2              *RamAddress=Read8BOOL();
C51 COMPILER V7.07   IIC24C02                                                              03/10/2006 09:06:42 PAGE 3   

 118   2              Ack();
 119   2              RamAddress++;
 120   2              bytes--;
 121   2              }
 122   1              *RamAddress=Read8BOOL();
 123   1              NoAck();
 124   1              Stop();
 125   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    202    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      10
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -