📄 iic.lst
字号:
C51 COMPILER V7.08 IIC 04/02/2006 11:19:17 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE IIC
OBJECT MODULE PLACED IN iic.OBJ
COMPILER INVOKED BY: E:\电子应用软件\keil7\C51\BIN\C51.EXE iic.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <IIC.H>
2
3 void IIC_SomeNop(void)
4 {
5 1 _nop_();
6 1 _nop_();
7 1 _nop_();
8 1 _nop_();
9 1 }
10
11
12 void IIC_Start(void)
13 {
14 1 SDA=1;
15 1 SCL=1;
16 1 IIC_SomeNop();
17 1 SDA=0;
18 1 IIC_SomeNop();
19 1 SCL=0;
20 1 }
21
22
23 void IIC_Stop(void)
24 {
25 1 SCL=0;
26 1 IIC_SomeNop();
27 1 SDA=0;
28 1 IIC_SomeNop(); ////////////////////////////////////////
29 1 SCL=1;
30 1 IIC_SomeNop();
31 1 SDA=1;
32 1 }
33
34
35 void IIC_WaitACK(void) /////////////
36 {
37 1 uint8 i=10;
38 1 SDA=1;
39 1 IIC_SomeNop();
40 1 SCL=1;
41 1 IIC_SomeNop();
42 1 do{
43 2 IIC_SomeNop();
44 2 if(!i--)break;
45 2 }
46 1 while(SDA);
47 1
48 1
49 1 IIC_SomeNop();
50 1 SCL=0;
51 1 }
52
53
54
55 void IIC_ACK(void)
C51 COMPILER V7.08 IIC 04/02/2006 11:19:17 PAGE 2
56 {
57 1 SDA=0;
58 1 IIC_SomeNop();
59 1 SCL=1;
60 1 IIC_SomeNop();
61 1 SCL=0;
62 1 }
63
64 void IIC_NO_ACK(void)
65 {
66 1 SDA=1;
67 1 IIC_SomeNop();
68 1 SCL=1;
69 1 IIC_SomeNop();
70 1 SCL=0;
71 1
72 1 }
73
74
75 void IIC_Sendbyte(uint8 wdata)
76 {
77 1 uint8 i;
78 1 for(i=0;i<8;i++){
79 2 SCL=0;
80 2 IIC_SomeNop();
81 2 if(wdata&0x80)SDA=1;
82 2 else SDA=0;
83 2
84 2 SCL=1;
85 2 IIC_SomeNop();
86 2 wdata<<=1;
87 2 }
88 1 SCL=0;
89 1 }
90
91
92
93 uint8 IIC_RcvByte(void)
94 {
95 1 uint8 i;
96 1 uint8 rdata=0;
97 1 SDA=1;
98 1 for(i=0;i<8;i++){
99 2 rdata<<=1;
100 2 SCL=0;
101 2 IIC_SomeNop();
102 2 SCL=1;
103 2 IIC_SomeNop();
104 2 if(SDA)rdata++;
105 2 SDA=1;
106 2 }
107 1 SCL=0;
108 1 return(rdata);
109 1
110 1 }
111
112
113 uint8 IIC_24c16_ReadOneChar(uint8 Addr)
114 {
115 1 uint8 rdata;
116 1 IIC_Start();
117 1 IIC_SendByte(0x0a0);
C51 COMPILER V7.08 IIC 04/02/2006 11:19:17 PAGE 3
118 1 IIC_WaitACK();
119 1 IIC_SendByte(Addr);
120 1 IIC_WaitACK();
121 1 IIC_Start();
122 1 IIC_SendByte(0x0a1);
123 1 IIC_WaitACK();
124 1 rdata=IIC_RcvByte();
125 1 IIC_NO_ACK();
126 1 IIC_Stop();
127 1 IIC_SomeNop();
128 1 IIC_SomeNop();
129 1 IIC_SomeNop();
130 1 IIC_SomeNop();
131 1 IIC_SomeNop();
132 1 IIC_SomeNop();
133 1 return (rdata);
134 1 }
135
136 uint8 IIC_24c16_WriteOneChar(uint8 Addr,uint8 wdata)
137 {
138 1
139 1 IIC_Start();
140 1 IIC_SendByte(0x0a0);
141 1 IIC_WaitACK();
142 1 IIC_SendByte(Addr);
143 1 IIC_WaitACK();
144 1 IIC_SendByte(wdata);
145 1 IIC_WaitACK();
146 1 IIC_Stop();
147 1 IIC_SomeNop();
148 1 IIC_SomeNop();
149 1 IIC_SomeNop();
150 1
151 1 }
*** WARNING C173 IN LINE 151 OF IIC.C: missing return-expression
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 240 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -