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

📄 i2c.lst

📁 这是用W77E58编写的控制GSM模块
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.23a  I2C                                                                   12/11/2002 14:32:12 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN D:\77E58\I2C.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE D:\77E58\I2C.C DB SB OE

stmt level    source

   1          /* YuanGao electronic designe co.ldt
   2             (c) Copyright 2000,2001, All Rights Reserved  */
   3          
   4          
   5          #include "global.h"
   6          #include "util.h"
   7          #include "i2c.h"
   8          
   9          
  10          void I2C_Init(void)
  11          {
  12   1      
  13   1            I2C_SCL = 1;
  14   1            I2C_SDA = 1;
  15   1      
  16   1            i2c_delay();
  17   1            I2C_SCL = 0;
  18   1            I2C_SDA = 0;
  19   1            I2C_SDA = 0;
  20   1      
  21   1            I2C_SCL = 1;
  22   1            I2C_SDA = 1;
  23   1      
  24   1            i2c_delay();
  25   1            i2c_delay();
  26   1            I2C_SCL = 0;
  27   1            I2C_SDA = 0;
  28   1      
  29   1            i2c_delay();
  30   1            I2C_SDA = 0;
  31   1      
  32   1            I2C_SCL = 1;
  33   1            I2C_SDA = 1;
  34   1      
  35   1      }
  36          
  37          
  38          
  39          bit I2C_Clock(void)
  40          {
  41   1           bit bdata sample;
  42   1      
  43   1           I2C_SCL = 1;
  44   1           i2c_delay();
  45   1           sample = I2C_SDA;
  46   1      
  47   1           I2C_SCL = 0;
  48   1      
  49   1           return(sample);
  50   1      }
  51          
  52          void I2C_Start(void)
  53          {
  54   1      
  55   1           I2C_SCL = 1;
C51 COMPILER V6.23a  I2C                                                                   12/11/2002 14:32:12 PAGE 2   

  56   1           I2C_SDA = 1;
  57   1           I2C_SDA = 0;
  58   1           i2c_delay();
  59   1           I2C_SCL = 0;
  60   1           i2c_delay();
  61   1      }
  62          
  63          
  64          void I2C_Stop(void)
  65          {
  66   1      
  67   1           I2C_SDA = 0;
  68   1           i2c_delay();
  69   1           I2C_SCL = 1;
  70   1           i2c_delay();
  71   1           I2C_SDA = 1;
  72   1      
  73   1      }
  74          
  75          
  76          bit I2C_Send(unsigned char I2C_Data)
  77          {
  78   1             unsigned char i;
  79   1             /*send 8 bits data*/
  80   1             for(i = 0;i<8;i++){
  81   2               I2C_SDA =(bit)(I2C_Data & 0x80);
  82   2               I2C_Data = I2C_Data << 1;
  83   2               I2C_Clock();
  84   2      
  85   2             }
  86   1      
  87   1             /*ask ack:*/
  88   1             I2C_SDA = 1;
  89   1      
  90   1             return(~I2C_Clock());
  91   1      }
  92          
  93                               
  94          void write_i2c(unsigned char I2C_ADDR,unsigned char I2C_DATA)
  95          {
  96   1      
  97   1                  I2C_Start();
  98   1                  I2C_Send(I2C_ADDR);                         
  99   1                  I2C_Send(I2C_DATA);                         
 100   1                  I2C_Stop();
 101   1      
 102   1      }
 103          
 104          
 105          void i2c_delay(void)
 106          {
 107   1            char i;
 108   1            for(i=0;i<2;i++);
 109   1      
 110   1      }
 111          
 112          
C51 COMPILER V6.23a  I2C                                                                   12/11/2002 14:32:12 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


TB81 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C3H  1
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
I2C_SCL. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
SM01 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C7H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
SYS_STOPPED. . . . . . . . . . . . . .  E_CONST  -----  U_CHAR   -----  1
SYS_NO_DISC. . . . . . . . . . . . . .  E_CONST  -----  U_CHAR   -----  1
SM11 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C6H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
SM21 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C5H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
REPEAT_ONE . . . . . . . . . . . . . .  E_CONST  -----  U_CHAR   -----  1
VOICE_WAKE_UP. . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
INTRO_OK . . . . . . . . . . . . . . .  E_CONST  -----  U_CHAR   -----  1
DSA_ACK. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
_I2C_Send. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  I2C_Data . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
I2C_Clock. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  sample . . . . . . . . . . . . . . .  STATIC   DATA   BIT      0000H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1

⌨️ 快捷键说明

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