📄 main_0928.lst
字号:
222 void start_i2a()
223 {
224 1 P1_6=1; //SCL
225 1 P1_7=1; //SDA
226 1 S1CON=0x47; //ENS1=1 STA=0 STO=0 SI=0 AA=1
227 1 PS1=1;
228 1 EA=1;
229 1 ES1=1;
230 1 STA=1;
231 1 }
232
233 void get_SLA()
234 {
235 1
236 1 if(PRG<50)
237 1 {
238 2 SLA=0xA0;
239 2 temp_PRG=PRG;
240 2 }
C51 COMPILER V7.06 MAIN_0928 10/13/2005 09:21:33 PAGE 5
241 1 else
242 1 {
243 2 if(PRG<100)
244 2 {
245 3 SLA=0XA2;
246 3 temp_PRG=PRG-50;
247 3 }
248 2 }
249 1 mainDDR=temp_PRG*768;
250 1 }
251
252 void get_SLA1()
253 {
254 1 if(PRG<50)
255 1 {
256 2 SLA=0XA0;
257 2 temp_PRG=PRG;
258 2 }
259 1 else
260 1 {
261 2 if(PRG<100)
262 2 {
263 3 SLA=0XA2;
264 3 temp_PRG=PRG-50;
265 3 }
266 2 else
267 2 {
268 3 if(PRG<150)
269 3 {
270 4 SLA=0XA4;
271 4 temp_PRG=PRG-100;
272 4 }
273 3 else
274 3 {
275 4 SLA=0XA6;
276 4 temp_PRG=PRG-150;
277 4 }
278 3 }
279 2 }
280 1 mainDDR=temp_PRG*768;
281 1 }
282
283 void readEEP_byte()
284 {
285 1 nums=0;
286 1 readEEPbyte=1;
287 1 SLA=0XA0;
288 1 COMM=0xFF;
289 1 start_i2a();
290 1 while(readEEPbyte==1)
291 1 {
292 2 if(urgent_stop==1)
293 2 readEEPbyte=0;
294 2 }
295 1 }
296
297 void readEEP_page()
298 {
299 1 nums=0;
300 1 nums1=0;
301 1 delt=2;
302 1 point=&pp.pn;
C51 COMPILER V7.06 MAIN_0928 10/13/2005 09:21:33 PAGE 6
303 1 readEEPpage=1;
304 1 get_SLA1();
305 1 COMM=(mainDDR+times*128)/256;
306 1 start_i2a();
307 1 while(readEEPpage==1)
308 1 {
309 2 if(urgent_stop==1)
310 2 readEEPpage=0;
311 2 }
312 1 }
313
314 void writeEEP_byte()
315 {
316 1 nums=0;
317 1 writeEEPbyte=1;
318 1 SLA=0XA0;
319 1 COMM=0XFF;
320 1 start_i2a();
321 1 while(writeEEPbyte==1)
322 1 {
323 2 if(urgent_stop==1)
324 2 writeEEPbyte=0;
325 2 }
326 1 }
327
328 void writeEEP_word()
329 {
330 1 nums=0;
331 1 writeEEPword=1;
332 1 start_i2a();
333 1 while(writeEEPword==1)
334 1 {
335 2 if(urgent_stop==1)
336 2 writeEEPword=0;
337 2 }
338 1 }
339
340 void writeEEP_page(unsigned char t) //将指定专家参数复制到目的程序号下
341 {
342 1 nums=0;
343 1 delt=2;
344 1 writeEEPpage=1;
345 1 get_SLA1();
346 1 COMM=(mainDDR+t*128)/256;
347 1 start_i2a();
348 1 while(writeEEPpage==1)
349 1 {
350 2 if(urgent_stop==1)
351 2 writeEEPpage=0;
352 2 }
353 1 }
354
355 void save_prg()
356 {
357 1 savePRG=1;
358 1 SLA=0XA0;
359 1 COMM=0XFF;
360 1 writeEEP_byte();
361 1 }
362
363 void TR_noans()
364 {
C51 COMPILER V7.06 MAIN_0928 10/13/2005 09:21:33 PAGE 7
365 1 noans_ok=0;
366 1 TB8=1;
367 1 POINTER0=0;
368 1 SSUM=0;
369 1 send=1;
370 1 c_t1=0;
371 1 TR1=1;
372 1 while(POINTER0<s_byte_nums);
373 1 TR1=0;
374 1 noans_ok=1;
375 1 }
376
377 void TR_ans()
378 {
379 1 REN=0;
380 1 ans=1;
381 1 POINTER1=0;
382 1 RSUM=0;
383 1 TB8=1;
384 1 POINTER0=0;
385 1 SSUM=0;
386 1 send=1;
387 1 c_t1=0;
388 1 TR1=1;
389 1 while(POINTER0<s_byte_nums);
390 1 TR1=0;
391 1
392 1 REN=1;
393 1 send=0;
394 1 c_t1=0;
395 1 TR1=1;
396 1 while(POINTER1<r_byte_nums&&overtime==0);
397 1 TR1=0;
398 1 POINTER1=0;
399 1 RSUM=0;
400 1 c_t1=0;
401 1 if(overtime==1)
402 1 {
403 2 if(wait_ans==1)
404 2 {
405 3 err=2;
406 3 main_err=1;
407 3 }
408 2 c_t1=0;
409 2 }
410 1 ans=0;
411 1 REN=0;
412 1 }
413
414 void get_secondDDR()
415 {
416 1 switch(p_name)
417 1 {
418 2 case T01: secondDDR=2;break;
419 2 case T02: secondDDR=4;break;
420 2 case GAS2: secondDDR=6;break;
421 2 case T03: secondDDR=8;break;
422 2 case T04: secondDDR=10;break;
423 2 case K1: secondDDR=12;break;
424 2 case Ignit: secondDDR=14;break;
425 2 case I11: secondDDR=16;break;
426 2 case T12: secondDDR=18;break;
C51 COMPILER V7.06 MAIN_0928 10/13/2005 09:21:33 PAGE 8
427 2 case I12: secondDDR=20;break;
428 2 case T13: secondDDR=22;break;
429 2 case T13_SD: secondDDR=24;break;
430 2 case T14: secondDDR=26;break;
431 2 case I14: secondDDR=28;break;
432 2 case T15: secondDDR=30;break;
433 2 case I15: secondDDR=32;break;
434 2 case DI: secondDDR=34;break;
435 2 case AHF: secondDDR=36;break;
436 2 case I16: secondDDR=38;break;
437 2 case F: secondDDR=40;break;
438 2 case T16: secondDDR=42;break;
439 2 case N11: secondDDR=44;break;
440 2 case N11_SD: secondDDR=46;break;
441 2 case T17: secondDDR=48;break;
442 2 case I17: secondDDR=50;break;
443 2 case K2: secondDDR=52;break;
444 2 case RN: secondDDR=54;break;
445 2 case D: secondDDR=56;break;
446 2 case K21: secondDDR=58;break;
447 2 case V21_P: secondDDR=60;break;
448 2 case V21_B: secondDDR=62;break;
449 2 case T21: secondDDR=64;break;
450 2 case T21_SD: secondDDR=66;break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -