📄 i2c.lst
字号:
C51 COMPILER V7.06 I2C 05/06/2008 19:17:32 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE I2C
OBJECT MODULE PLACED IN i2c.OBJ
COMPILER INVOKED BY: D:\software\keilc51\C51\BIN\C51.EXE i2c.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 sbit scl=P3^3;
4 sbit sda=P3^4;
5 void delay1(uchar x)
6 {
7 1 uchar i,j;
8 1 for(i=x;i>0;i--)
9 1 for(j=100;j>0;j--);
10 1
11 1 }
12 void delay()
13 {;;}
14 void start() //开始
15 {
16 1 sda=1;
17 1 delay();
18 1 scl=1;
19 1 delay();
20 1 sda=0;
21 1 delay();
22 1 }
23 void stop() //停止
24 {
25 1 sda=0;
26 1 delay();
27 1 scl=1;
28 1 delay();
29 1 sda=1;
30 1 delay();
31 1 }
32 void respons() //应答
33 {
34 1 uchar i;
35 1 scl=1;
36 1 while(sda==1&&i<250)
37 1 i++;
38 1 scl=0;
39 1 delay();
40 1 }
41 void init()
42 {
43 1 scl=1;
44 1 sda=1;
45 1 }
46 void write_byte(uchar date) //写一个字节
47 {
48 1 uchar temp,j;
49 1 temp=date;
50 1
51 1 for(j=0;j<8;j++)
52 1 {
53 2 temp=temp<<1;
54 2 scl=0;
55 2 delay();
C51 COMPILER V7.06 I2C 05/06/2008 19:17:32 PAGE 2
56 2 sda=CY;
57 2 delay();
58 2 scl=1;
59 2 delay();
60 2 ;
61 2 }
62 1 scl=0;
63 1 delay();
64 1 sda=1;
65 1 delay();
66 1 }
67 uchar read_byte()
68 {
69 1 uchar i,j,k;
70 1 scl=0;
71 1 delay();
72 1 sda=1;
73 1 delay();
74 1 for(i=0;i<8;i++)
75 1 {
76 2 scl=1;
77 2 delay();
78 2 j=sda;
79 2 k=(k<<1)|j;
80 2 scl=0;
81 2 delay();
82 2 }
83 1 return k;
84 1 }
85 void main()
86 {
87 1 init();
88 1
89 1 start();
90 1 write_byte(0xa0);
91 1 respons();
92 1 write_byte(3);
93 1 respons();
94 1 write_byte(0xA5);
95 1 respons();
96 1 stop();
97 1
98 1 delay1(100);
99 1
100 1 start();
101 1 write_byte(0xa0);
102 1 respons();
103 1 write_byte(3);
104 1 respons();
105 1 start();
106 1 write_byte(0xa1);
107 1 respons();
108 1 P0=read_byte();
109 1
110 1 while(1);
111 1
112 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 200 ----
CONSTANT SIZE = ---- ----
C51 COMPILER V7.06 I2C 05/06/2008 19:17:32 PAGE 3
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -