📄 dzkzqv10.lst
字号:
497 4 dis_blu[j]=dis_blu[j+1];
498 4 }
499 3 dis_red[XX+7]=0;
500 3 dis_grn[XX+7]=0;
501 3 dis_blu[XX+7]=0;
502 3 sendall();
503 3 delay(speed);
504 3 }
505 2 }
506 1 }
507 //*******************************
508 //从左移走
509 //******************************
510 void lmovo(uchar speed)
511 {
512 1 uchar i,j,n;
513 1 for(i=16;i<XX;i=i+16)//总共要移XX/4次
514 1 {
515 2 for(n=0;n<i;n++)//从右边移到左来,碰上停止
516 2 {for(j=0;j<i-1;j++)
517 3 {
518 4 dis_red[j]=dis_red[j+1];
519 4 dis_grn[j]=dis_grn[j+1];
520 4 dis_blu[j]=dis_blu[j+1];
521 4 }
522 3 dis_red[j]=0;
523 3 dis_grn[j]=0;
524 3 dis_blu[j]=0;
525 3 sendall();
526 3 delay(speed);
527 3 }
528 2 }
529 1
530 1 }
531 //*******************************
532 //中间向两边移出
533 //**********************************
534 void mlrmov(uchar speed)
535 {
536 1 uint i,x;
537 1 uchar code *ROMP;
538 1 ROMP=0x2000;
539 1 for(x=0;x<XX;x++)
540 1 {
541 2 dis_red[x]=0;//清屏
542 2 dis_grn[x]=0;//清屏
543 2 dis_blu[x]=0;//清屏
544 2 }
545 1 for(i=0;i<XX/2;i++)
546 1 {
547 2 for(x=XX-1;x>X1;x--)
548 2 {
549 3 dis_red[x]=dis_red[x-1];
550 3 dis_grn[x]=dis_grn[x-1];
C51 COMPILER V7.06 DZKZQV10 10/13/2004 10:35:54 PAGE 10
551 3 dis_blu[x]=dis_blu[x-1];
552 3 }
553 2 dis_red[X1]=*ROMP;ROMP++;
554 2 dis_grn[X1]=*ROMP;ROMP++;
555 2 dis_blu[X1]=*ROMP;ROMP++;
556 2 for(x=0;x<X1-1;x++)
557 2 {
558 3 dis_red[x]=dis_red[x+1];
559 3 dis_grn[x]=dis_grn[x+1];
560 3 dis_blu[x]=dis_blu[x+1];
561 3 }
562 2 dis_red[X1-1]=*ROMP;ROMP++;
563 2 dis_grn[X1-1]=*ROMP;ROMP++;
564 2 dis_blu[X1-1]=*ROMP;ROMP++;
565 2 sendall();
566 2 }
567 1 delay1s(speed);
568 1 }
569 //***********************************
570 //多彩流动
571 //***************************************
572 void qcld(uchar speed)
573 {
574 1 uint j,x;
575 1 uchar rs,gs,bs;
576 1 for(j=0;j<XX;j++)
577 1 {for(x=XX-1;x>0;x--)
578 2 {
579 3 dis_red[x]=dis_red[x-1];
580 3 dis_grn[x]=dis_grn[x-1];
581 3 dis_blu[x]=dis_blu[x-1];
582 3 }
583 2 dis_red[0]=x64cr[j];
584 2 dis_grn[0]=x64cg[j];
585 2 dis_blu[0]=x64cb[j];
586 2 sendall();
587 2 delay(speed);
588 2 }
589 1 delay1s(speed);
590 1 for(j=0;j<XX*2;j++)
591 1 {
592 2 rs=dis_red[XX-1];
593 2 gs=dis_grn[XX-1];
594 2 bs=dis_blu[XX-1];
595 2 for(x=XX-1;x>0;x--)
596 2 {
597 3 dis_red[x]=dis_red[x-1];
598 3 dis_grn[x]=dis_grn[x-1];
599 3 dis_blu[x]=dis_blu[x-1];
600 3 }
601 2 dis_red[0]=rs;
602 2 dis_grn[0]=gs;
603 2 dis_blu[0]=bs;
604 2 sendall();
605 2 delay(speed);
606 2 }
607 1 //*******************************************
608 1 for(j=0;j<XX;j++)
609 1 {for(x=XX-1;x>0;x--)
610 2 {
611 3 dis_red[x]=dis_red[x-1];
612 3 dis_grn[x]=dis_grn[x-1];
C51 COMPILER V7.06 DZKZQV10 10/13/2004 10:35:54 PAGE 11
613 3 dis_blu[x]=dis_blu[x-1];
614 3 }
615 2 dis_red[0]=0;
616 2 dis_grn[0]=0;
617 2 dis_blu[0]=0;
618 2 sendall();
619 2 delay(speed);
620 2 }
621 1 }
622 //***********************************
623 //七彩流动 一条一种颜色
624 //***************************************
625 void colld(uchar speed)
626 {
627 1 uint j,x;
628 1 uchar rs,gs,bs;
629 1 for(j=0;j<XX;j++)
630 1 {for(x=XX-1;x>0;x--)
631 2 {
632 3 dis_red[x]=dis_red[x-1];
633 3 dis_grn[x]=dis_grn[x-1];
634 3 dis_blu[x]=dis_blu[x-1];
635 3 }
636 2 dis_red[0]=x64cr[x];
637 2 dis_grn[0]=x64cg[x];
638 2 dis_blu[0]=x64cb[x];
639 2
640 2 sendall();
641 2 delay1s(speed);
642 2 }
643 1 delay1s(speed);
644 1 for(j=0;j<XX;j++)
645 1 {
646 2 rs=dis_red[XX-1];
647 2 gs=dis_grn[XX-1];
648 2 bs=dis_blu[XX-1];
649 2 for(x=XX-1;x>0;x--)
650 2 {
651 3 dis_red[x]=dis_red[x-1];
652 3 dis_grn[x]=dis_grn[x-1];
653 3 dis_blu[x]=dis_blu[x-1];
654 3 }
655 2 dis_red[0]=rs;
656 2 dis_grn[0]=gs;
657 2 dis_blu[0]=bs;
658 2 sendall();
659 2 delay(speed);
660 2 }
661 1 //*******************************************
662 1 for(j=0;j<XX;j++)
663 1 {for(x=XX-1;x>0;x--)
664 2 {
665 3 dis_red[x]=dis_red[x-1];
666 3 dis_grn[x]=dis_grn[x-1];
667 3 dis_blu[x]=dis_blu[x-1];
668 3 }
669 2 dis_red[0]=0;
670 2 dis_grn[0]=0;
671 2 dis_blu[0]=0;
672 2 sendall();
673 2 delay(speed);
674 2 }
C51 COMPILER V7.06 DZKZQV10 10/13/2004 10:35:54 PAGE 12
675 1 }
676 //******************************
677 //发送显示内存数据到各灯管
678 //*******************************
679 void sendall(void)
680 {
681 1 uchar j;
682 1 for(j=0;j<XX-1;j++)
683 1 {TB8=1;
684 2 SBUF=j+1;while(!TI);TI=0;
685 2 TB8=0;
686 2 send_del(20);
687 2 //send red
688 2 SBUF=dis_red[j];
689 2 while(!TI);TI=0;
690 2 send_del(20);
691 2 //send greed
692 2 SBUF=dis_grn[j];
693 2 while(!TI);TI=0;
694 2 send_del(20);
695 2 //***********bluer
696 2 SBUF=dis_blu[j];
697 2 while(!TI);TI=0;
698 2 send_del(20);
699 2 }
700 1 led=!led;
701 1 }
702 //**********************************
703 //延时
704 //*******************************
705 void delay1s(uint j)
706 {
707 1 int i;
708 1 while(j!=0)
709 1 {
710 2 for(i=0;i<800;i++);
711 2 j--;
712 2 }
713 1 ssp=1;
714 1 }
715 //*******************************
716 void delay(uint j)
717 {
718 1 int i;
719 1 while(j!=0)
720 1 {
721 2 for(i=0;i<ssp*256;i++);
722 2 j--;
723 2 }
724 1 ssp=1;
725 1 }
726 //*******************************
727 void send_del(uchar j)
728 {
729 1 while(j!=0)
730 1 {
731 2 j--;
732 2 }
733 1 }
734
C51 COMPILER V7.06 DZKZQV10 10/13/2004 10:35:54 PAGE 13
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3342 ----
CONSTANT SIZE = 735 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 54
IDATA SIZE = 120 ----
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 + -