📄 getdot.lst
字号:
408 5 }
409 4 }
410 3 break;
411 3 case 11:for(j=0;j<12;j++) {
412 4 for(n=0; n<6; n++ ) {
413 5 k = j*24+n;
414 5 if(SelRam) {
415 6 DotRam1[k] = 0x22;
416 6 DotRam1[k+6] = 0x44;
417 6 DotRam1[k+12] = 0x88;
418 6 DotRam1[k+18] = 0x11;
419 6 }
420 5 else {
421 6 DotRam2[k] = 0x22;
422 6 DotRam2[k+6] = 0x44;
423 6 DotRam2[k+12] = 0x88;
424 6 DotRam2[k+18] = 0x11;
425 6 }
426 5 }
427 4 }
C51 COMPILER V8.05a GETDOT 04/23/2008 16:28:14 PAGE 8
428 3 break;
429 3 case 12:for(j=0;j<12;j++) {
430 4 for(n=0; n<6; n++ ) {
431 5 k = j*24+n;
432 5 if(SelRam) {
433 6 DotRam1[k] = 0x11;
434 6 DotRam1[k+6] = 0x22;
435 6 DotRam1[k+12] = 0x44;
436 6 DotRam1[k+18] = 0x88;
437 6 }
438 5 else {
439 6 DotRam2[k] = 0x11;
440 6 DotRam2[k+6] = 0x22;
441 6 DotRam2[k+12] = 0x44;
442 6 DotRam2[k+18] = 0x88;
443 6 }
444 5 }
445 4 }
446 3 break;
447 3
448 3 default : break;
449 3 }
450 2 SelRam = !SelRam;
451 2 return;
452 2 }
453 1 if(CutDownEn==0) return;
454 1 if(CountTime==BakCountTime) return;
455 1
456 1 BakCountTime = CountTime;
457 1 k1 = (CountTime/100)*64;
458 1 k2 = ((CountTime%100)/10)*64;
459 1 k3 = (CountTime%10)*64;
460 1
461 1 for(j=0; j<32; j++){
462 2 k = j*6+48;
463 2 n = j*2;
464 2 m = n+1;
465 2 if(SelRam){
466 3 DotRam1[k] = CharDot[k1+n];
467 3 DotRam1[k+1] = CharDot[k1+m];
468 3 DotRam1[k+2] = CharDot[k2+n];
469 3 DotRam1[k+3] = CharDot[k2+m];
470 3 DotRam1[k+4] = CharDot[k3+n];
471 3 DotRam1[k+5] = CharDot[k3+m];
472 3 }
473 2 else {
474 3 DotRam2[k] = CharDot[k1+n];
475 3 DotRam2[k+1] = CharDot[k1+m];
476 3 DotRam2[k+2] = CharDot[k2+n];
477 3 DotRam2[k+3] = CharDot[k2+m];
478 3 DotRam2[k+4] = CharDot[k3+n];
479 3 DotRam2[k+5] = CharDot[k3+m];
480 3 }
481 2 }
482 1 SelRam = !SelRam;
483 1 return;
484 1 }
485
486 void MoveBit( void){
487 1 SRD = BMov0;
488 1 SCLK = 0;
489 1 SCLK = 1;
C51 COMPILER V8.05a GETDOT 04/23/2008 16:28:14 PAGE 9
490 1 SRD = BMov1;
491 1 SCLK = 0;
492 1 SCLK = 1;
493 1 SRD = BMov2;
494 1 SCLK = 0;
495 1 SCLK = 1;
496 1 SRD = BMov3;
497 1 SCLK = 0;
498 1 SCLK = 1;
499 1 SRD = BMov4;
500 1 SCLK = 0;
501 1 SCLK = 1;
502 1 SRD = BMov5;
503 1 SCLK = 0;
504 1 SCLK = 1;
505 1 SRD = BMov6;
506 1 SCLK = 0;
507 1 SCLK = 1;
508 1 SRD = BMov7;
509 1 SCLK = 0;
510 1 SCLK = 1;
511 1 }
512
513 void ScanLed(void)
514 {
515 1 unsigned char i,n;
516 1 unsigned int k;
517 1
518 1 if(Line == 0x0F ) Line = 0x00;
519 1 else Line = Line + 0x01;
520 1
521 1 switch(Line){
522 2 case 0x00: n = 0; break;
523 2 case 0x01: n = 6; break;
524 2 case 0x02: n = 12; break;
525 2 case 0x03: n = 18; break;
526 2 case 0x04: n = 24; break;
527 2 case 0x05: n = 30; break;
528 2 case 0x06: n = 36; break;
529 2 case 0x07: n = 42; break;
530 2 case 0x08: n = 48; break;
531 2 case 0x09: n = 54; break;
532 2 case 0x0A: n = 60; break;
533 2 case 0x0B: n = 66; break;
534 2 case 0x0C: n = 72; break;
535 2 case 0x0D: n = 78; break;
536 2 case 0x0E: n = 84; break;
537 2 case 0x0F: n = 90; break;
538 2 default : n = 0; break;
539 2 }
540 1
541 1 for(i=0; i<3; i++){
542 2 switch(i){
543 3 case 0x00: k = n; break;
544 3 case 0x01: k = n+96; break;
545 3 case 0x02: k = n+192; break;
546 3 default : k = 0; break;
547 3 }
548 2 if(SelRam){
549 3 BMov = DotRam2[k];
550 3 MoveBit();
551 3 BMov = DotRam2[k+1];
C51 COMPILER V8.05a GETDOT 04/23/2008 16:28:14 PAGE 10
552 3 MoveBit();
553 3 BMov = DotRam2[k+2];
554 3 MoveBit();
555 3 BMov = DotRam2[k+3];
556 3 MoveBit();
557 3 BMov = DotRam2[k+4];
558 3 MoveBit();
559 3 BMov = DotRam2[k+5];
560 3 MoveBit();
561 3 }
562 2 else{
563 3 BMov = DotRam1[k];
564 3 MoveBit();
565 3 BMov = DotRam1[k+1];
566 3 MoveBit();
567 3 BMov = DotRam1[k+2];
568 3 MoveBit();
569 3 BMov = DotRam1[k+3];
570 3 MoveBit();
571 3 BMov = DotRam1[k+4];
572 3 MoveBit();
573 3 BMov = DotRam1[k+5];
574 3 MoveBit();
575 3 }
576 2 }
577 1 _nop_();
578 1
579 1 OE = 0;
580 1 _nop_();
581 1 STR = 0;
582 1 _nop_();
583 1 _nop_();
584 1 _nop_();
585 1 _nop_();
586 1 STR = 1;
587 1 _nop_();
588 1 _nop_();
589 1
590 1 L0 = Line&0x01;
591 1 L1 = Line&0x02;
592 1 L2 = Line&0x04;
593 1 L3 = Line&0x08;
594 1 OE = 1;
595 1 _nop_();
596 1 _nop_();
597 1
598 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3769 ----
CONSTANT SIZE = 896 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 13
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -