📄 at24c02.lst
字号:
C51 COMPILER V7.08 AT24C02 03/03/2007 22:34:43 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE AT24C02
OBJECT MODULE PLACED IN .\AT24C02.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\My Documents\keill\AT24C02.c BROWSE DEBUG OBJECTEXTEND PRINT(.\AT24C0
-2.lst) OBJECT(.\AT24C02.obj)
line level source
1 #include "at89x51.h"
2 #include "stdio.h"
3 ///////////////////////
4 sbit dison1=P3^4; /* DISPLAY 1 */
5 sbit dison2=P3^5; /* DISPLAY 1 */
6 sbit SDA=P3^0; /* IC */
7 sbit SCL=P3^1; /* IC */
8 unsigned char a;
9 ////////////////////////////////////////////
10 void displaypre();
11 //******************************************
12 void delay(int i);
13 void inc();
14 void dec();
15 //*********************************
16 void icdata(da);
17 void IC_START();
18 void IC_STOP();
19 void ACK();
20 void senddata( dat);
21 unsigned char readdata(unsigned char rddata);
22 //*****************
23 void atrd24(unsigned char rdda);
24 unsigned char readbyte(unsigned char readdat[8]);
25 void wr_byte();
26 void wr_paper(unsigned char pinterorg,unsigned char wrdata[8]);
27 ////////////////////////////
28 // MAIN
29 ///////////////////////////
30 main()
31 {
32 1 unsigned char i,pinter=0x00,a[8]={1,3,5,7,2,4,6,8},g[8];
33 1 TMOD=0X01;
34 1 EA=1;
35 1 ET0=1;
36 1 TH0=0Xf8;
37 1 TL0=0X58;
38 1 TR0=1;
39 1 while(1)
40 1 {
41 2 if(P3_2==0)
42 2 {
43 3 while(P3_2==0);
44 3 //atwr24();
45 3 wr_paper(pinter,a);
46 3 //P3_7=0;
47 3 }
48 2
49 2 if(P3_3==0)
50 2 {
51 3 while(P3_3==0);
52 3 g[8]=readbyte();
*** WARNING C209 IN LINE 52 OF ..\..\MY DOCUMENTS\KEILL\AT24C02.C: '_readbyte': too few actual parameters
53 3 ++i;
C51 COMPILER V7.08 AT24C02 03/03/2007 22:34:43 PAGE 2
54 3 a=g[i];
*** ERROR C213 IN LINE 54 OF ..\..\MY DOCUMENTS\KEILL\AT24C02.C: left side of asn-op not an lvalue
55 3 //atrd24(i);
56 3 P3_7=0;
57 3 }
58 2 }
59 1
60 1 }
61 ////////////////////////////
62 //**************************
63 // KEY AND DISPLAY INERRUPT
64 //////////////////////////////
65 void dis() interrupt 1
66 {
67 1
68 1 displaypre();
69 1
70 1 TH0=0Xd8;
71 1 TL0=0X18;
72 1 }
73 ///***************************
74
75 //////////////////////////////////
76 // DISPLAY
77 //////////////////////////////////
78 void displaypre()
79 {
80 1 unsigned char d1,d2;
81 1 switch(a)
82 1 {
83 2 case 0x00: d1=0X09,d2=0X09;break; /*0,0 */
84 2 case 0x01: d1=0X09,d2=0xcf;break; /*0,1 */
85 2 case 0x02: d1=0X09,d2=0x2C;break; /*0,2 */
86 2 case 0x03: d1=0X09,d2=0x4C;break; /*0,3 */
87 2 case 0x04: d1=0X09,d2=0xCA;break; /*0,4 */
88 2 case 0x05: d1=0X09,d2=0x58;break; /*0,5 */
89 2 case 0x06: d1=0X09,d2=0x18;break; /*0,6 */
90 2 case 0x07: d1=0X09,d2=0xcd;break; /*0,7////////////////0*/
91 2
92 2 case 0x08: d1=0X09,d2=0x08;break; /*0,8 */
93 2 case 0x09: d1=0X09,d2=0x48;break; /*0,9 */
94 2 case 0x0a: d1=0xcf,d2=0X09;break; /*1,0 */
95 2 case 0x0b: d1=0xcf,d2=0xcf;break; /*1,1 */
96 2 case 0x0c: d1=0xcf,d2=0x2C;break; /*1,2 */
97 2 case 0x0d: d1=0xcf,d2=0x4C;break; /*1,3 */
98 2 case 0x0e: d1=0xcf,d2=0xCA;break; /*1,4 */
99 2 case 0x0f: d1=0xcf,d2=0x58;break; /*1,5////////////////1 */
100 2 default:d1=0xfe,d2=0xfe; ; /*-,-*/
101 2 }
102 1 P1=d1;
103 1 dison1=0;
104 1 delay(1000);
105 1 dison1=1;
106 1 P1=d2;
107 1 dison2=0;
108 1 delay(1000);
109 1 dison2=1;
110 1 }
111 ////////////////
112
113 ////////////////////////////////////
114 /////////////////////////////
C51 COMPILER V7.08 AT24C02 03/03/2007 22:34:43 PAGE 3
115 void delay(int i)
116 {
117 1 while(--i);
118 1 }
119
120
121 //////////////////////////////////////
122 //write 1
123 ///////////////////////////////////////
124 void wr_byte()
125 {
126 1 IC_START();
127 1 senddata(0Xa0);
128 1 senddata(0X00);
129 1 senddata(0x08);
130 1 IC_STOP();
131 1 }
132 //////////////////////////////////////
133 //write 2
134 ///////////////////////////////////////
135 void wr_paper(unsigned char pinterorg,unsigned char wrdata[8])
136 {
137 1 unsigned char j;
138 1 IC_START();
139 1 senddata(0Xa0);
140 1 senddata(pinterorg);
141 1 for(j=0;j<8;j++)
142 1 {
143 2 senddata(*(wrdata+j));
144 2 }
145 1 IC_STOP();
146 1 }
147 //********************
148 // read data1
149 ///////////////////////
150 void atrd24(unsigned char rdda)
151 {
152 1 IC_START();
153 1 senddata(0Xa0);
154 1 senddata(rdda);
155 1 IC_START();
156 1 senddata(0Xa1);
157 1 a=readdata();
158 1 IC_STOP();
159 1 }
160 //********************
161 // read data2
162 ///////////////////////
163 unsigned char readbyte(unsigned char readdat[8])
164 {
165 1 unsigned char j;
166 1 IC_START();
167 1 senddata(0Xa1);
168 1 for(j=0;j<8;j++)
169 1 {
170 2 readdat[j]=readdata();
171 2 ACK();
172 2 }
173 1 IC_STOP();
174 1 return(readdat[j]);
175 1 }
176
C51 COMPILER V7.08 AT24C02 03/03/2007 22:34:43 PAGE 4
177 //**********************************
178 //IC START
179 //***********************************
180 void IC_START()
181 {
182 1 SCL=0;
183 1 SDA=1;
184 1 SCL=1;
185 1 SDA=0;
186 1 SCL=0;
187 1 }
188 //**********************************
189 //IC_STOP
190 //***********************************
191 void IC_STOP()
192 {
193 1 SCL=0;
194 1 SDA=0;
195 1 SCL=1;
196 1 SDA=1;
197 1 SCL=0;
198 1 SDA=0;
199 1 }
200 //**********************************
201 //ACK
202 //***********************************
203 void ACK()
204 {
205 1 SCL=0;
206 1 SDA=0;
207 1 SCL=1;
208 1 SCL=0;
209 1 SDA=1;
210 1 }
211 //***********************************
212 // WIRE BYT
213 //***********************************
214 void senddata(dat)
215 {
216 1 unsigned char i,b;
217 1 SCL=0;
218 1 for(i=0;i<8;i++)
219 1 {
220 2 b=dat<<i;
221 2 if((b&=0x80)==0x80)
222 2 SDA=1;
223 2 else
224 2 SDA=0;
225 2 SCL=1;
226 2 SCL=0;
227 2 }
228 1 SDA=1;
229 1 SCL=1;
230 1 while(SDA==1);
231 1 SCL=0;
232 1 }
233 ////////////////////////////////////
234 //***********************************
235 // READ BYT
236 //***********************************
237 unsigned char readdata(unsigned char rddata)
238 {
C51 COMPILER V7.08 AT24C02 03/03/2007 22:34:43 PAGE 5
239 1 unsigned char i;
240 1 SDA=1;
241 1 for(i=0;i<8;i++)
242 1 {
243 2 rddata<<= 1;
244 2 if (SDA)
245 2 rddata |=0x01;
246 2
247 2 SCL=1;
248 2 SCL=0;
249 2 }
250 1 return(rddata);
251 1 }
C51 COMPILATION COMPLETE. 1 WARNING(S), 1 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -