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

📄 dzkzqv11.lst

📁 LED照明行业地砖及护栏控制器程序 从现况来看
💻 LST
📖 第 1 页 / 共 3 页
字号:
 590   3                      dis_red[x]=dis_red[x-1];
 591   3                      dis_grn[x]=dis_grn[x-1];
 592   3                      dis_blu[x]=dis_blu[x-1];
 593   3                      }
 594   2              dis_red[0]=col7cr[x];
 595   2              dis_grn[0]=col7cg[x];
 596   2              dis_blu[0]=col7cb[x];
 597   2              
 598   2              sendall();
 599   2              delay1s(speed);
 600   2              }
 601   1      delay1s(speed);
 602   1      for(j=0;j<256;j++)
 603   1              {
 604   2              rs=dis_red[XX-1];
 605   2              gs=dis_grn[XX-1];
 606   2              bs=dis_blu[XX-1];
 607   2              for(x=XX-1;x>0;x--)
 608   2                      {
 609   3                      dis_red[x]=dis_red[x-1];
 610   3                      dis_grn[x]=dis_grn[x-1];
 611   3                      dis_blu[x]=dis_blu[x-1];
 612   3                      }
 613   2                      dis_red[0]=rs;
C51 COMPILER V7.06   DZKZQV11                                                              10/19/2004 09:30:18 PAGE 11  

 614   2                      dis_grn[0]=gs;
 615   2                      dis_blu[0]=bs;
 616   2                      sendall();
 617   2                      delay(speed);
 618   2              }
 619   1      //*******************************************
 620   1      for(j=0;j<XX;j++)
 621   1              {for(x=XX-1;x>0;x--)
 622   2                      {
 623   3                      dis_red[x]=dis_red[x-1];
 624   3                      dis_grn[x]=dis_grn[x-1];
 625   3                      dis_blu[x]=dis_blu[x-1];
 626   3                      }
 627   2              dis_red[0]=0;
 628   2              dis_grn[0]=0;
 629   2              dis_blu[0]=0;
 630   2              sendall();
 631   2              delay(speed);
 632   2              }
 633   1      }
 634          //******************************
 635          //发送显示内存数据到各灯管
 636          //*******************************
 637          void sendall(void)
 638          {
 639   1      uchar j;
 640   1      for(j=0;j<XX-1;j++)
 641   1              {TB81=1;
 642   2              SBUF1=j+1;while(!TI1);TI1=0;
 643   2              TB81=0;
 644   2              send_del(50);
 645   2              //send  red
 646   2              SBUF1=dis_red[j];
 647   2              while(!TI1);TI1=0;
 648   2              send_del(50);
 649   2              //send greed
 650   2              SBUF1=dis_grn[j];
 651   2              while(!TI1);TI1=0;
 652   2              send_del(50);
 653   2              //***********bluer
 654   2              SBUF1=dis_blu[j];
 655   2              while(!TI1);TI1=0;
 656   2              send_del(50);
 657   2              }
 658   1              led=!led;
 659   1      }
 660          //**********************************
 661          //延时
 662          //*******************************
 663          void delay1s(uint j)
 664          {
 665   1      uint i;
 666   1      while(j!=0)
 667   1              {
 668   2              for(i=0;i<800;i++);
 669   2              j--;
 670   2              }
 671   1      ssp=1;
 672   1      }
 673          //*******************************
 674          void delay(uint j)
 675          {
C51 COMPILER V7.06   DZKZQV11                                                              10/19/2004 09:30:18 PAGE 12  

 676   1      uint i;
 677   1      while(j!=0)
 678   1              {
 679   2              for(i=0;i<ssp*256;i++);
 680   2              j--;
 681   2              }
 682   1      ssp=1;
 683   1      }
 684          void send_del(uchar j)
 685          {
 686   1      while(j!=0)
 687   1              {
 688   2              j--;
 689   2              }
 690   1      }
 691          //*******************************
 692          void send_delay(void)
 693          {
 694   1      uchar   j;
 695   1      j=12;
 696   1      while(j!=0)
 697   1              {
 698   2              j--;
 699   2              }
 700   1      }
 701          //*******************************
 702          void SomeNOP(void)
 703          {
 704   1      uchar i;
 705   1      i=5;
 706   1      while(i--);
 707   1      }
 708          
 709          /***************************************************************************/
 710          void I2cDelay(unsigned int number) {
 711   1              unsigned char temp;
 712   1              for(;number!=0;number--) {
 713   2                      for(temp=112;temp!=0;temp--) {
 714   3                      }
 715   2              }
 716   1      }
 717          
 718          /***************************************************************************/
 719          void Start() {
 720   1              SDA=1;
 721   1              SCL=1;SomeNOP();
 722   1              SDA=0;SomeNOP();
 723   1              SCL=0;
 724   1      }
 725          
 726          /***************************************************************************/
 727          void Stop() {
 728   1              SCL=0;
 729   1              SDA=0;SomeNOP();
 730   1              SCL=1;SomeNOP();
 731   1              SDA=1;
 732   1      }
 733          
 734          /***************************************************************************/
 735          void Ack() {
 736   1              SDA=0;
 737   1              SCL=1;SomeNOP();
C51 COMPILER V7.06   DZKZQV11                                                              10/19/2004 09:30:18 PAGE 13  

 738   1              SCL=0;SomeNOP();
 739   1              SDA=1;
 740   1      }
 741          
 742          /***************************************************************************/
 743          void NoAck() {
 744   1              SDA=1;
 745   1              SCL=1;SomeNOP();
 746   1              SCL=0;
 747   1      }
 748          
 749          /***************************************************************************/
 750          bit TestAck() {
 751   1              bit ErrorBit;
 752   1              SDA=1;
 753   1              SCL=1;
 754   1              ErrorBit=SDA;SomeNOP();
 755   1              SCL=0;
 756   1              return(ErrorBit);
 757   1      }
 758          
 759          /***************************************************************************/
 760          Write8Bit(unsigned char input)
 761          {
 762   1      unsigned char temp;
 763   1      for(temp=8;temp!=0;temp--) {
 764   2                      SDA=(bit)(input&0x80);
 765   2                      SCL=1;
 766   2                      SCL=0;
 767   2                      input=input<<1;
 768   2              }
 769   1      }
 770          /***************************************************************************/
 771          void Write24c02(unsigned char *Wdata,unsigned char RomAddress,unsigned char number) {
 772   1              Start();
 773   1              Write8Bit(WriteDeviceAddress);
 774   1              TestAck();
 775   1              Write8Bit(RomAddress);
 776   1              TestAck();
 777   1              for(;number!=0;number--) {
 778   2                      Write8Bit(*Wdata);
 779   2                      TestAck();
 780   2                      Wdata++;
 781   2              }
 782   1              Stop();
 783   1              I2cDelay(10);
 784   1      }
 785          /***************************************************************************/
 786          unsigned char Read8Bit() {
 787   1              unsigned char temp,rbyte=0;
 788   1              for(temp=8;temp!=0;temp--) {
 789   2                      SCL=1;
 790   2                      rbyte=rbyte<<1;
 791   2                      rbyte=rbyte|((unsigned char)(SDA));
 792   2                      SCL=0;
 793   2              }
 794   1              return(rbyte);
 795   1      }
 796          /***************************************************************************/
 797          void Read24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes) {
 798   1      //      unsigned char temp,rbyte;
 799   1              Start();
C51 COMPILER V7.06   DZKZQV11                                                              10/19/2004 09:30:18 PAGE 14  

 800   1              Write8Bit(WriteDeviceAddress);
 801   1              TestAck();
 802   1              Write8Bit(RomAddress);
 803   1              TestAck();
 804   1              Start();
 805   1              Write8Bit(ReadDviceAddress);
 806   1              TestAck();
 807   1              while(bytes!=1) {
 808   2              *RamAddress=Read8Bit();
 809   2              Ack();
 810   2              RamAddress++;
 811   2              bytes--;
 812   2              }
 813   1              *RamAddress=Read8Bit();
 814   1              NoAck();
 815   1              Stop();
 816   1      }
 817          //**************************************
 818          void    save(void)
 819          {
 820   1      uchar i;
 821   1      uchar *sp;
 822   1      sp=&send_buf[0];
 823   1      for(i=0;i<16;i++)
 824   1              {
 825   2              Write24c02(sp,i*4,4);
 826   2              sp+=4;
 827   2              }
 828   1      }
 829          //*****************************************
 830          //                      串口中断服务程序
 831          //*****************************************
 832          void send(void) interrupt  4 
 833          {
 834   1      uchar d;
 835   1      if(!TI && RI && !frameok)
 836   1       {RI=0;
 837   2        d=SBUF;
 838   2              if(pointer==0)
 839   2              {if(d==ADD)
 840   3                              {subchk=d;send_buf[0]=d;TB8=1;senden=1;
 841   4                              send_delay();SBUF=d;while(!TI);TI=0;send_delay();
 842   4                              senden=0;SM2=0;TB8=0;pointer++;}//71
 843   3                      else if(d==0xff)
 844   3                              {subchk=d;SM2=0;pointer++;}
 845   3                              
 846   3              }
 847   2        else 
 848   2                      {if(pointer==64)
 849   3              {send_buf[pointer]=d;
 850   4                              if(d==subchk)
 851   4                                      {senden=1;send_delay();SBUF=subchk;while(!TI);send_delay();senden=0;TI=0;frameok=1;}
 852   4                              else
 853   4                                      {senden=1;send_delay();SBUF=~subchk;while(!TI);send_delay();TI=0;senden=0;}
 854   4                              SM2=1;pointer=0;
 855   4                              }
 856   3              else
 857   3                {send_buf[pointer]=d;subchk+=d;pointer++;}
 858   3                      }        
 859   2        }//end if
 860   1      }
 861          //*************************************
C51 COMPILER V7.06   DZKZQV11                                                              10/19/2004 09:30:18 PAGE 15  

 862          /*
 863          void timer1() interrupt  1  
 864          {TL0=V_TL0;
 865          TH0=V_TH0;
 866          ms++;
 867          if(ms>zhepe)
 868                  {timout=1;
 869                  ms=0;
 870                  }
 871          }
 872          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3216    ----
   CONSTANT SIZE    =   1032    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     71      57
   IDATA SIZE       =    120    ----
   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 + -