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