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

📄 ir_america_recieve.lst

📁 红外对射dfgdhfghfghfhh 矗二直矸直
💻 LST
📖 第 1 页 / 共 2 页
字号:
 276   5                                      TF0 = 0;
 277   5                                      goto judge_end;
 278   5                              }
 279   4                      }
 280   3               
 281   3               }
 282   2              
 283   2              // P1_6 = 1;
 284   2                TR0 = 0;
 285   2                TH0 = 0x00;
 286   2                TL0 = 0x00;
 287   2                TF0 = 0;
 288   2                TR0 = 1;
 289   2               while(!((P1_6 == 1) && (P1_7 == 1))) {}  //if syn(PD1) = 0,then wait
 290   2               TR0 = 0;                                 //timer1 counter stop
 291   2      
 292   2               
 293   2               
 294   2               //Get timer1 counter value 
 295   2               count_value_tmp = 0x00ff;
 296   2               timer1_count_value = 0x00ff;
 297   2               timer1_count_value &= TL0;
 298   2               count_value_tmp &= TH0;
 299   2               //count_value_tmp<<8;
 300   2               timer1_count_value |= (count_value_tmp<<8);
 301   2               
 302   2               if(((150 < timer1_count_value) && (timer1_count_value < 350)))
 303   2               {
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 6   

 304   3                      one_two_pulse = 1;
 305   3                      state_pulse++;
 306   3                      if(state_pulse == 3)
 307   3                      {
 308   4                              goto judge_start;
 309   4                      }
 310   3               }
 311   2               else
 312   2               {
 313   3      
 314   3                      state_pulse = 0;
 315   3               }
 316   2      
 317   2      
 318   2               if(beam_pulse_switch == 1)
 319   2               {
 320   3                  if(TF1 == 1) 
 321   3                      {
 322   4                              TF1 = 0;
 323   4                              one_two_timer++;
 324   4                              if(one_two_timer > one_two_timer_value)
 325   4                              {
 326   5                                      one_two_timer_value = 5;
 327   5      
 328   5                                      
 329   5                                      if(one_two_pulse == 0)
 330   5                                      {
 331   6                                              beam_pulse_switch = 1;
 332   6                                              alarm = 1;
 333   6                                              TR1 = 0;
 334   6                                              TF1 = 0;
 335   6                                              goto judge_end;
 336   6                                      }
 337   5                                      else
 338   5                                      {
 339   6                                              one_two_timer = 0;
 340   6                                              one_two_pulse = 0;
 341   6                                              beam_pulse_switch = 0;
 342   6      
 343   6                                      }
 344   5                              }
 345   4                       }
 346   3                }
 347   2      
 348   2      
 349   2      
 350   2      
 351   2                      }
 352   1               while(1);
 353   1               // test end
 354   1      judge_start:do
 355   1               {
 356   2               
 357   2                TR0 = 0;
 358   2                TH0 = 0x00;
 359   2                TL0 = 0x00;
 360   2                TF0 = 0;
 361   2                TR0 = 1;
 362   2              // P1_6 = 1;
 363   2               while(!((P1_6 == 1) && (P1_7 == 1))) {}
 364   2               while(!((P1_6 == 0) || (P1_7 == 0))) 
 365   2               {
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 7   

 366   3                      if(TF0 == 1) 
 367   3                      {
 368   4                              TF0 = 0;
 369   4                              syn_timer++;
 370   4                              if(syn_timer == 2)
 371   4                              {
 372   5                                      alarm = 1;
 373   5                                      TR0 = 0;
 374   5                                      TF0 = 0;
 375   5                                      goto judge_end;
 376   5                              }
 377   4                      }
 378   3              }  //if syn(PD1) = 1,then wait
 379   2              // P1_6 = 1;
 380   2                TR0 = 0;
 381   2                TH0 = 0x00;
 382   2                TL0 = 0x00;
 383   2                TF0 = 0;
 384   2                TR0 = 1;
 385   2               while(!((P1_6 == 1) && (P1_7 == 1))) {}  //if syn(PD1) = 0,then wait
 386   2               TR0 = 0;                                 //timer1 counter stop
 387   2          /* if(TF1 == 1) 
 388   2               {
 389   2                      TF1 = 0;
 390   2                      syn_timer++;
 391   2                      if(syn_timer == 2)
 392   2                      {
 393   2                              alarm = 1;
 394   2                              TR1 = 0;
 395   2                              TF1 = 0;
 396   2                              goto judge_end;
 397   2                      }
 398   2               }*/
 399   2      
 400   2               
 401   2               
 402   2               //Get timer1 counter value 
 403   2               count_value_tmp = 0x00ff;
 404   2               timer1_count_value = 0x00ff;
 405   2               timer1_count_value &= TL0;
 406   2               count_value_tmp &= TH0;
 407   2               //count_value_tmp<<8;
 408   2               timer1_count_value |= (count_value_tmp<<8);
 409   2               
 410   2               if(((2950 < timer1_count_value) && (timer1_count_value < 3150)))
 411   2               {
 412   3                      beam_pulse_switch = 1;
 413   3                      delay_one_flag = 0; 
 414   3                      goto judge_end;
 415   3               }
 416   2               else
 417   2               {
 418   3                      goto state_channel;
 419   3               }
 420   2              
 421   2               }
 422   1               //-----------------------------------
 423   1               while(1); // 650us--750us
 424   1               
 425   1              //
 426   1      judge_end:TR1 = 0;
 427   1                        TR0 = 0;                                //timer1 counter stop
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 8   

 428   1      }
 429          
 430          void main(void)
 431          {
 432   1              uint count;
 433   1              /*uchar a[2],x=0;
 434   1              uint b[1],*p;
 435   1              TH0 = 4;
 436   1              TL0 = 5;
 437   1              TMOD = 0x01;
 438   1              //TR0 = 1;              // ENABLE TIMER0 COUNTER
 439   1              a[1] = TL0;
 440   1              a[0] = TH0;
 441   1              p = a;*/
 442   1              
 443   1              TH0 = 0;
 444   1              TL0 = 0;
 445   1              TH1 = 0;
 446   1              TL1 = 0;
 447   1              TMOD = 0x11;
 448   1              //EA = 1;
 449   1              //ET1 = 1;
 450   1              
 451   1              beam_num_tmp = (P3 & 0x18);
 452   1                      if(beam_num_tmp == 0x00)
 453   1                       beam_num = 3;
 454   1               else if(beam_num_tmp == 0x08)
 455   1                   beam_num = 5;
 456   1               else if(beam_num_tmp == 0x10)
 457   1                   beam_num = 7;
 458   1               else if(beam_num_tmp == 0x18)
 459   1                   beam_num = 9;      
 460   1              while(1)
 461   1               {
 462   2                      syn_judge();    
 463   2                      //if(wave_flag == 0) goto alarm_place;
 464   2                      //for(count = 0;count<6720;count++) {} // 33.5ms
 465   2              
 466   2                              TH0 = 0xfc;     //1ms
 467   2                              TL0 = 0x17;
 468   2                              TF0 = 0;
 469   2                              TR0 = 1;
 470   2                              while(TF0 == 0) {}
 471   2                              TR0 = 0;
 472   2                              TF0 = 0;
 473   2      
 474   2                              for(count = 0;count<13;count++) {}
 475   2                      
 476   2                      recieve_fun();
 477   2                      recieve_flag_tmp = recieve_flag;
 478   2                      if(P3_2 == 0)
 479   2                      {
 480   3                              for(count = 0;count < beam_num;count++)
 481   3                              {
 482   4                                      if((recieve_flag_tmp | double_alarm_flag[count]) == double_alarm_flag[count]) {alarm = 1;syn_alarm = 
             -3;}
 483   4                              }
 484   3                      }
 485   2                      else
 486   2                      {
 487   3                              if(beam_num == 3)
 488   3                              {
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 9   

 489   4                                              if((recieve_flag_tmp & 0x03c0) != 0x03c0) {alarm = 1;syn_alarm = 2;}   // 4
 490   4                              }
 491   3                              if(beam_num == 5)
 492   3                              {
 493   4                                              if((recieve_flag_tmp & 0x03f0) != 0x03f0) {alarm = 1;syn_alarm = 2;}   // 6
 494   4                              }
 495   3                              if(beam_num == 7)
 496   3                              {
 497   4                                              if((recieve_flag_tmp & 0x03fc) != 0x03fc) {alarm = 1;syn_alarm = 2;}   // 8
 498   4                              }
 499   3                              if(beam_num == 9)
 500   3                              {
 501   4                                              if((recieve_flag_tmp & 0x03ff) != 0x03ff) {alarm = 1;syn_alarm = 2;}   // 10
 502   4                              }
 503   3                      }
 504   2                      
 505   2               if(alarm == 1)
 506   2               {
 507   3                      
 508   3                  led_flash_switch = 1;
 509   3                      P3_0 = 0;
 510   3                      for(count = 0;count < 20;count++)//1s
 511   3                      {
 512   4                        TH0 = 0x3c;   //50ms
 513   4                        TL0 = 0xaf;
 514   4                        TR0 = 1;
 515   4                        while(TF0 == 0) {}
 516   4                        TR0 = 0;
 517   4                        TF0 = 0;
 518   4                      }
 519   3      
 520   3                      P3_0 = 1;
 521   3                      for(count = 0;count < 10;count++)//0.5s
 522   3                      {
 523   4                        TH0 = 0x3c;   //50ms
 524   4                        TL0 = 0xaf;
 525   4                        TR0 = 1;
 526   4                        while(TF0 == 0) {}
 527   4                        TR0 = 0;
 528   4                        TF0 = 0;
 529   4                      }
 530   3               }
 531   2               
 532   2               
 533   2                      alarm = 0;
 534   2                      wave_flag = 1;
 535   2                      recieve_flag = 0;
 536   2      
 537   2                      
 538   2      //      while(1) {}
 539   2              }
 540   1              
 541   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1065    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     31    ----
   IDATA SIZE       =   ----    ----
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 10  

   BIT SIZE         =      6    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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