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

📄 xszkzqv12.lst

📁 LED照明行业地砖及护栏控制器程序 从现况来看
💻 LST
📖 第 1 页 / 共 4 页
字号:
 803   1      sendall();
 804   1      delay1s(speed);
 805   1      msk_data(0,0,255,255,0,0);
 806   1      sendall();
 807   1      delay1s(speed);
 808   1      msk_data(255,255,0,0,255,255);
 809   1      sendall();
 810   1      delay1s(speed);
 811   1      msk_data(255,0,255,0,255,255);
 812   1      sendall();
 813   1      delay1s(speed);
 814   1      msk_data(255,255,0,0,0,255);
 815   1      sendall();
 816   1      delay1s(speed);
 817   1      
 818   1      }
 819          
 820          //******************************
 821          //发送显示内存数据到各灯管
 822          //*******************************
 823          void sendall(void)
 824          {
 825   1      uchar j;
 826   1      for(j=0;j<XX-1;j++)
 827   1              {TB81=1;
 828   2              SBUF1=j+1;while(!TI1);TI1=0;
 829   2              TB81=0;
 830   2              send_del(50);
 831   2              //send  red
 832   2              SBUF1=dis_red[j];
 833   2              while(!TI1);TI1=0;
 834   2              send_del(50);
 835   2              //send greed
 836   2              SBUF1=dis_grn[j];
 837   2              while(!TI1);TI1=0;
 838   2              send_del(50);
 839   2              //***********bluer
 840   2              SBUF1=dis_blu[j];
 841   2              while(!TI1);TI1=0;
 842   2              send_del(50);
 843   2              }
 844   1              led=!led;
 845   1      }
 846          //**********************************
 847          //延时
 848          //*******************************
 849          void delay1s(uint j)
 850          {
 851   1      //uint i;
 852   1      while(j!=0)
 853   1              {
 854   2              while(timer!=10)
 855   2                      {
 856   3                      if(frameok){save();frameok=0;}
 857   3                      }
 858   2                      timer=0;
 859   2                      j--;
 860   2              }
 861   1      }
C51 COMPILER V7.06   XSZKZQV12                                                             10/22/2004 14:07:12 PAGE 15  

 862          //*******************************
 863          void delay(uint j)
 864          {
 865   1      while(j!=0)
 866   1              {
 867   2              j--;if(frameok){save();frameok=0;}
 868   2              }
 869   1      }
 870          //-------------------------------------
 871          void send_del(uchar j)
 872          {
 873   1      while(j!=0)
 874   1              {
 875   2              j--;
 876   2              if(frameok){save();frameok=0;}
 877   2              }
 878   1      }
 879          //*******************************
 880          void send_delay(void)
 881          {
 882   1      uchar   j;
 883   1      j=12;
 884   1      while(j!=0)
 885   1              {
 886   2              j--;
 887   2              }
 888   1      }
 889          //********************************************
 890          void main()
 891          {
 892   1      uchar i,j;
 893   1      uchar idata *p;
 894   1      SM0=1;
 895   1      SM1=1;
 896   1      SM2=0;
 897   1      T2CON=0X30;
 898   1      ES=0;
 899   1      RCAP2H=0XFF;
 900   1      TH2=0XFF;
 901   1      RCAP2L=0Xdc;    //bps19200 0xdc 
 902   1      TL2=0Xdc;       //bps=38400bps 256-(22.1184*10^6/32/38400)
 903   1      TR2=1;
 904   1      ES=1;
 905   1      REN=1;
 906   1      TMOD=0x25;      //timer 1 dps timer sync
 907   1      SCON1=0xc0;     //serial prot 1 
 908   1      TH1=0xfd;
 909   1      TL1=0xfd;       //256-(22.1184*10~6/32/12/3/38400*2)
 910   1      senden=0;//rev
 911   1      senden1=1;
 912   1      TL0=0xff;       //timer 0 is ac sync
 913   1      TH0=0xff;
 914   1      TR0=1;
 915   1      ET0=1;
 916   1      
 917   1      TR1=1;
 918   1      ET1=0;
 919   1      //ES1=1;
 920   1      EA=1;
 921   1      PMR=PMR|0x01;   //enable on-chip RAM
 922   1      XX=20;          //dz 162 pcs
 923   1      X1=10;
C51 COMPILER V7.06   XSZKZQV12                                                             10/22/2004 14:07:12 PAGE 16  

 924   1      while(1)
 925   1      {
 926   2      p=&iic_buf[0];
 927   2      Read24c02(p,0,128);
 928   2      if(iic_buf[0]==0xaa)
 929   2              {
 930   3              for(i=0;i<iic_buf[1];i++)
 931   3                      {
 932   4                      switch(iic_buf[i*3+2])
 933   4                              {
 934   5                              case 0:
 935   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 936   5                                              col7(iic_buf[i*3+4]);   
 937   5                              break;//七彩渐变
 938   5                              case 1:
 939   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 940   5                                              {zbyzk(iic_buf[i*3+4]);
 941   6                                              zbybm(iic_buf[i*3+4]);
 942   6                                              ybyzk(iic_buf[i*3+4]);
 943   6                                              ybybm(iic_buf[i*3+4]);
 944   6                                              }
 945   5                              break;  //百叶
 946   5                              case 2:
 947   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 948   5                                              qcld(iic_buf[i*3+4]);
 949   5                              break;//七彩流水
 950   5                              case 3:
 951   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 952   5                                              {duun(iic_buf[i*3+4]);clear();}
 953   5                              break;//向左展开
 954   5                              case 4:
 955   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 956   5                                              {lrmun(iic_buf[i*3+4]);
 957   6                                              lrmco(iic_buf[i*3+4]);
 958   6                                              }
 959   5                              break;//左右中间展开
 960   5                              case 5:
 961   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 962   5                                              {mlrun(iic_buf[i*3+4]);
 963   6                                              mlrco(iic_buf[i*3+4]);
 964   6                                              }
 965   5                              break;//中间向两边展开
 966   5                              case 6:
 967   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 968   5                                              {mlrmov(iic_buf[i*3+4]);
 969   6                                              mlrun(iic_buf[i*3+4]);
 970   6                                              }
 971   5                              break;//中间向两边流动
 972   5                              case 7:
 973   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 974   5                                              colld(iic_buf[i*3+4]);
 975   5                              break;//七彩流动,
 976   5                              case 8:
 977   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 978   5                                              qczk(iic_buf[i*3+4]);
 979   5                              break;
 980   5                              case 9:
 981   5                                      for(j=0;j<iic_buf[i*3+3];j++)
 982   5                                              msk(iic_buf[i*3+4]);
 983   5                              break;//马赛克
 984   5      
 985   5                              default:break;
C51 COMPILER V7.06   XSZKZQV12                                                             10/22/2004 14:07:12 PAGE 17  

 986   5      
 987   5                              }
 988   4                      }
 989   3              }
 990   2      else
 991   2              {
 992   3              col7(10);
 993   3              zbyzk(120/XX);
 994   3              zbybm(120/XX);
 995   3              ybyzk(120/XX);
 996   3              ybybm(120/XX);
 997   3              qcld(120/XX);
 998   3              duun(120/XX);
 999   3              clear();
1000   3              lrmun(120/XX);
1001   3              lrmco(120/XX);
1002   3              mlrun(120/XX);
1003   3              mlrco(120/XX);
1004   3              colld(120/XX);
1005   3              mlrmov(120/XX);
1006   3              mlrun(120/XX);
1007   3              qczk(10);
1008   3              }//end if 0xaa
1009   2      }
1010   1      }
1011          
1012          //*****************************************
1013          //                      串口中断服务程序
1014          //*****************************************
1015          void send(void) interrupt  4 
1016          {
1017   1      uchar d;
1018   1      if(!TI && RI && !frameok)
1019   1       {RI=0;
1020   2        d=SBUF;
1021   2              if(pointer==0)
1022   2              {if(d==ADD)
1023   3                              {
1024   4                              subchk=d;send_buf[0]=d;TB8=1;senden=1;
1025   4                              send_delay();SBUF=d;while(!TI);TI=0;send_delay();
1026   4                              senden=0;
1027   4                              SM2=0;TB8=0;
1028   4                              pointer++;}//71
1029   3                      else if(d==0x00)
1030   3                              {subchk=d;SM2=0;pointer++;}
1031   3                              
1032   3              }
1033   2        else 
1034   2                      {if(pointer==127)
1035   3                      {//send_buf[pointer]=d;
1036   4                              if(d==subchk)
1037   4                                      {
1038   5                              senden=1;send_delay();SBUF=subchk;while(!TI);send_delay();senden=0;TI=0;
1039   5                              frameok=1;pointer=0;SM2=1;}
1040   4      //                      else
1041   4      //                              {senden=1;send_delay();SBUF=~subchk;while(!TI);send_delay();TI=0;senden=0;}
1042   4      //                      SM2=1;pointer=0;
1043   4                              }
1044   3              else
1045   3                      {send_buf[pointer]=d;subchk+=d;pointer++;}
1046   3                      }        
1047   2        }//end if
C51 COMPILER V7.06   XSZKZQV12                                                             10/22/2004 14:07:12 PAGE 18  

1048   1      }
1049          //*************************************
1050          void timer1() interrupt  1  
1051          {
1052   1      TL0=0xff;
1053   1      TH0=0xff;
1054   1      timer++;
1055   1      }
1056          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   5475    ----
   CONSTANT SIZE    =   1032    ----
   XDATA SIZE       =    248    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7      69
   IDATA SIZE       =    128    ----
   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 + -