📄 ktdis.lst
字号:
322 2 }
323 1
324 1 }
325
326 void key_mode1()
327 {
328 1 count1000ms++;
329 1 if(tkey1==0&&count1000ms>=paramkey) //shift t
330 1 {
331 2 auto_save_c = 0;
332 2 count1000ms = 0;
333 2 //shiftbit = ((shiftbit+1)&0x03);
334 2 if(shiftbit == 2)
335 2 shiftbit = 0;
336 2 else if(shiftbit == 0)
337 2 shiftbit = 1;
338 2 else if(shiftbit == 1)
339 2 shiftbit = 2;
340 2 }
341 1
342 1 if(tkey2==0&&count1000ms>=paramkey) // add t
343 1 {
344 2 auto_save_c = 0;
345 2 count1000ms = 0;
346 2 tkeyset[shiftbit] += 1;
347 2 if(shiftbit == 2)
348 2 {
349 3 if(tkeyset[shiftbit]>5)
350 3 tkeyset[shiftbit] = 0;
351 3 }
352 2 else
353 2 {
354 3 if(tkeyset[shiftbit]>9)
355 3 tkeyset[shiftbit] = 0;
356 3 }
357 2 } //
358 1 if(skey1==0&&count1000ms>=paramkey1)
359 1 {
360 2 count1000ms=0;
361 2 flag1 = 1;
362 2 auto_save_c2 = 0;
363 2 modectrl = 3;
364 2 }
365 1 }
C51 COMPILER V8.02 KTDIS 02/13/2009 20:32:24 PAGE 7
366
367 void key_mode2()
368 {
369 1
370 1 count1000ms++;
371 1 if(skey1==0&&count1000ms>=paramkey) //shift s
372 1 {
373 2 count1000ms = 0;
374 2 auto_save_c2 = 0;
375 2 if(shiftbit2 == 2)
376 2 shiftbit2 = 0;
377 2 else if(shiftbit2 == 0)
378 2 shiftbit2 = 1;
379 2 else if(shiftbit2 == 1)
380 2 shiftbit2 = 2;
381 2 }
382 1
383 1 if(skey2==0&&count1000ms>=paramkey)
384 1 {
385 2 count1000ms = 0;
386 2 auto_save_c2 = 0;
387 2 skeyset[shiftbit2] += 1;
388 2 if(skeyset[shiftbit2]>9)
389 2 skeyset[shiftbit2] = 0;
390 2 }
391 1 if(tkey1==0&&count1000ms>=paramkey1) //mode select judge s1 and s3
392 1 {
393 2 flag = 1;
394 2 auto_save_c = 0;
395 2 count1000ms=0;
396 2 modectrl = 3;
397 2 }
398 1 }
399
400 void key_mode3()
401 {
402 1 count1000ms++;
403 1 if(tkey1==0&&count1000ms>=paramkey) //shift t
404 1 {
405 2 auto_save_c = 0;
406 2 count1000ms = 0;
407 2 if(shiftbit == 2)
408 2 shiftbit = 0;
409 2 else if(shiftbit == 0)
410 2 shiftbit = 1;
411 2 else if(shiftbit == 1)
412 2 shiftbit = 2;
413 2 }
414 1
415 1 if(tkey2==0&&count1000ms>=paramkey) // add t
416 1 {
417 2 auto_save_c = 0;
418 2 count1000ms = 0;
419 2 tkeyset[shiftbit] += 1;
420 2 if(shiftbit == 0)
421 2 {
422 3 if(tkeyset[shiftbit]>5)
423 3 tkeyset[shiftbit] = 0;
424 3 }
425 2 else
426 2 {
427 3 if(tkeyset[shiftbit]>9)
C51 COMPILER V8.02 KTDIS 02/13/2009 20:32:24 PAGE 8
428 3 tkeyset[shiftbit] = 0;
429 3 }
430 2 }
431 1
432 1 if(skey1==0&&count1000ms>=paramkey) //shift s
433 1 {
434 2 count1000ms = 0;
435 2 auto_save_c2 = 0;
436 2 if(shiftbit2 == 2)
437 2 shiftbit2 = 0;
438 2 else if(shiftbit2 == 0)
439 2 shiftbit2 = 1;
440 2 else if(shiftbit2 == 1)
441 2 shiftbit2 = 2;
442 2 }
443 1
444 1 if(skey2==0&&count1000ms>=paramkey)
445 1 {
446 2 count1000ms = 0;
447 2 auto_save_c2 = 0;
448 2 skeyset[shiftbit2] += 1;
449 2 if(skeyset[shiftbit2]>9)
450 2 skeyset[shiftbit2] = 0;
451 2 }
452 1 }
453
454
455 void t0_int(void) interrupt 1 using 0 /*T0 interrupt offers base time to dynamic-displaying*/
456 {
457 1
458 1 TR0=0;
459 1 TH0=0xb7;
460 1 TL0=0xa9;
461 1 TR0=1;
462 1 ctrl_mode1++; /*ctrl_mode1 and ctrlmode2 generate four display_statements*/
463 1 ctrl_mode2++;
464 1
465 1 switch(modectrl)
466 1 {
467 2 case 0: /*normal mode */
468 2 dis_mode0();
469 2 break;
470 2 case 1: /*temperature_set mode*/
471 2 dis_mode1();
472 2 break;
473 2 case 2: /*damp_set mode*/
474 2 dis_mode2();
475 2 break;
476 2 case 3: /*temperature_damp set mode*/
477 2 dis_mode3();
478 2 break;
479 2 default:
480 2 modectrl = 0;
481 2 break;
482 2 }
483 1 if(flag==1)
484 1 {
485 2 auto_save_c++;
486 2 if(auto_save_c>1000)
487 2 {
488 3 flag = 0;
489 3 auto_save_c = 0;
C51 COMPILER V8.02 KTDIS 02/13/2009 20:32:24 PAGE 9
490 3 sendflag = 1;
491 3 sendbuf[2] = tkeyset[0];
492 3 sendbuf[3] = tkeyset[1];
493 3 sendbuf[4] = tkeyset[2];
494 3 if(modectrl==1)
495 3 modectrl = 0;
496 3 if(modectrl==3)
497 3 modectrl = 2;
498 3 }
499 2 }
500 1 if(flag1==1)
501 1 {
502 2 auto_save_c2++;
503 2 if(auto_save_c2>1000)
504 2 {
505 3 flag1 = 0;
506 3 auto_save_c2 = 0;
507 3 sendflag2 = 1;
508 3 sendbuf[5] = skeyset[0];
509 3 sendbuf[6] = skeyset[1];
510 3 sendbuf[7] = skeyset[2];
511 3 if(modectrl==2)
512 3 modectrl = 0;
513 3 if(modectrl==3)
514 3 modectrl = 1;
515 3 }
516 2 }
517 1
518 1
519 1 }
520
521 void Timer2(void) interrupt 5
522 {
523 1 TR2 = 0;
524 1 TF2 =0;
525 1 h = 0;
526 1 headflag = 0;
527 1 reover = 1;
528 1
529 1 }
530 void saal(void) interrupt 4 using 1
531 {
532 1
533 1 uchar head = 0;
534 1 static uchar k = 0;
535 1 ES = 0;
536 1 if(RI)
537 1 {
538 2 head = SBUF;
539 2 RI = 0;
540 2 if(!headflag)
541 2 {
542 3 if(head == 0xFF)
543 3 {
544 4 headflag = 1;
545 4 h = 0;
546 4 TH2 = 0xdc;
547 4 TL2 = 0x00;
548 4 TR2 = 1;
549 4 }
550 3 }
551 2 else
C51 COMPILER V8.02 KTDIS 02/13/2009 20:32:24 PAGE 10
552 2 {
553 3 temp[h++] = head;
554 3 TH2 = 0xdc;
555 3 TL2 = 0x00;
556 3 }
557 2
558 2 }
559 1 if(TI)
560 1 {
561 2 TI = 0;
562 2 if(k>=9)
563 2 {
564 3 k = 0;
565 3 dir = 0;
566 3 }
567 2 else
568 2 SBUF = sendbuf[k++];
569 2 }
570 1 ES = 1;
571 1
572 1 }
573
574 //
575 main()
576 {
577 1
578 1 ProgramInit();
579 1 while(1)
580 1 {
581 2 if(reover)
582 2 {
583 3 tt = 0;
584 3 reover = 0;
585 3 for(y=0;y<12;y++)
586 3 {
587 4 tt += temp[y];
588 4 }
589 3 if(tt==temp[12])
590 3 {
591 4 tdis[0] = temp[2];
592 4 tdis[1] = temp[1];
593 4 tdis[2] = temp[0];
594 4 sdis[0] = temp[5];
595 4 sdis[1] = temp[4];
596 4 sdis[2] = temp[3];
597 4 if(modectrl==0)
598 4 {
599 5 tkeyset[0] = temp[8]; //updata set t&s value
600 5 tkeyset[1] = temp[7];
601 5 tkeyset[2] = temp[6];
602 5 skeyset[0] = temp[11];
603 5 skeyset[1] = temp[10];
604 5 skeyset[2] = temp[9];
605 5
606 5 }
607 4 if(sendflag==1)
608 4 {
609 5 sendflag = 0;
610 5 sendbuf[8] = 0;
611 5 for(y=0;y<12;y++)
612 5 {
613 6 sendbuf[8] += sendbuf[y];
C51 COMPILER V8.02 KTDIS 02/13/2009 20:32:24 PAGE 11
614 6 }
615 5 dir = 1;
616 5 TI = 1;
617 5 }
618 4 else if(sendflag2==1)
619 4 {
620 5 sendflag2 = 0;
621 5 sendbuf[8] = 0;
622 5 for(y=0;y<12;y++)
623 5 {
624 6 sendbuf[8] += sendbuf[y];
625 6 }
626 5 dir = 1;
627 5 TI = 1;
628 5 }
629 4
630 4 }
631 3 }
632 2
633 2 }
634 1
635 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1975 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 64 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -