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