找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 4800|回復(fù): 0
收起左側(cè)

基于stm32f103zet6的紅外對(duì)管循跡小車

[復(fù)制鏈接]
ID:591840 發(fā)表于 2019-8-1 21:22 | 顯示全部樓層 |閱讀模式
適合新手學(xué)習(xí)。

單片機(jī)源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "timer.h"
  5. #include "red.h"
  6. #include "stm32f10x_gpio.h"
  7. //********************************************
  8. //Stm32F103zet6 循跡小車小車程序
  9. //********************************************
  10. int main(void)
  11. {               
  12.         RED_GPIO_Init();
  13.         delay_init();                     //延時(shí)函數(shù)初始化          
  14.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  15.         uart_init(115200);         //串口初始化為115200
  16.         TIM3_PWM_Init(899,0);         //不分頻。PWM頻率=72000000/900=80Khz
  17.          
  18.          
  19.            while(1)
  20.         {         
  21.                 //左黑右白中間白  左轉(zhuǎn)
  22.           if(LRED==1 && MRED==0 && RRED==0 )
  23.                 {
  24.                         TIM_SetCompare1(TIM3,370); //改變PWM波,以此來(lái)改變改變小車的速度。
  25.                         TIM_SetCompare2(TIM3,190);
  26.      IN3 = 1 ;
  27.      IN4 = 0 ;
  28.                  IN1 = 1 ;
  29.            IN2 = 0 ;//左右輪正轉(zhuǎn)
  30.                 }
  31.                 //左白右黑 中間白 右轉(zhuǎn)
  32.                 if(LRED==0 && MRED==0 && RRED==1 )
  33.                 {
  34.                         TIM_SetCompare1(TIM3,190); //差速
  35.                         TIM_SetCompare2(TIM3,370);
  36.       IN3 = 1 ;
  37.                         IN4 = 0;
  38.                   IN1 = 1 ;
  39.                         IN2 = 0 ; //左右輪正轉(zhuǎn)
  40.                 }
  41.                  //兩邊白中間黑,直行!
  42.                 if(LRED==0 && MRED==1 && RRED==0 )
  43.                 {
  44.                         TIM_SetCompare1(TIM3,170);
  45.                         TIM_SetCompare2(TIM3,170);
  46.                         IN3 = 1 ;
  47.                         IN4 = 0 ; //左輪正轉(zhuǎn)
  48.       IN1 = 1 ;
  49.                         IN2 = 0 ;//右輪正轉(zhuǎn)
  50.                         delay_ms(5);
  51.                  }
  52.                 //兩邊黑 直行
  53.                 if( LRED==1 && RRED==1 )
  54.                         {
  55.                         TIM_SetCompare1(TIM3,180);
  56.                   TIM_SetCompare2(TIM3,180);
  57.       IN3 = 1 ;
  58.                         IN4 = 0 ;
  59.       IN1 = 1 ;
  60.                         IN2 = 0 ;//左右輪正轉(zhuǎn)
  61.                         delay_ms(5);
  62.                    }
  63.                 //左中黑, 直行
  64.                 if( LRED==1 && MRED==1 )
  65.                         {
  66.                         TIM_SetCompare1(TIM3,170);
  67.                   TIM_SetCompare2(TIM3,170);
  68.       IN3 = 1 ;
  69.                         IN4 = 0 ;
  70.       IN1 = 1 ;
  71.                   IN2 = 0 ;//左右輪正轉(zhuǎn)
  72.                         delay_ms(5);
  73.                    }
  74.                 //右中黑,直行
  75.                 if( RRED==1 && MRED==1 )
  76.                         {
  77.                         TIM_SetCompare1(TIM3,170);
  78.                   TIM_SetCompare2(TIM3,170);
  79.       IN3 = 1 ;
  80.                         IN4 = 0 ;
  81.       IN1 = 1 ;
  82.                         IN2 = 0 ;//左右輪正轉(zhuǎn)
  83.                                 delay_ms(5);
  84.                         }
  85. //  delay_ms(10);
  86.                 if( RRED==1 && MRED==1 && LRED==1 )
  87.                         {
  88.                         TIM_SetCompare1(TIM3,170);
  89.                   TIM_SetCompare2(TIM3,170);
  90.       IN3 = 1 ;
  91.                         IN4 = 0 ;
  92.       IN1 = 1 ;
  93.                         IN2 = 0 ;//左右輪正轉(zhuǎn)
  94.                                 delay_ms(5);
  95.                    }
  96.         }
  97.                  
  98. }
復(fù)制代碼

所有資料51hei提供下載:
尋跡小車程序.7z (186.21 KB, 下載次數(shù): 96)




評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表