📄 eeprom.lst
字号:
180 2 Delay_ms(100);
181 2 }
182 1
183 1 return 1;
184 1 }
185 //********************************************************************************************************
-******************
186 void UpLoadWellDateTure(unsigned char truenum)
187 {
188 1 xdata unsigned char i,j=0x00;
189 1
190 1 EEPROM_Init();
191 1 for(i=0;i<MaxWellSaveNum;i++)
192 1 {
193 2 if( (Read_Eeprom(0x400*i+HollDateLong)==0xA5) && (Read_Eeprom(0x400*i+HollDateLong+1)==0x5A) )
194 2 j++;
195 2 if(j==truenum)
196 2 {
197 3 UpLoadWellDate(i);
198 3 return ;
199 3 }
200 2
201 2 }
202 1 }
203 //********************************************************************************************************
-******************
204 void UpLoadWellDate(unsigned char num)
205 {
206 1 xdata unsigned int i,temp_datelong;
207 1 xdata unsigned char tempa,tempb;
208 1 xdata unsigned char temp_data[9],temp_time[9];
209 1 xdata unsigned char temp_wellnum;
210 1
211 1 EA = 0;
212 1 // 读取数据
213 1 for(i=0;i<HollDateLong;i++)
214 1 {
215 2 HollDate[i]=Read_Eeprom(0x400*num+i);
216 2 }
217 1 // 读取数据长度
218 1 tempa=Read_Eeprom(0x400*num+HollDateLong+2);
219 1 tempb=Read_Eeprom(0x400*num+HollDateLong+3);
220 1 temp_datelong=tempa*256+tempb;
221 1 // 读取日期
222 1 for(i=0;i<9;i++)
223 1 {
224 2 temp_data[i]=Read_Eeprom(0x400*num+HollDateLong+4+i);
225 2 }
226 1 // 读取时间
227 1 for(i=0;i<9;i++)
228 1 {
C51 COMPILER V7.06 EEPROM 06/25/2008 15:44:08 PAGE 5
229 2 temp_time[i]=Read_Eeprom(0x400*num+HollDateLong+13+i);
230 2 }
231 1 // 读井号
232 1 temp_wellnum=Read_Eeprom(0x400*num+HollDateLong+22);
233 1
234 1 Com0_Send_Char(temp_wellnum);
235 1 Com0_Send_Char(tempa);
236 1 Com0_Send_Char(tempb);
237 1 Com0_Send_String(temp_data,9);
238 1 Com0_Send_String(temp_time,9);
239 1 Com0_Send_String(HollDate,HollDateLong);
240 1 EA = 1;
241 1 /*
242 1 Com_Send_Char(temp_wellnum,ComFlag);
243 1 Com_Send_Char(tempa,ComFlag);
244 1 Com_Send_Char(tempb,ComFlag);
245 1 Com_Send_String(temp_data,9,ComFlag);
246 1 Com_Send_String(temp_time,9,ComFlag);
247 1 Com_Send_String(HollDate,HollDateLong,ComFlag);
248 1 */
249 1 }
250 //********************************************************************************************************
-******************
251 void Well_Show(unsigned char num)
252 {
253 1 xdata unsigned int i,temp_datelong;
254 1 xdata unsigned int tempa,tempb,tempc;
255 1 xdata unsigned char temp_data[9],temp_time[9];
256 1 xdata unsigned char temp_wellnum;
257 1
258 1 LCD_CLEAR();
259 1 // 读取数据
260 1 for(i=0;i<HollDateLong;i++)
261 1 {
262 2 HollDate[i]=Read_Eeprom(0x400*num+i);
263 2 }
264 1 // 读取数据长度
265 1 tempa=Read_Eeprom(0x400*num+HollDateLong+2);
266 1 tempb=Read_Eeprom(0x400*num+HollDateLong+3);
267 1 temp_datelong=tempa*256+tempb;
268 1 // 读取日期
269 1 for(i=0;i<9;i++)
270 1 {
271 2 temp_data[i]=Read_Eeprom(0x400*num+HollDateLong+4+i);
272 2 }
273 1 temp_data[8]=0x00;
274 1 // 读取时间
275 1 for(i=0;i<9;i++)
276 1 {
277 2 temp_time[i]=Read_Eeprom(0x400*num+HollDateLong+13+i);
278 2 }
279 1 temp_time[8]=0x00;
280 1 // 读井号
281 1 temp_wellnum=Read_Eeprom(0x400*num+HollDateLong+22);
282 1
283 1 // 显示图形
284 1 draw_line(20,50,120,50);
285 1 draw_line(20,0,20,50);
286 1 for(i=0;i<HollDateLong/40;i++)
287 1 {
288 2 tempa=HollDate[i*40+0];
289 2 tempb=HollDate[i*40+39];
C51 COMPILER V7.06 EEPROM 06/25/2008 15:44:08 PAGE 6
290 2 if(tempb>=tempa)
291 2 {
292 3 tempc=tempb-tempa;
293 3 }
294 2 else
295 2 {
296 3 tempc=0xFF-tempa+tempb;
297 3 }
298 2 if(tempc>5)
299 2 tempc=5;
300 2 draw_line(i*4+20,50-tempc*5,i*4+20+4,50-tempc*5);
301 2 }
302 1 // 显示平均转速
303 1 tempa=0x00;
304 1 for(i=0;i<HollDateLong-1;i++)
305 1 {
306 2 if(HollDate[i]>HollDate[i+1])
307 2 tempa++;
308 2 }
309 1 tempb=HollDate[HollDateLong-1];
310 1 tempc=tempa*256+tempb;
311 1 sprintf(Str_Buffer,"%4.0fc",(float)tempc);
312 1 LCD_DispStr(Str_Buffer,0,30);
313 1 sprintf(Str_Buffer,"%4.1fc/m",(float)tempc/(float)(temp_datelong/40)*60);
314 1 LCD_DispStr(Str_Buffer,0,75);
315 1 // 显示测试时间
316 1 sprintf(Str_Buffer,"%03.0fs",(float)temp_datelong/40);
317 1 LCD_DispStr(Str_Buffer,0,5);
318 1 // 显示井名
319 1 sprintf(Str_Buffer,"%03.0f",(float)temp_wellnum);
320 1 LCD_DispStr(Str_Buffer,56,8);
321 1 // 显示日期
322 1 strcpy(Str_Buffer,temp_data);
323 1 LCD_DispStr(Str_Buffer,56,29);
324 1 // 显示时间
325 1 strcpy(Str_Buffer,temp_time);
326 1 LCD_DispStr(Str_Buffer,56,80);
327 1 Display_Data();
328 1 }
329 //********************************************************************************************************
-******************
330 /*
331 bit EEPROM_TEST(void)
332 {
333 unsigned int i;
334 unsigned char tempdate,xxx;
335
336 for(i=0;i<EEPROM_CAP;i+=10)
337 {
338 tempdate=i;
339 if(!Write_Eeprom(i,tempdate))
340 return 0;
341 }
342 for(i=0;i<EEPROM_CAP;i+=10)
343 {
344 tempdate=i;
345 xxx=Read_Eeprom(i);
346 if(tempdate!=xxx)
347 return 0;
348 }
349
350 return 1;
C51 COMPILER V7.06 EEPROM 06/25/2008 15:44:08 PAGE 7
351
352 }
353 */
354 //********************************************************************************************************
-******************
355 // The End
356 //********************************************************************************************************
-******************
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2372 ----
CONSTANT SIZE = 51 ----
XDATA SIZE = ---- 72
PDATA SIZE = ---- ----
DATA SIZE = ---- 12
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -