📄 at24c02.lst
字号:
C51 COMPILER V8.05a AT24C02 04/10/2009 17:15:28 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE AT24C02
OBJECT MODULE PLACED IN AT24C02.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AT24C02.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REGX51.H>
2 #define uchar unsigned char
3 sbit SDA=P2^7;
4 sbit SCL=P3^6;
5 void delay1(uchar x);
6 void delay()
7 {;;}
8 void start()
9 {
10 1 SDA=1;
11 1 delay();
12 1 SCL=1;
13 1 delay();
14 1 SDA=0;
15 1 delay();
16 1 }
17 void stop()
18 {
19 1 SDA=0;
20 1 delay();
21 1 SCL=1;
22 1 delay();
23 1 SDA=1;
24 1 delay();
25 1 SCL=0;
26 1 delay();
27 1 }
28 void respons()
29 {
30 1 uchar i;
31 1 SCL=1;
32 1 delay();
33 1 while((SDA==1)&&(i<250))i++;
34 1 SCL=0;
35 1 delay();
36 1 }
37 void write_byte(uchar date)
38 {
39 1 uchar i,temp;
40 1 temp=date;
41 1 for(i=0;i<8;i++)
42 1 {
43 2 temp=temp<<1;
44 2 SCL=0;
45 2 delay();
46 2 SDA=CY;
47 2 delay();
48 2 SCL=1;
49 2 delay();
50 2 }
51 1 SCL=0;
52 1 delay();
53 1 SDA=1;
54 1 delay();
55 1 }
C51 COMPILER V8.05a AT24C02 04/10/2009 17:15:28 PAGE 2
56 uchar read_byte()
57 {
58 1 uchar i,k;
59 1 SCL=0;
60 1 delay();
61 1 SDA=1;
62 1 delay();
63 1 for(i=0;i<8;i++)
64 1 {
65 2 SCL=1;
66 2 delay();
67 2 k=(k<<1)|SDA;
68 2 SCL=0;
69 2 delay();
70 2 }
71 1 return(k);
72 1 }
73 void write_add(uchar address,uchar date)
74 {
75 1 start();
76 1 write_byte(0xa0);
77 1 respons();
78 1 write_byte(address);
79 1 respons();
80 1 write_byte(date);
81 1 respons();
82 1 stop();
83 1 }
84 uchar read_add(uchar address)
85 {
86 1 uchar date;
87 1 start();
88 1 write_byte(0xa0);
89 1 respons();
90 1 write_byte(address);
91 1 respons();
92 1 start();
93 1 write_byte(0xa1);
94 1 respons();
95 1 date=read_byte();
96 1 stop();
97 1 return date;
98 1 }
99 void init()
100 {
101 1 SDA=1;
102 1 delay();
103 1 SCL=1;
104 1 delay();
105 1 }
106 void main()
107 {
108 1 init();
109 1 write_add(0x02,0xaa);
110 1 delay1(100);
111 1 P0=read_add(0x02);
112 1 P3_7=0;
113 1 while(1);
114 1 }
115 void delay1(uchar x)
116 {
117 1 uchar i,j;
C51 COMPILER V8.05a AT24C02 04/10/2009 17:15:28 PAGE 3
118 1 for(i=x;i>0;i--)
119 1 for(j=200;j>0;j--);
120 1 }
121
122
123
124
125
126
127
128
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 235 ----
CONSTANT SIZE = ---- ----
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 + -