欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STM32藍牙遙控 編碼器 舵機 小車程序 [打印本頁]

作者: 151125    時間: 2018-6-10 15:36
標題: STM32藍牙遙控 編碼器 舵機 小車程序
參加智能小車比賽,使用代碼如下 供大家參考!!!

單片機源程序如下:
  1. #include "sys.h"

  2. #define K 5.55f
  3. #define L 3.14f

  4. #define pwm_zhong 97.0
  5. #define pwm_max_L 25.0
  6. #define pwm_max_R 135.0


  7. int CCR1_Val;
  8. int CCR2_Val;

  9. int Angle=87;
  10. float Velocity,Path;

  11. int number=0;
  12. int Encoder_Left,Encoder_Right;             //左右編碼器的脈沖計數(shù)
  13. int Encoder_EXTI;
  14. double du;                                                                                                                                                                     

  15. //u8  TIM5CH1_CAPTURE_STA;                //輸入捕獲狀態(tài)                                                   
  16. //u32        TIM5CH1_CAPTURE_VAL;        //輸入捕獲值


  17. u8 Blue[4];

  18. int main(void)
  19. {

  20.        
  21.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級分組2
  22.         USART3_RX_STA=0;
  23.         delay_init(168);  //初始化延時函數(shù)
  24.         uart_init(115200);//初始化串口波特率為115200
  25.         usart3_init(9600);

  26.         EXTIX_Init();
  27.         EXTI0_IRQHandler();
  28.        
  29.         BEEP_Init();


  30.         oled_GPIO_init();
  31.         LCD_Init();

  32.         TIM3_PWM_Init(500-1,84-1);
  33.         TIM10_PWM_Init(500-1,84-1);
  34.         TIM11_PWM_Init(500-1,84-1);
  35.         TIM13_PWM_Init(500-1,84-1);
  36.                
  37.         TIM4_PWM_Init((2000-1),840-1);
  38.           Encoder_Left=0;
  39.           Encoder_Right=0;
  40.                
  41.    while(1) //實現(xiàn)比較值從0-300遞增,到300后從300-0遞減,循環(huán)
  42.         {
  43.       OLED_Dis_Float(0,0,Angle,1);
  44.                   OLED_Dis_Float(0,18,Path,1);
  45.         //        Printnum(18,18,23,2,2);
  46.         //        LCD_Print(36,36,0,1,1);
  47. //                LCD_Print(18, 18, "mdkdkfl",7, 40);

  48.           Velocity=K*L*(Encoder_Left+Encoder_Right)/390;

  49.                
  50.                 if(Blue[0] == 'a')
  51.                 {
  52.                         Angle=100*(Blue[1]-'0')+10*(Blue[2]-'0')+(Blue[3]-'0');
  53.                         PWM_Angle();
  54.                 }
  55.                 if(Blue[0]=='d')
  56.                 {

  57.                                
  58.                                                         TIM_SetCompare1(TIM3,200);
  59.                     TIM_SetCompare1(TIM10,500);                //   8 high  9 high
  60.                                 TIM_SetCompare1(TIM11,200);
  61.                                 TIM_SetCompare1(TIM13,500);
  62.         delay_ms(300);
  63.                           Angle=30;
  64.                                 PWM_Angle();
  65.                           delay_ms(1200);
  66.                           Angle=109;
  67.         PWM_Angle();
  68.                         TIM_SetCompare1(TIM3,200);
  69.                     TIM_SetCompare1(TIM10,500);                //   8 high  9 high
  70.                                 TIM_SetCompare1(TIM11,200);
  71.                                 TIM_SetCompare1(TIM13,500);
  72.         delay_ms(500);
  73.         TIM_SetCompare1(TIM3,0);
  74.         TIM_SetCompare1(TIM10,0);                //   8 high  9 high
  75.               TIM_SetCompare1(TIM11,0);
  76.               TIM_SetCompare1(TIM13,0);
  77.                           Blue[0] = 'z';  Encoder_Left=0;
  78.                           number=0;
  79.                
  80.                 }
  81.                
  82.                 if(Blue[0] == 'b')
  83.                 {
  84.                           Angle = 100*(Blue[1]-'0')+10*(Blue[2]-'0');
  85.                                 Path=(10*(Blue[3]-'0'))/12;
  86.                           Encoder_EXTI=Path/K/L*3900;
  87.                                
  88.       while(Encoder_Left<Encoder_EXTI)
  89.                                         {
  90.                                
  91.                                                         TIM_SetCompare1(TIM3,200);
  92.                     TIM_SetCompare1(TIM10,500);                //   8 high  9 high
  93.                                 TIM_SetCompare1(TIM11,200);
  94.                                 TIM_SetCompare1(TIM13,500);
  95. //                                                                                               
  96.                                         }
  97.                           PWM_Angle();
  98.                           delay_ms(500);
  99.                           Angle=87;
  100.         PWM_Angle();
  101.         TIM_SetCompare1(TIM3,0);
  102.         TIM_SetCompare1(TIM10,0);                //   8 high  9 high
  103.               TIM_SetCompare1(TIM11,0);
  104.               TIM_SetCompare1(TIM13,0);
  105.                           Blue[0] = 'z';  Encoder_Left=0;
  106.                           number = 0;
  107.                 }
  108.                 if(Blue[0] == 'p')
  109.                 {
  110.                        
  111.                         Path=(100*(Blue[1]-'0')+10*(Blue[2]-'0')+(Blue[3]-'0'))/12;
  112.                         Encoder_EXTI=Path/K/L*3900;

  113.       while(Encoder_Left<Encoder_EXTI)
  114.                                         {
  115.                                
  116. ……………………

  117. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
藍牙遙控 編碼器 舵機 小車程序..rar (1.87 MB, 下載次數(shù): 115)



作者: recent    時間: 2019-8-6 17:57
好資料
作者: 鵬博士PBs    時間: 2019-8-6 20:20
感覺8051就綽綽有余了啊




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1