?? i2c.lst
字號:
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 + -