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

📄 wifi+̤

📁 WIFI无线小车
💻
📖 第 1 页 / 共 3 页
字号:
 550          
 551          /************setServo*******************/
C51 COMPILER V9.01   WTCAR                                                                 07/02/2012 16:12:39 PAGE 10  

 552          void setServo()
 553          {
 554   1              Sector_Erase(0x00);
 555   1              Byte_Program(0x00,PWM_G1) ;
 556   1              Byte_Program(0x01,PWM_G2) ;
 557   1      }
 558          
 559          
 560          main(void)
 561          {
 562   1      
 563   1              LED1=1;   //高电平LED不亮
 564   1              LED2=1;   //
 565   1      
 566   1              P4SW=0xff;               //定义ALE PSEN 。。三个引脚为P4.4 P4.5 P4.6 用于控制1602显示屏
 567   1      
 568   1              P1M0=0xC0;
 569   1              P1M1=0x00;
 570   1      
 571   1              init_T0();              //初始化定时器。
 572   1              init_T1();
 573   1      
 574   1              CLK_DIV=0x01;   //系统分频工作,速度太快,1602控制不了。
 575   1              LCM2402_Init(); // 初如化1602显示屏
 576   1      
 577   1              initUart();
 578   1              initServo();
 579   1      
 580   1              init_system();
 581   1      
 582   1              EA=1;
 583   1      
 584   1              beed_ctrl(800,3);
 585   1      
 586   1              print(0x00,"WT"); //在第一行第一位处从左向右打印"WonderTechnology" 字符串
 587   1              print(0x40,"RX:");
 588   1              print(0x0B,"S:");
 589   1              
 590   1              print(0x4f,"0");
 591   1      
 592   1              while(1)
 593   1              {
 594   2                      if(KEY1==0)                       //按下第一按键发送“0x55“
 595   2                      {
 596   3                              while(!KEY1);
 597   3                              SCI_TX(0x55);
 598   3                              ser_up();
 599   3                              PWM_G1++;
 600   3      
 601   3                              
 602   3                      }
 603   2                      if(KEY2==0)                       //按下第二按键发送“0xf0“
 604   2                      {
 605   3                              while(!KEY2);
 606   3                              SCI_TX(0xf0);
 607   3                              ser_down();
 608   3                              PWM_G1--;
 609   3                      }
 610   2      
 611   2      
 612   2      
 613   2                 display_1602_10(0x05,PWM_G1);
C51 COMPILER V9.01   WTCAR                                                                 07/02/2012 16:12:39 PAGE 11  

 614   2      
 615   2                 display_1602_10(0x0D,speed_A);
 616   2                                                      
 617   2                 display_1602(0x43,RBuff_date[0]);
 618   2                 display_1602(0x46,RBuff_date[1]);
 619   2                 display_1602(0x49,RBuff_date[2]);
 620   2      
 621   2                 display_1602(0x4c,sen_inp_IROA());
 622   2      
 623   2      
 624   2                      if(pattern==1)
 625   2                      {
 626   3                      switch(R_date[0])
 627   3                      {
 628   4                              case 0x44:
 629   4                              switch(R_date[1])
 630   4                              {                       
 631   5                                      case 0x4c:
 632   5                                              switch(R_date[2])
 633   5                                              {                                               
 634   6                                                      case 0x31: motor(0,speed_A); break;
 635   6                                                      case 0x32: motor(-speed_A,speed_A); break;
 636   6                                                      case 0x33: motor(0,-speed_A); break;
 637   6                                                      default:
 638   6                                                      break;
 639   6                                              }
 640   5                                              break;
 641   5      
 642   5                                      case 0x44:
 643   5                                              switch(R_date[2])
 644   5                                              {                                               
 645   6                                                      case 0x31: motor(speed_A,speed_A); break;
 646   6                                                      case 0x32: motor(0,0); break;
 647   6                                                      case 0x33: motor(-speed_A,-speed_A); break;
 648   6                                                      default:
 649   6                                                      break;
 650   6                                              }                               
 651   5                                              break;
 652   5      
 653   5                                      case 0x52:
 654   5                                              switch(R_date[2])
 655   5                                              {                                               
 656   6                                                      case 0x31: motor(speed_A,0); break;
 657   6                                                      case 0x32: motor(speed_A,-speed_A); break;
 658   6                                                      case 0x33: motor(-speed_A,0); break;
 659   6                                                      default:
 660   6                                                      break;
 661   6                                              }                               
 662   5                                              break;
 663   5      
 664   5                              default:
 665   5                                      break;
 666   5                              }
 667   4                              break;
 668   4      
 669   4                              case 0x46:
 670   4                                      switch(R_date[1])
 671   4                                      {
 672   5                                              case 0x4c:
 673   5                                                      switch(R_date[2])
 674   5                                                      {
 675   6                                                              case 0x31:LED_F_on(); Light_cam=0;        break;                //控制前车灯
C51 COMPILER V9.01   WTCAR                                                                 07/02/2012 16:12:39 PAGE 12  

 676   6                                                              case 0x32:LED_F_off();Light_cam=1;    break;
 677   6                                                              case 0x33:Light_B=0;  break;                                            //控制车前灯
 678   6                                                              case 0x34:Light_B=1;  break;
 679   6                                                              default:
 680   6                                                              break;
 681   6                                                      }
 682   5                                                      break;
 683   5      
 684   5                                              case 0x42:         //控制蜂鸣器
 685   5                                                      switch(R_date[2])
 686   5                                                      {
 687   6                                                              case 0x31: beed=0; break;
 688   6                                                              case 0x30: beed=1; break;
 689   6                                                              default:
 690   6                                                                      break;
 691   6                                                      }
 692   5                                                      break;
 693   5      
 694   5                                              case 0x53:              //控制激光
 695   5                                                      switch(R_date[2])
 696   5                                                      {
 697   6                                                              case 0x31: Laser_on(); break;
 698   6                                                              case 0x30: Laser_off(); break;
 699   6                                                              default:
 700   6                                                                      break;
 701   6                                                      }
 702   5                                                      break;
 703   5      
 704   5                                              case 0x50:              //控制水泵
 705   5                                                      switch(R_date[2])
 706   5                                                      {
 707   6                                                              case 0x31: break;
 708   6                                                              case 0x30: break;
 709   6                                                              default:
 710   6                                                                      break;
 711   6                                                      }
 712   5                                                      break;
 713   5      
 714   5                                              default:
 715   5                                                      break;
 716   5                                      }       
 717   4                                      break;
 718   4                                               
 719   4                              
 720   4      
 721   4                              default:
 722   4                                      break;
 723   4                      }
 724   3                      }
 725   2                      else if(pattern==2)
 726   2                      {
 727   3                      //红外避障传感器
 728   3                              switch( sen_inp_IROA() )
 729   3                              {
 730   4                                      case 0x01:
 731   4                                      case 0x03:motor(-100,100);
 732   4                                                      beed_ctrl(100,2); 
 733   4                                                      delay(20);
 734   4                                                      break;
 735   4      
 736   4                              //      case 0x02:motor(-100,-100);delay(20); motor(100,0); break;
 737   4      
C51 COMPILER V9.01   WTCAR                                                                 07/02/2012 16:12:39 PAGE 13  

 738   4                                      case 0x04:
 739   4                                      case 0x06:motor(100,-100);
 740   4                                                      beed_ctrl(100,2);
 741   4                                                      delay(20);
 742   4                                                      break;
 743   4      
 744   4                                      case 0x07:motor(-100,-100);
 745   4                                                      beed_ctrl(100,3);
 746   4                                                      delay(100);
 747   4                                                      motor(-100,100); 
 748   4                                                      delay(150); 
 749   4                                                      motor(100,100);
 750   4                                                      break;
 751   4                                      default:
 752   4                                              motor(100,100);
 753   4                                              break;
 754   4                              }
 755   3                      }
 756   2                      else
 757   2                      {
 758   3                      ;
 759   3                      }
 760   2      
 761   2                      if(pattern!=0)
 762   2                      {
 763   3                      switch(R_date[0])
 764   3                      {
 765   4                              case 0x53:
 766   4                                      switch(R_date[1])
 767   4                                      {
 768   5                                              case 0x53:
 769   5                                                      switch(R_date[2])
 770   5                                                      {
 771   6                                                              case 0x31: cam_up();    R_date[2]=0; break;
 772   6                                                              case 0x32: cam_down();  R_date[2]=0; break;
 773   6                                                              case 0x33: cam_left();  R_date[2]=0; break;
 774   6                                                              case 0x34: cam_right(); R_date[2]=0; break;
 775   6                                                              //增加四个边动方向
 776   6                                                              case 0x35: cam_up();    cam_left();             R_date[2]=0; break;      
 777   6                                                              case 0x36: cam_up();    cam_right();    R_date[2]=0; break;
 778   6                                                              case 0x37: cam_down();  cam_left();             R_date[2]=0; break;
 779   6                                                              case 0x38: cam_down();  cam_right();    R_date[2]=0; break;
 780   6                                                              default:
 781   6                                                                      break;
 782   6                                                      }
 783   5                                                      break;
 784   5                                              case 0x4d:
 785   5                                                      if(R_date[2]==0x30)
 786   5                                                      {
 787   6                                                              cam_mid();
 788   6                                                              R_date[2]=0;
 789   6                                                      }
 790   5                                                      if(R_date[2]==0x31)
 791   5                                                      {
 792   6                                                              setServo();
 793   6                                                              beed_ctrl(500,4);
 794   6                                                              R_date[2]=0;
 795   6                                                      }
 796   5                                                      break;
 797   5      
 798   5                                              default:
 799   5                                                      
C51 COMPILER V9.01   WTCAR                                                                 07/02/2012 16:12:39 PAGE 14  

 800   5                                                      break;
 801   5                                      }
 802   4                                      break;
 803   4                               default:
 804   4                                      break;
 805   4                      }
 806   3                      }
 807   2      
 808   2              }
 809   1      }
 810          
 811          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2775    ----
   CONSTANT SIZE    =    114    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     54      26
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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