|
這是我用MSP430F5529lp寫的避障小車程序,用了兩個紅外避障,跑起來感覺還行,里面用到了庫函數,5529的庫函數也分享出來了。
單片機源程序如下:
#include <msp430.h>
#include<msp430f5529.h>
#include <USER/driverlib.h>
#include "USER/gpio.h"
#define CPU_F ((double)8000000) //外部高頻晶振8MHZ
#define delay_us(x) __delay_cycles((long)x)
#define delay_ms(x) __delay_cycles((long)(x*1000.0))
/**
* main.c
*/
void stop(void)//停車
{
TA0CCR1=800;
TA0CCR2=800;
TA0CCR3=800;
TA0CCR4=800;
}
void go(void)//前進
{
TA0CCR1=800;
TA0CCR2=600;
TA0CCR3=800;
TA0CCR4=600;
}
void tui(void)//后退
{
TA0CCR1=600;
TA0CCR2=800;
TA0CCR3=600;
TA0CCR4=800;
}
void zuo(void)//左轉
{
TA0CCR1=800;
TA0CCR2=700;
TA0CCR3=800;
TA0CCR4=600;
}
void you(void)//右轉
{
TA0CCR1=800;
TA0CCR2=600;
TA0CCR3=800;
TA0CCR4=700;
}
void zuo1(void)//大幅度左轉
{
TA0CCR1=800;
TA0CCR2=800;
TA0CCR3=800;
TA0CCR4=550;
}
void you1(void)//大幅度右轉
{
TA0CCR1=800;
TA0CCR2=550;
TA0CCR3=800;
TA0CCR4=800;
}
void bizhang(void)
{
GPIO_getInputPinValue (GPIO_PORT_P4, GPIO_PIN1);
GPIO_getInputPinValue (GPIO_PORT_P4, GPIO_PIN2);
if(GPIO_INPUT_PIN_HIGH==GPIO_getInputPinValue(GPIO_PORT_P4, GPIO_PIN1)&&GPIO_INPUT_PIN_HIGH==GPIO_getInputPinValue(GPIO_PORT_P4, GPIO_PIN2))//都沒有檢測到障礙
{
go();
}
else if(GPIO_INPUT_PIN_LOW==GPIO_getInputPinValue (GPIO_PORT_P4, GPIO_PIN1) && GPIO_INPUT_PIN_LOW==GPIO_getInputPinValue (GPIO_PORT_P4, GPIO_PIN2))//同時檢測到障礙
{
stop();
delay_ms(1000);
tui();
delay_ms(2000);
you();
delay_ms(1200);
go();
}
else if(GPIO_INPUT_PIN_LOW==GPIO_getInputPinValue(GPIO_PORT_P4, GPIO_PIN1))//P4.1檢測到障礙(左檢測到障礙)
{
zuo1();
delay_ms(800);
go();
}
else if(GPIO_INPUT_PIN_LOW==GPIO_getInputPinValue(GPIO_PORT_P4, GPIO_PIN2))//P4.2檢測到障礙(右檢測到障礙)
{
you1();
delay_ms(800);
go();
}
else stop();
}
int main(void)
{
bizhang();
WDTCTL = WDTPW + WDTHOLD; // 關閉看門狗
P1SEL|=(BIT2+BIT3+BIT4+BIT5);
P1DIR|=(BIT2+BIT3+BIT4+BIT5);
P1OUT&=~(BIT2+BIT3+BIT4+BIT5);
GPIO_setAsInputPin (GPIO_PORT_P4, GPIO_PIN1);
GPIO_setAsInputPin (GPIO_PORT_P4, GPIO_PIN2);
TA0CCR0=1000;
TA0CCTL1=OUTMOD_7;
TA0CCTL2=OUTMOD_7;
TA0CCTL3=OUTMOD_7;
TA0CCTL4=OUTMOD_7;
TA0CTL=TASSEL_2+MC_1;
while(1)
{
bizhang();
}
}
|
-
-
-
-
避障.rar
2021-8-5 14:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
723.26 KB, 下載次數: 34, 下載積分: 黑幣 -5
評分
-
查看全部評分
|