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

標題: 51單片機智能車紅外循跡源程序 [打印本頁]

作者: 那一年的回憶    時間: 2018-12-6 19:38
標題: 51單片機智能車紅外循跡源程序
#include <reg52.h>

/***********循跡聲明*************/
sbit  led_1 = P0^6;
sbit  led_2 = P0^5;
sbit  led_3 = P0^4;
sbit  led_4 = P0^3;
sbit  led_5 = P0^2;
sbit  led_6 = P0^1;
sbit  led_7 = P0^0;

/**************電機聲明************/
sbit  left_frontmotor_in1 = P1^0;
sbit  left_frontmotor_in2 = P1^1;
sbit  left_backmotor_in1 = P1^2;
sbit  left_backmotor_in2 = P1^3;

sbit  right_frontmotor_in1 = P1^6;
sbit  right_frontmotor_in2 = P1^7;
sbit  right_backmotor_in1  = P1^4;
sbit  right_backmotor_in2  = P1^5;

float val;

void Turn_Left(int x);       //左輪直走
void Turn_Right(int x);      //右輪直走
void Straight(int x);
void Xunji(void);

void delay_ms(int n)
{
        unsigned int i,y;
       
        for(i=n;i>0;i--)
        for(y=114;y>0;y--);
}

int main(void)
{
        while(1)
        {
                 Xunji();
                if(val==0) Straight(10);
                else if(val>0){Turn_Right(30);Turn_Left(30-val*10);}
                        else if(val<0){Turn_Right(30+val*10);Turn_Left(30);}
        }
}

void Turn_Left(int x)
{
        left_frontmotor_in1 = 1;
        left_backmotor_in1 = 1;
        delay_ms(x);
        left_frontmotor_in1 = 0;
        left_backmotor_in1 = 0;
    left_frontmotor_in2 = 0;
    left_backmotor_in2 = 0;
        right_frontmotor_in1 = 0;
    right_frontmotor_in2 = 0;
    right_backmotor_in1 = 0;
    right_backmotor_in2 = 0;
        delay_ms(30-x);
}

void Turn_Right(int x)
{
        right_frontmotor_in1 = 1;
    right_backmotor_in1 = 1;
        delay_ms(x);
        right_frontmotor_in1 = 0;
    right_backmotor_in1 = 0;
        left_frontmotor_in1 = 0;
    left_frontmotor_in2 = 0;
    left_backmotor_in1 = 0;
    left_backmotor_in2 = 0;
        right_frontmotor_in2 = 0;
    right_backmotor_in2 = 0;
        delay_ms(30-x);
}

void Straight(int x)
{
        left_frontmotor_in1 = 1;
        left_backmotor_in1 = 1;
        right_frontmotor_in1 = 1;
        right_backmotor_in1 = 1;
        delay_ms(x);
        left_frontmotor_in1 = 0;
    left_frontmotor_in2 = 0;
        left_backmotor_in1 = 0;
    left_backmotor_in2 = 0;
        right_frontmotor_in1 = 0;
    right_frontmotor_in2 = 0;
        right_backmotor_in1 = 0;
    right_backmotor_in2 = 0;
        delay_ms(30-x);
}

void Xunji(void)
{       
        int p;
       
        p=P0&0x7f;
       
        switch(p)
        {
                case 0X7f:val=0;break;                //111 1111
                case 0X77:val=0;break;                //111 0111
                case 0X6F:val=2.3;break;                //110 1111
                case 0X7B:val=-2.3;break;                //111 1011
                case 0X5F:val=2.5;break;                //101 1111
                case 0X7D:val=-2.7;break;                //111 1101
                case 0X3F:val=3;break;                //011 1111
                case 0X7E:val=-3;break;                //111 1110
        }
       
//        if(led_1==1&&led_2==1&&led_3==1&&led_4==0&&led_5==1&&led_6==1&&led_7==1) val=0;
//        if(led_1==1&&led_2==1&&led_3==0&&led_4==1&&led_5==1&&led_6==1&&led_7==1) val=1;
//        if(led_1==1&&led_2==1&&led_3==1&&led_4==1&&led_5==0&&led_6==1&&led_7==1) val=-1;
//        if(led_1==1&&led_2==0&&led_3==1&&led_4==1&&led_5==1&&led_6==1&&led_7==1) val=2;
//        if(led_1==1&&led_2==1&&led_3==1&&led_4==1&&led_5==1&&led_6==0&&led_7==1) val=-2;
//        if(led_1==0&&led_2==1&&led_3==1&&led_4==1&&led_5==1&&led_6==1&&led_7==1) val=3;
//        if(led_1==1&&led_2==1&&led_3==1&&led_4==1&&led_5==1&&led_6==1&&led_7==0) val=-3;
}







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