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

📄 iman.lst

📁 keil c open
💻 LST
📖 第 1 页 / 共 3 页
字号:
 283          void    f_run_cruise(void)
 284          {
 285   1           uchar              x,yy,y=number,effction_time,mydata,ii;
 286   1           yy=y;
 287   1               _nop_();_nop_();
 288   1           os_tell_fair(y);
 289   1               _nop_();_nop_();_nop_();_nop_();
 290   1           x=os_read_lenth((uint)y);
 291   1               _nop_();_nop_();_nop_();_nop_();
 292   1           num=x;
 293   1               load_call_team_flag=0;
 294   1               if(y>20)
 295   1               {
 296   2                      call_team_flag=0;
 297   2                      return;
 298   2               }
 299   1              if(num>33)//不合法
 300   1              {
 301   2                      call_team_flag=0;
 302   2                      return;
C51 COMPILER V7.06   IMAN                                                                  01/06/2005 14:37:18 PAGE 6   

 303   2              }
 304   1              if(num<2)
 305   1              {
 306   2                      call_team_flag=0;//不构成巡航队列
 307   2                      return;
 308   2              }
 309   1              shot_bug_problem=0xff;
 310   1              f_clear_moto_display();
 311   1              TR2=0;
 312   1              while(call_team_flag)
 313   1              {
 314   2                       if(call_team_flag==0)
 315   2                              return;
 316   2              os_return_force();
 317   2                  y=number;
 318   2              x=os_read_lenth((uint)y);
 319   2                  num=x;
 320   2              yy=number;
 321   2                      f_addition_brush_time();
 322   2                  my_address=HEAD_ADDR+(yy-1)*TEAM_LENGTH;
 323   2                      while((num)&&call_team_flag)
 324   2                      {       TR2=0;
 325   3                  mydata=os_read_lenth(my_address);
 326   3                  sendtwo=0x97;
 327   3                  sendthree=mydata;   
 328   3                              iic_recieve_time=0;
 329   3                              f_addition_brush_time();
 330   3                      f_sendbytes1234();
 331   3                              feed_dog=~feed_dog;
 332   3                      preset_dot=mydata+1;
 333   3                              shot_bug_problem=0xff;
 334   3                              my_address=my_address+1;
 335   3                  mydata=os_read_lenth(my_address);
 336   3                              if(mydata==0)
 337   3                              {
 338   4                                      mydata=2;
 339   4                              }
 340   3                              effction_time=mydata+2;//增加运动时间
 341   3                  ii=0;
 342   3                  if(runing_salvo_flag==1)
 343   3                  {
 344   4                          if(call_team_flag)
 345   4                                      while((ii<effction_time))
 346   4                                      {
 347   5                                              if(os_second_call_team()==1)
 348   5                                      {
 349   6                                              TR2=1;  
 350   6                                      return;
 351   6                                      }
 352   5                              os_return_force();
 353   5                                              f_delay_counter1();
 354   5                              ii++;
 355   5                                              f_addition_brush_time();
 356   5                                              sendtwo=0;
 357   5                                              sendthree=0;
 358   5                                              f_sendbytes1234();
 359   5                                              
 360   5                                      }
 361   4                  }
 362   3                  else
 363   3                  {
 364   4                          while((ii<effction_time)&&call_team_flag)
C51 COMPILER V7.06   IMAN                                                                  01/06/2005 14:37:18 PAGE 7   

 365   4                                      {
 366   5                                              if(os_second_call_team()==1)
 367   5                                      {
 368   6                                              TR2=1;
 369   6                                              return;
 370   6                                      }
 371   5                                              os_return_force();
 372   5                                              time_brush=1;
 373   5                                              time_sec++;
 374   5                                              f_delay_counter();
 375   5                                              time_sec=31;
 376   5                                              ii++;
 377   5                                      f_addition_brush_time();
 378   5                                              sendtwo=0;
 379   5                                              sendthree=0;
 380   5                                              f_sendbytes1234();
 381   5                                      }
 382   4                  }
 383   3                              my_address=my_address+1;
 384   3      
 385   3                              num=num-1;
 386   3                      }
 387   2                      feed_dog=~feed_dog;
 388   2              }
 389   1              time_sec++;
 390   1      }
 391          /*
 392          ********************************************************
 393          *读取地址
 394          *前面10个为硬件地址
 395          *另外两个拨码开关为波特率的选择
 396          *
 397          **********************************************************
 398          */
 399          uchar    f_trans_tube(uchar      ch)
 400          {
 401   1              bit    iflag0,iflag1,iflag2,iflag3;
 402   1              ACC=ch;
 403   1              iflag0=ACC0;
 404   1              iflag1=ACC1;
 405   1              iflag2=ACC2;
 406   1              iflag3=ACC3;
 407   1              ACC0=ACC7;
 408   1              ACC1=ACC6;
 409   1              ACC2=ACC5;
 410   1              ACC3=ACC4;
 411   1              ACC4=iflag3;
 412   1              ACC5=iflag2;
 413   1              ACC6=iflag1;
 414   1              ACC7=iflag0;
 415   1              ch=ACC;
 416   1              return      ch;}
 417          /*
 418          *********************************************************************************************************
 419          *名称:
 420          *功能:
 421          * 输入参数:无
 422          *输出参数:无
 423          *处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
 424          *调用的函数:
 425          *创建人:       DaiWei
 426          *创建时间:2003-8-16 10:51
C51 COMPILER V7.06   IMAN                                                                  01/06/2005 14:37:18 PAGE 8   

 427          *修改时间:
 428          *********************************************************************************************************
 429          */
 430          
 431          void    f_brush_addr()
 432          {
 433   1              uchar   data    i=0;
 434   1              uchar   data    j=0;
 435   1              j=P1;
 436   1              j=f_trans_tube(j);
 437   1              j=~j;
 438   1              j=j&0xfc;
 439   1              i=P0;
 440   1              i=f_trans_tube(i);
 441   1              i=~i;
 442   1              i=i&0x03;
 443   1              hard_address=i+j;
 444   1              i=P0;
 445   1              i=~i;
 446   1              j=i&0x03;
 447   1              hard_address=hard_address+j*256;
 448   1              
 449   1              i=i>>2;
 450   1              selection=0;
 451   1              selection=i&0x0f;
 452   1              
 453   1      }
 454          void f_brush_addr_again()
 455          {
 456   1              if(hard_address_brush_flag>240)
 457   1              {
 458   2                      EA=0;
 459   2                      f_brush_addr();
 460   2                      EA=1;
 461   2                      hard_address_brush_flag=0;
 462   2              }
 463   1              
 464   1      }
 465          
 466          
 467          
 468          /*
 469          *********************************************************************************************************
 470          *名称:
 471          *功能:
 472          * 输入参数:无
 473          *输出参数:无
 474          *处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
 475          *调用的函数:
 476          *创建人:       DaiWei
 477          *创建时间:2003-8-16 10:51
 478          *修改时间:
 479          *********************************************************************************************************
 480          */
 481          
 482          void    clear_homeflag()
 483          {
 484   1              
 485   1              return;
 486   1      
 487   1      }
 488          uchar exchang(uchar dat)
C51 COMPILER V7.06   IMAN                                                                  01/06/2005 14:37:18 PAGE 9   

 489          {
 490   1              bit temp;
 491   1              ACC=dat&0x0f;
 492   1              temp=ACC0;
 493   1              ACC0=ACC3;
 494   1              ACC3=temp;
 495   1              temp=ACC1;
 496   1              ACC1=ACC2;
 497   1              ACC2=temp;
 498   1              dat=ACC&0x0f;
 499   1              return dat;
 500   1      }
 501          uchar read_sc2_protocl()
 502          {
 503   1          uchar   i=0;
 504   1          i=P1;
 505   1              i=~i;
 506   1              i&=0x0f;
 507   1              i=exchang(i);
 508   1          return i;
 509   1      }
 510          uchar   read_sc1_address()
 511          {
 512   1          uchar   i;
 513   1              bit     flag0;
 514   1          i=P0;
 515   1              ACC=i;
 516   1              flag0=ACC0;
 517   1              ACC0=ACC1;
 518   1              ACC1=flag0;
 519   1              i=ACC;
 520   1              i=~i;
 521   1          return i;
 522   1      }
 523          void    f_read_addr(void)
 524          {
 525   1              selection=read_sc2_protocl();
 526   1              hard_address=read_sc1_address();
 527   1      }
 528          uchar   read_sc2_boud()
 529          {
 530   1          uchar   i=0;
 531   1         i=P1;
 532   1         i=~i;
 533   1         i=i>>4;
 534   1         i=i&0x03;
 535   1          return i;
 536   1      }
 537          
 538          void    f_baud_set()
 539          {
 540   1                      borad_flag=read_sc2_boud();
 541   1                      switch(borad_flag)
 542   1                      {
 543   2                              case    0:      TH1=TL1=0Xfa;PCON=0;break;//9600bps
 544   2                              case    1:      TH1=TL1=0XF4;PCON=0;break;//4800bps
 545   2                              case    2:      TH1=TL1=0Xe8;PCON=0;break;//2400bps
 546   2                              case    3:      TH1=TL1=0XFD;PCON=0;break;//19200bps
 547   2                              default:        TH1=TL1=0XFa;PCON=0;break;//9600bps             
 548   2                      }
 549   1      }
 550          
C51 COMPILER V7.06   IMAN                                                                  01/06/2005 14:37:18 PAGE 10  

 551          void    f_read_borad(void)
 552          {
 553   1              f_baud_set();
 554   1              switch(selection)
 555   1              {
 556   2                      case    0:  
 557   2                      case    14:             S0CON=0xf0;     //红苹果电子公司的协议
 558   2                                              break;
 559   2                      default:           S0CON=0X50;                  
 560   2                                              break;
 561   2              }
 562   1      }
 563          void    f_read_addr_board(void)
 564          {
 565   1              f_read_addr();
 566   1              f_read_borad();
 567   1      }
 568          void    f_delay_time(void)
 569          {
 570   1          uchar data  k,      i,j;
 571   1          for(k=0;k<5;k++)
 572   1          for(i=0;i<200;i++)

⌨️ 快捷键说明

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