基于MSP430f5529的红外循迹小车
?
#include "msp430f5529.h"
?? void qj()??? //前進(jìn)
?? {
???? P3OUT &=~ BIT0;
???? P3OUT |=BIT1;
???? P2OUT &=~ BIT0;
???? P2OUT |=BIT2;???
?? }
??? void tz()?? //停止
?? {
???? P3OUT &=~ BIT0;
???? P3OUT &=~ BIT1;
???? P2OUT &=~ BIT0;
???? P2OUT &=~ BIT2;???
?? }
?? void zz()??? //左轉(zhuǎn)
?? {
???? P3OUT |=BIT0;
???? P3OUT &=~ BIT1;
???? P2OUT &=~ BIT0;
???? P2OUT |= BIT2;?
?? }
??? void yz()?? //右轉(zhuǎn)
?? {
???? P3OUT &=~ BIT0;
???? P3OUT |= BIT1;
???? P2OUT |= BIT0;
???? P2OUT &=~ BIT2;?
?? }
void main()
{
??? WDTCTL = WDTPW | WDTHOLD; //關(guān)閉看門(mén)狗
??? P4DIR |=BIT1;??? //輸出給ENA(左輪)
??? P4DIR |=BIT2;??? //輸出給ENB(右輪)
??? P3DIR |=BIT0;??? //輸出給IN1(左輪)
??? P3DIR |=BIT1;??? //輸出給IN2
??? P2DIR |=BIT0;??? //輸出給IN3(右輪)
??? P2DIR |=BIT2;??? //輸出給IN4
??? P6DIR |=BIT0;??? //輸出給蜂鳴器
??? P1DIR &=~ BIT2;? //左紅外輸入
??? P4DIR &=~ BIT3;? //右紅外輸入
??? P1REN |= BIT2;?? //為輸入設(shè)置上拉電阻
??? P4REN |= BIT3;
??? P4OUT &=~ BIT1;? //將輸入輸出口置零
?? ?P4OUT &=~ BIT2;
??? P3OUT &=~ BIT0;
??? P3OUT &=~ BIT1;
??? P2OUT &=~ BIT0;
??? P2OUT &=~ BIT2;
??? P6OUT &=~ BIT0;
??? P1OUT &=~ BIT2;
??? P4OUT &=~ BIT3;
??? while(1)
??? {
?????? if(P1IN&BIT2)?? //P1.2為1時(shí)執(zhí)行
?????? {
???????? if(P4IN&BIT3) //P4.3為1時(shí)執(zhí)行
???????? {
?????????? tz();????? //調(diào)用“停止”指令
???????? }
???????? else???????? //P4.3為0時(shí)執(zhí)行
???????? {
?????????? zz();
???????? }
?????? }
?????? else????????? //P1.2為0時(shí)執(zhí)行
?????? {
???????? if(P4IN&BIT3) //P4.3為1時(shí)執(zhí)行
?????? ??{
?????????? yz();
???????? }
???????? else???????? //P4.3為0時(shí)執(zhí)行
???????? {
?????????? qj();
???????? }???????
?????? }?
??? }
}
總結(jié)
以上是生活随笔為你收集整理的基于MSP430f5529的红外循迹小车的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1、Java开发环境搭建(eclipse
- 下一篇: 杨强教授新番!破解机器学习数据孤岛和数据