|
簡(jiǎn)單的巡線(xiàn)小車(chē) stm32源程序,可實(shí)現(xiàn)直線(xiàn) 弧彎 鈍角彎 直角彎等功能
新手學(xué)習(xí)
單片機(jī)源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "adc.h"
- #include "timer.h"
- #include "car.h"
-
- /************************************************
- ADC A0 A1 A2 A3
- PWM TIM3 CH2A7 TIM3 CH1A6
- F11高 F13低 F12高 F14低
- 中間灰度巡線(xiàn) 差速
- 旁邊轉(zhuǎn)彎 正反轉(zhuǎn)
- ************************************************/
- int main(void)
- {
- GPIO_Config();
- delay_init(); //延時(shí)函數(shù)初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)分組為組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
- uart_init(115200); //串口初始化為115200
- LED_Init(); //LED端口初始化
- Adc_Init(); //ADC初始化
- DMA_Config();
- TIM3_PWM_Init(99,71);//頻率 10 KHZ
-
- while(1)
- {
- // printf ("%4d %4d %4d %4d\r\n",AD_Value[0],AD_Value[1],AD_Value[2],AD_Value[3]);
- // delay_ms(100);
- LED0=0; //灰度測(cè)試
- ADC_CHANGE();
- // if(AD_Value[0]>2900)left1=1;//檢測(cè)到白線(xiàn)>3000 =1 檢測(cè)到綠線(xiàn)<3000=0
- // else left1=0;
- // if(AD_Value[1]>2900)mid1=1;
- // else mid1=0;
- // if(AD_Value[2]>2900)mid2=1;
- // else mid2=0;
- // if(AD_Value[3]>2900)right1=1;
- // else right1=0;
- // printf ("%4d %4d %4d %4d\r\n",left1,mid1,mid2,right1);
- Go_STRAIGHT(80,80);
- RUN();
- }
-
- }
-
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
巡線(xiàn)小車(chē).rar
(329.89 KB, 下載次數(shù): 478)
2017-8-2 00:28 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|