📄 i2c.lst
字号:
C51 COMPILER V7.06 I2C 03/06/2008 15:26:34 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN I2C.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE I2C.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit scl=P2^0;
5 sbit dat=P2^1;
6 void delay()
7 {; ;}
8 void chushihua()
9 {
10 1 dat=1;
11 1 delay();
12 1 scl=1;
13 1 delay();
14 1
15 1 }
16
17 void kaishi()
18 {
19 1
20 1 dat=1;
21 1 delay();
22 1 scl=1;
23 1 delay();
24 1 dat=0;
25 1 delay();
26 1 }
27 void jieshu()
28 {
29 1
30 1 dat=0;
31 1 delay();
32 1 scl=1;
33 1 delay();
34 1 dat=1;
35 1 delay();
36 1 }
37 void write(uchar x)
38 {
39 1 uchar i,j ;
40 1 i=x;
41 1
42 1 for(j=0;j<8;j++)
43 1 {
44 2 i=i<<1;
45 2 scl=0;
46 2 delay();
47 2 dat=CY;
48 2 delay();
49 2 scl=1;
50 2 delay();
51 2
52 2 }
53 1 scl=0;
54 1 delay();
55 1 dat=1;
C51 COMPILER V7.06 I2C 03/06/2008 15:26:34 PAGE 2
56 1 delay();
57 1 }
58 uchar read( )
59 {
60 1 uchar m,n;
61 1 scl=0;
62 1 delay();
63 1 dat=1;
64 1 delay();
65 1 for(m=0;m<8;m++)
66 1 {
67 2 scl=1;
68 2 delay();
69 2 n=(n<<1)|dat;
70 2
71 2 scl=0;
72 2 delay();
73 2
74 2 }
75 1 return n;
76 1 }
77 void xiangying()
78 {
79 1 uchar b=0 ;
80 1 scl=1;
81 1 delay();
82 1 while((dat==1)&&(b<200))
83 1 b++;
84 1 scl=0;
85 1 delay();
86 1 }
87 void fasong(uchar q,uchar l,uchar c)
88 {
89 1 kaishi();
90 1 write(q);
91 1 xiangying();
92 1 write(l);
93 1 xiangying();
94 1 write(c);
95 1 xiangying();
96 1 jieshu();
97 1 }
98 void jieshou(uchar w,uchar g)
99 {
100 1 kaishi();
101 1 write(w);
102 1 xiangying();
103 1 write(g);
104 1 xiangying();
105 1 kaishi();
106 1 write(++w);
107 1 xiangying();
108 1 P0=read( );
109 1 jieshu();
110 1 }
111
112
113
114 void delay1(uint p)
115 {
116 1 uint e,f;
117 1 for(e=p;e>0;e--)
C51 COMPILER V7.06 I2C 03/06/2008 15:26:34 PAGE 3
118 1 for(f=300;f>0;f--);
119 1 }
120 void main()
121 {
122 1
123 1 chushihua();
124 1 fasong(0xa0,23,1);
125 1 fasong(0xa2,23,2);
126 1 fasong(0xa4,23,3);
127 1 fasong(0xa6,23,4);
128 1 delay1(200);
129 1 jieshou(0xa0,23);
130 1 delay1(200);
131 1 jieshou(0xa2,23);
132 1 delay1(200);
133 1 jieshou(0xa4,23);
134 1 delay1(200);
135 1 jieshou(0xa6,23);
136 1
137 1 while(1);
138 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 282 ----
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 + -