⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dzkzqv12.lst

📁 LED照明行业地砖及护栏控制器程序 从现况来看
💻 LST
📖 第 1 页 / 共 3 页
字号:
 642   1      for(i=0;i<XX/2;i++)
 643   1              {
 644   2              for(x=XX-1;x>X1;x--)
 645   2                      {
 646   3                      dis_red[x]=dis_red[x-1];
 647   3                      dis_grn[x]=dis_grn[x-1];
 648   3                      dis_blu[x]=dis_blu[x-1];
 649   3                      }
 650   2              dis_red[X1]=*ROMP;ROMP++;
 651   2              dis_grn[X1]=*ROMP;ROMP++;
 652   2              dis_blu[X1]=*ROMP;ROMP++;
 653   2              for(x=0;x<X1-1;x++)
 654   2                      {
 655   3                      dis_red[x]=dis_red[x+1];
 656   3                      dis_grn[x]=dis_grn[x+1];
 657   3                      dis_blu[x]=dis_blu[x+1];
 658   3                      }
 659   2              dis_red[X1-1]=*ROMP;ROMP++;
 660   2              dis_grn[X1-1]=*ROMP;ROMP++;
 661   2              dis_blu[X1-1]=*ROMP;ROMP++;
 662   2              sendall();
 663   2              }
 664   1      delay1s(speed);
 665   1      }
 666          //***********************************
 667          //多彩流动
 668          //***************************************
 669          void qcld(uchar speed)
 670          {
 671   1      uint j,x;
 672   1      uchar rs,gs,bs;
 673   1      for(j=0;j<XX;j++)
 674   1              {for(x=XX-1;x>0;x--)
 675   2                      {
C51 COMPILER V7.50   DZKZQV12                                                              12/04/2006 16:43:31 PAGE 12  

 676   3                      dis_red[x]=dis_red[x-1];
 677   3                      dis_grn[x]=dis_grn[x-1];
 678   3                      dis_blu[x]=dis_blu[x-1];
 679   3                      }
 680   2              dis_red[0]=x64cr[j];
 681   2              dis_grn[0]=x64cg[j];
 682   2              dis_blu[0]=x64cb[j];
 683   2              sendall();
 684   2              delay(speed);
 685   2              }
 686   1      delay1s(speed);
 687   1      for(j=0;j<256;j++)
 688   1              {
 689   2              rs=dis_red[XX-1];
 690   2              gs=dis_grn[XX-1];
 691   2              bs=dis_blu[XX-1];
 692   2              for(x=XX-1;x>0;x--)
 693   2                      {
 694   3                      dis_red[x]=dis_red[x-1];
 695   3                      dis_grn[x]=dis_grn[x-1];
 696   3                      dis_blu[x]=dis_blu[x-1];
 697   3                      }
 698   2                      dis_red[0]=rs;
 699   2                      dis_grn[0]=gs;
 700   2                      dis_blu[0]=bs;
 701   2                      sendall();
 702   2                      delay(speed);
 703   2              }
 704   1      //*******************************************
 705   1      for(j=0;j<XX;j++)
 706   1              {for(x=XX-1;x>0;x--)
 707   2                      {
 708   3                      dis_red[x]=dis_red[x-1];
 709   3                      dis_grn[x]=dis_grn[x-1];
 710   3                      dis_blu[x]=dis_blu[x-1];
 711   3                      }
 712   2              dis_red[0]=0;
 713   2              dis_grn[0]=0;
 714   2              dis_blu[0]=0;
 715   2              sendall();
 716   2              delay(speed);
 717   2              }
 718   1      }
 719          //***********************************
 720          //七彩流动 一条一种颜色
 721          //***************************************
 722          void colld(uchar speed)
 723          {
 724   1      uint j,x;
 725   1      uchar rs,gs,bs;
 726   1      for(j=0;j<XX;j++)
 727   1              {for(x=XX-1;x>0;x--)
 728   2                      {
 729   3                      dis_red[x]=dis_red[x-1];
 730   3                      dis_grn[x]=dis_grn[x-1];
 731   3                      dis_blu[x]=dis_blu[x-1];
 732   3                      }
 733   2              dis_red[0]=col7cr[x];
 734   2              dis_grn[0]=col7cg[x];
 735   2              dis_blu[0]=col7cb[x];
 736   2              sendall();
 737   2              delay(speed);
C51 COMPILER V7.50   DZKZQV12                                                              12/04/2006 16:43:31 PAGE 13  

 738   2              }
 739   1      delay1s(speed);
 740   1      for(j=0;j<256;j++)
 741   1              {
 742   2              rs=dis_red[XX-1];
 743   2              gs=dis_grn[XX-1];
 744   2              bs=dis_blu[XX-1];
 745   2              for(x=XX-1;x>0;x--)
 746   2                      {
 747   3                      dis_red[x]=dis_red[x-1];
 748   3                      dis_grn[x]=dis_grn[x-1];
 749   3                      dis_blu[x]=dis_blu[x-1];
 750   3                      }
 751   2                      dis_red[0]=rs;
 752   2                      dis_grn[0]=gs;
 753   2                      dis_blu[0]=bs;
 754   2                      sendall();
 755   2                      delay(speed);
 756   2              }
 757   1      //*******************************************
 758   1      for(j=0;j<XX;j++)
 759   1              {for(x=XX-1;x>0;x--)
 760   2                      {
 761   3                      dis_red[x]=dis_red[x-1];
 762   3                      dis_grn[x]=dis_grn[x-1];
 763   3                      dis_blu[x]=dis_blu[x-1];
 764   3                      }
 765   2              dis_red[0]=0;
 766   2              dis_grn[0]=0;
 767   2              dis_blu[0]=0;
 768   2              sendall();
 769   2              delay(speed);
 770   2              }
 771   1      }
 772          //------------------------------
 773          void msk_data(uchar r0,g0,b0,r1,g1,b1)
 774          {
 775   1      uchar i;
 776   1      for(i=0;i<XX/4;i++)
 777   1              {
 778   2              dis_red[i]=r0;
 779   2              dis_grn[i]=g0;
 780   2              dis_blu[i]=b0;
 781   2      
 782   2              dis_red[i+1]=r1;
 783   2              dis_grn[i+1]=g1;
 784   2              dis_blu[i+1]=b1;
 785   2      
 786   2              dis_red[i+2]=r0;
 787   2              dis_grn[i+2]=g0;
 788   2              dis_blu[i+2]=b0;
 789   2      
 790   2              dis_red[i+3]=r1;
 791   2              dis_grn[i+3]=g1;
 792   2              dis_blu[i+3]=b1;
 793   2      //------------------------------
 794   2              dis_red[i+4]=r1;
 795   2              dis_grn[i+4]=g1;
 796   2              dis_blu[i+4]=b1;
 797   2      
 798   2              dis_red[i+5]=r0;
 799   2              dis_grn[i+5]=g0;
C51 COMPILER V7.50   DZKZQV12                                                              12/04/2006 16:43:31 PAGE 14  

 800   2              dis_blu[i+5]=b0;
 801   2      
 802   2              dis_red[i+6]=r1;
 803   2              dis_grn[i+6]=g1;
 804   2              dis_blu[i+6]=b1;
 805   2      
 806   2              dis_red[i+7]=r0;
 807   2              dis_grn[i+7]=g0;
 808   2              dis_blu[i+7]=b0;
 809   2              }
 810   1      }
 811          //************************************
 812          //马赛克
 813          //*************************************
 814          void    msk(uchar speed)
 815          {
 816   1      msk_data(255,0,0,0,255,0);
 817   1      sendall();
 818   1      delay1s(speed);
 819   1      msk_data(0,255,0,0,0,255);
 820   1      sendall();
 821   1      delay1s(speed);
 822   1      msk_data(0,0,255,255,0,0);
 823   1      sendall();
 824   1      delay1s(speed);
 825   1      msk_data(255,255,0,0,255,255);
 826   1      sendall();
 827   1      delay1s(speed);
 828   1      msk_data(255,0,255,0,255,255);
 829   1      sendall();
 830   1      delay1s(speed);
 831   1      msk_data(255,255,0,0,0,255);
 832   1      sendall();
 833   1      delay1s(speed);
 834   1      
 835   1      }
 836          //***********************************
 837          //多彩流动
 838          //***************************************
 839          void qcldx4(uchar speed)
 840          {
 841   1      uint j,x;
 842   1      for(j=0;j<XX/4;j++)
 843   1              {
 844   2              for(x=0;x<4;x++)
 845   2                      {
 846   3                      dis_red[j*4+x]=dis_red[j*4+x+1];
 847   3                      dis_grn[j*4+x]=dis_grn[j*4+x+1];
 848   3                      dis_blu[j*4+x]=dis_blu[j*4+x+1];
 849   3                      }
 850   2              dis_red[XX-j*4-1]=x64cr[j*4];
 851   2              dis_grn[XX-j*4-1]=x64cg[j*4];
 852   2              dis_blu[XX-j*4-1]=x64cb[j*4];
 853   2      
 854   2              dis_red[XX-j*4-2]=x64cr[j*4+1];
 855   2              dis_grn[XX-j*4-2]=x64cg[j*4+1];
 856   2              dis_blu[XX-j*4-2]=x64cb[j*4+1];
 857   2      
 858   2              dis_red[XX-j*4-3]=x64cr[j*4+2];
 859   2              dis_grn[XX-j*4-3]=x64cg[j*4+2];
 860   2              dis_blu[XX-j*4-3]=x64cb[j*4+2];
 861   2      
C51 COMPILER V7.50   DZKZQV12                                                              12/04/2006 16:43:31 PAGE 15  

 862   2              dis_red[XX-j*4-4]=x64cr[j*4+3];
 863   2              dis_grn[XX-j*4-4]=x64cg[j*4+3];
 864   2              dis_blu[XX-j*4-4]=x64cb[j*4+3];
 865   2              sendall();
 866   2              delay(speed);
 867   2              }
 868   1      delay1s(speed);
 869   1      }
 870          //******************************
 871          //发送显示内存数据到各灯管
 872          //*******************************
 873          void sendall(void)
 874          {
 875   1      uchar j;
 876   1      for(j=0;j<XX-1;j++)
 877   1              {TB81=1;
 878   2              SBUF1=j+1;while(!TI1);TI1=0;
 879   2              TB81=0;
 880   2              send_del(50);
 881   2              //send  red
 882   2              SBUF1=dis_red[j];
 883   2              while(!TI1);TI1=0;
 884   2              send_del(50);
 885   2              //send greed
 886   2              SBUF1=dis_grn[j];
 887   2              while(!TI1);TI1=0;
 888   2              send_del(50);
 889   2              //***********bluer
 890   2              SBUF1=dis_blu[j];
 891   2              while(!TI1);TI1=0;
 892   2              send_del(50);
 893   2              }
 894   1              led=!led;
 895   1      }
 896          //**********************************
 897          //延时
 898          //*******************************
 899          void delay1s(uint j)
 900          {
 901   1      //uint i;
 902   1      while(j!=0)
 903   1              {
 904   2              while(timer!=10)
 905   2                      {
 906   3                      if(frameok){save();frameok=0;}
 907   3                      }
 908   2                      timer=0;
 909   2                      j--;
 910   2              }
 911   1      }
 912          //*******************************
 913          void delay(uint j)
 914          {
 915   1      while(j!=0)
 916   1              {
 917   2              j--;if(frameok){save();frameok=0;}
 918   2              }
 919   1      }
 920          //-------------------------------------
 921          void send_del(uchar j)
 922          {
 923   1      while(j!=0)
C51 COMPILER V7.50   DZKZQV12                                                              12/04/2006 16:43:31 PAGE 16  

 924   1              {
 925   2              j--;
 926   2              if(frameok){save();frameok=0;}
 927   2              }
 928   1      }
 929          //*******************************
 930          void send_delay(void)
 931          {
 932   1      uchar   j;
 933   1      j=12;
 934   1      while(j!=0)
 935   1              {
 936   2              j--;
 937   2              }
 938   1      }
 939          //********************************************
 940          void main()
 941          {
 942   1      uchar i,j;
 943   1      uchar idata *p;
 944   1      SM0=1;
 945   1      SM1=1;
 946   1      SM2=0;
 947   1      T2CON=0X30;
 948   1      ES=0;
 949   1      RCAP2H=0XFF;
 950   1      TH2=0XFF;
 951   1      RCAP2L=0Xdc;    //bps19200 0xdc 
 952   1      TL2=0Xdc;       //bps=38400bps 256-(22.1184*10^6/32/38400)
 953   1      TR2=1;    //
 954   1      ES=1;     //允许串行端口的中断。
 955   1      REN=1;    //串行通讯接收允许信号,该位可以由软件来设定。
 956   1      TMOD=0x25;      //timer 1 dps timer sync
 957   1      SCON1=0xc0;     //serial prot 1 
 958   1      TH1=0xfd;
 959   1      TL1=0xfd;       //256-(22.1184*10~6/32/12/3/38400*2)
 960   1      senden=0;//rev
 961   1      senden1=1;
 962   1      TL0=0xff;       //timer 0 is ac sync
 963   1      TH0=0xff;   
 964   1      TR0=1;        //计时器1启动控制位可由软件来设定或清除。为1时启动,0时关闭

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -