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

📄 test.lst

📁 遥控灯系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
 297   1      
 298   1      
 299   1      
 300   1      
 301   1      
 302   1              
C51 COMPILER V7.06   TEST                                                                  12/14/2006 14:53:22 PAGE 6   

 303   1      }       
 304          
 305           //定时器0中断程序
 306          void Timer0_int( void ) interrupt 1          
 307          {  static  unsigned char  c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17;    //计数用
 308   1         TR0=0;
 309   1              if( Count >= 7 )
 310   1               { SEND();
 311   2                      flash=!flash;    //快闪信号
 312   2                      Count = 0;
 313   2               } 
 314   1               else Count++;
 315   1      
 316   1              if( Count1 >= 15 )
 317   1               { 
 318   2                      flashs=!flashs; //慢闪信号
 319   2                      Count1 = 0;
 320   2               } 
 321   1               else Count1++;
 322   1      
 323   1      
 324   1              if( Count == 7 )
 325   1      send_422();
 326   1      
 327   1      
 328   1      
 329   1      
 330   1      
 331   1      
 332   1      ReadData();
 333   1          if(as1)                                     //按钮1
 334   1                      {       c1++;
 335   2                              if(c1>4)
 336   2                                      {ass1=1;c1=0;}
 337   2                      }
 338   1               else
 339   1                      {ass1=0;c1=0;dis1=0;}
 340   1      
 341   1        if(as2)                                       //按钮2
 342   1                      {       c2++;
 343   2                              if(c2>4)
 344   2                                      {ass2=1;c2=0;}
 345   2                      }
 346   1               else
 347   1                      {ass2=0;c2=0;dis2=0;}
 348   1      
 349   1          if(as3)                                     //按钮3
 350   1                      {       c3++;
 351   2                              if(c3>4)
 352   2                                      {ass3=1;c3=0;}
 353   2                      }
 354   1               else
 355   1                      {ass3=0;c3=0;dis3=0;}
 356   1      
 357   1      
 358   1          if(as4)                                     //按钮4
 359   1                      {       c4++;
 360   2                              if(c4>4)
 361   2                                      {ass4=1;c4=0;}
 362   2                      }
 363   1               else
 364   1                      {ass4=0;c4=0;dis4=0;}
C51 COMPILER V7.06   TEST                                                                  12/14/2006 14:53:22 PAGE 7   

 365   1      
 366   1          if(as5)                                     //按钮5
 367   1                      {       c5++;
 368   2                              if(c5>4)
 369   2                                      {ass5=1;c5=0;}
 370   2                      }
 371   1               else
 372   1                      {ass5=0;c5=0;dis5=0;}
 373   1      
 374   1      
 375   1          if(as6)                                     //按钮6
 376   1                      {       c6++;
 377   2                              if(c6>4)
 378   2                                      {ass6=1;c6=0;}
 379   2                      }
 380   1               else
 381   1                      {ass6=0;c6=0;dis6=0;}
 382   1      
 383   1      
 384   1      
 385   1          if(as7)                                     //按钮7
 386   1                      {       c7++;
 387   2                              if(c7>4)
 388   2                                      {ass7=1;c7=0;}
 389   2                      }
 390   1               else
 391   1                      {ass7=0;c7=0;dis7=0;}
 392   1      
 393   1          if(as8)                                     //按钮8
 394   1                      {       c8++;
 395   2                              if(c8>4)
 396   2                                      {ass8=1;c8=0;}
 397   2                      }
 398   1               else
 399   1                      {ass8=0;c8=0;dis8=0;}
 400   1      
 401   1      
 402   1         if(ls1)                                      //指示灯1
 403   1                      {       c9++;
 404   2                              if(c9>4)
 405   2                                      {lss1=1;c9=0;}
 406   2                      }
 407   1               else
 408   1                      {lss1=0;c9=0;}
 409   1      
 410   1        if(ls2)                                       //指示灯2
 411   1                      {       c10++;
 412   2                              if(c10>4)
 413   2                                      {lss2=1;c10=0;}
 414   2                      }
 415   1               else
 416   1                      {lss2=0;c10=0;}
 417   1      
 418   1         if(ls3)                                      //指示灯3
 419   1                      {       c11++;
 420   2                              if(c11>4)
 421   2                                      {lss3=1;c11=0;}
 422   2                      }
 423   1               else
 424   1                      {lss3=0;c11=0;}
 425   1      
 426   1         if(ls4)                                      //指示灯4
C51 COMPILER V7.06   TEST                                                                  12/14/2006 14:53:22 PAGE 8   

 427   1                      {       c12++;
 428   2                              if(c12>4)
 429   2                                      {lss4=1;c12=0;}
 430   2                      }
 431   1               else
 432   1                      {lss4=0;c12=0;}
 433   1      
 434   1         if(ls5)                                      //指示灯5
 435   1                      {       c13++;
 436   2                              if(c13>4)
 437   2                                      {lss5=1;c13=0;}
 438   2                      }
 439   1               else
 440   1                      {lss5=0;c13=0;}
 441   1      
 442   1         if(ls6)                                      //指示灯6
 443   1                      {       c14++;
 444   2                              if(c14>4)
 445   2                                      {lss6=1;c14=0;}
 446   2                      }
 447   1               else
 448   1                      {lss6=0;c14=0;}
 449   1      
 450   1         if(ls7)                                      //指示灯7
 451   1                      {       c15++;
 452   2                              if(c15>4)
 453   2                                      {lss7=1;c15=0;}
 454   2                      }
 455   1               else
 456   1                      {lss7=0;c15=0;}
 457   1      
 458   1         if(ls8)                                      //指示灯8
 459   1                      {       c16++;
 460   2                              if(c16>4)
 461   2                                      {lss8=1;c16=0;}
 462   2                      }
 463   1               else
 464   1                      {lss8=0;c16=0;}
 465   1      
 466   1      
 467   1              if(!mute)
 468   1              {dis1=ass1;
 469   2               dis2=ass2;
 470   2          dis3=ass3;
 471   2          dis4=ass4;
 472   2          dis5=ass5;
 473   2          dis6=ass6;
 474   2          dis7=ass7;
 475   2          dis8=ass8;
 476   2      
 477   2              }
 478   1      
 479   1      if(astate!=(lstate|diss))   //蜂鸣器
 480   1      {c17++;
 481   2        if(c17>2)
 482   2         {ha=flash;c17=3;bell=0;}
 483   2              }
 484   1      else
 485   1      {ha=1;bell=1;c17=0;}
 486   1      
 487   1         TR0=1;
 488   1         
C51 COMPILER V7.06   TEST                                                                  12/14/2006 14:53:22 PAGE 9   

 489   1      }
 490          
 491          
 492          /* CAN总线中断子程序 */
 493          void CANInt(void) interrupt 0
 494          {
 495   1          /*从SJA1000 读中断寄存器的内容并临时保存所有中断标志被清除在PeliCAN 模式里
 496   1          接收中断RI 被首先清除当给出释放缓冲器命令时*/
 497   1              
 498   1         ET0 = DISABLE;                                     /* 定时器0 中断禁能  */
 499   1         CANInterrupt = InterruptReg;
 500   1         CANState = StatusReg;
 501   1      
 502   1       if(BEI_BitVar )        
 503   1              InitSJA();   
 504   1      
 505   1      
 506   1          /* 错误中断处理 */
 507   1          if(EI_BitVar == YES)                        
 508   1          { 
 509   2            if((ModeControlReg&RM_RR_Bit) != ClrByte)
 510   2            {  
 511   3                ModeControlReg = ClrByte;                  /* 进入工作模式          */
 512   3                InterruptEnReg = RIE_Bit|EIE_Bit|DOIE_Bit; /*SJA1000 的接收中断使能 */
 513   3                                                           /*SJA1000 的错误中断使能 */
 514   3                                                                                                                                                /*SJA1000 的溢出中断使能 */                                   
 515   3            }
 516   2          }
 517   1      
 518   1          /*检查接收中断和读一个或所有接收到的信息 */
 519   1          if(RI_BitVar == YES)                             /*检测到接收中断         */    
 520   1             { /*从SJA1000 得到接收缓冲器的内容并将它存入控制器的内部存储器*/
 521   2                              RXDData[0]=RxBuffer5;
 522   2                              RXDData[1]=RxBuffer6;
 523   2                              RXDData[2]=RxBuffer7;
 524   2                              RXDData[3]=RxBuffer8;
 525   2                              RXDData[4]=RxBuffer9;
 526   2                              RXDData[5]=RxBuffer10;
 527   2                              RXDData[6]=RxBuffer11;
 528   2                              RXDData[7]=RxBuffer12;      
 529   2               CommandReg = RRB_Bit;                     /* 释放接收缓冲器            */
 530   2              }                  
 531   1                
 532   1          if(DOI_BitVar == YES )                              /* 检查数据是否溢出     */
 533   1              {
 534   2                 CommandReg = CDO_Bit;                   /* 发清除数据溢出命令        */
 535   2              }
 536   1          
 537   1                      ET0 = ENABLE;                             /* 定时器0 中断使能           */
 538   1      }
 539          
 540          
 541          
 542          
 543          
 544          
 545          
 546          void main( void )
 547          {       
 548   1              InitSYS();
 549   1              InitSJA();
 550   1              while( 1 )
C51 COMPILER V7.06   TEST                                                                  12/14/2006 14:53:22 PAGE 10  

 551   1              {
 552   2                              FramID[0] = 0x04;                       //帧ID
 553   2                              FramID[1] = 0xb1;
 554   2                              FramID[2] = 0xc0;
 555   2               FramID[3] = 0x00;
 556   2      
 557   2                              TXDData[0] = 0xff-lstate;               //发送的数据
 558   2                              TXDData[1] = 0xff-astate;
 559   2                              TXDData[2] = 0x00;
 560   2                              TXDData[3] = 0x00;
 561   2                              TXDData[4] = 0x00;
 562   2                              TXDData[5] = 0x00;
 563   2                              TXDData[6] = 0x00;
 564   2                              TXDData[7] = 0x00;
 565   2      
 566   2       
 567   2        
 568   2      
 569   2      led1=!ass1|(!lss1&((flash&!dis1)|(flashs&dis1)));
 570   2      led2=!ass2|(!lss2&((flash&!dis2)|(flashs&dis2)));
 571   2      led3=!ass3|(!lss3&((flash&!dis3)|(flashs&dis3)));
 572   2      led4=!ass4|(!lss4&((flash&!dis4)|(flashs&dis4)));
 573   2      led5=!ass5|(!lss5&((flash&!dis5)|(flashs&dis5)));
 574   2      led6=!ass6|(!lss6&((flash&!dis6)|(flashs&dis6)));
 575   2      led7=!ass7|(!lss7&((flash&!dis7)|(flashs&dis7)));
 576   2      led8=!ass8|(!lss8&((flash&!dis8)|(flashs&dis8)));
 577   2              
 578   2                      }
 579   1      
 580   1              }
 581          
 582          
 583          
 584          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1467    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     77    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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