標(biāo)題: 51藍(lán)牙小車(chē)源碼 [打印本頁(yè)]

作者: a986271997    時(shí)間: 2017-8-6 10:35
標(biāo)題: 51藍(lán)牙小車(chē)源碼
#include<reg52.h>
#define uchar unsigned char;
#define        uint unsigned int;
uchar biaozhi=0,shujucc=0,ting=0,shuju;
sbit     in1=P1^0;
sbit         in2=P1^1;
sbit         in3=P1^2;
sbit         in4=P1^3;
sbit     in5=P1^4;
sbit     in6=P1^5;
sbit     in7=P1^6;
sbit     in8=P1^7;
delay(unsigned char n)//11.0592m下延時(shí) n ms。
{
    unsigned char i,j;
    for(i=n;i>0;i--)
        {
         for(j=110;j>0;j--)
                 {
                 ;
                 }

        }
}
void init()//初始化子程序
{
        TMOD=0x20;//定時(shí)器1設(shè)定為方式2,8位數(shù)據(jù)自動(dòng)從裝
        TH1=0xfd;//對(duì)定時(shí)器賦值,高8位與低8位相同
        TL1=0xfd;//波特率定為9600
        TR1=1;//打開(kāi)定時(shí)器1
        SM0=0;//設(shè)置串口工作方式1
        SM1=1;
        REN=1;//允許串口接收
        EA=1;//開(kāi)總中斷
        ES=1;//打開(kāi)串口中斷
}
void qianjin()//前進(jìn)函數(shù)
{
    in1=0;//左后輪前進(jìn)
        in2=1;
        in3=0;//右后輪前進(jìn)
        in4=1;
        in5=1;//右前輪前進(jìn)
        in6=0;
        in7=1;//左前輪前進(jìn)
        in8=0;
        delay(1);        

}
void houtui()//后退函數(shù)
{
    in1=1;//左后輪后退
        in2=0;
        in3=1;//右后輪后退                       
        in4=0;
        in5=0;//右前輪后退
        in6=1;
        in7=0;//左前輪后退
        in8=1;
    delay(1);
}
void tingzhi()
{
    in1=0;//左后輪停止
        in2=0;
        in3=0;//右后輪停止                       
        in4=0;
        in5=0;//右前輪停止
        in6=0;
        in7=0;//左前輪停止
        in8=0;
}
void youzhuan()
{
        in1=1;//左后輪后退
        in2=0;
        in3=0;//右后輪前進(jìn)
        in4=1;
        in5=0;//后退
        in6=1;
        in7=1;//前進(jìn)
        in8=0;
    delay(1);
}
void zuozhuan()
{
        in1=0;//左后輪前進(jìn)
        in2=1;
        in3=1;//右后輪后退
        in4=0;
        in5=1;//前進(jìn)
        in6=0;
        in7=0;//后退
        in8=1;
        delay(1);
}
void jiasu()
{

}
       
void main()
{
    init();
       
       
        while(1)
        {
            
                    if(shuju=='A')//如果數(shù)據(jù)為0x01,執(zhí)行前進(jìn)函數(shù)
                        {
                            qianjin();
                                delay(5);
                                tingzhi();
                        }
                        if(shuju=='B')//如果數(shù)據(jù)為0x02,執(zhí)行后退函數(shù)
                        {
                            houtui();
                                delay(5);
                                tingzhi();
                       
                        }
                        if(shuju=='C')//如果數(shù)據(jù)為0x03,執(zhí)行向左轉(zhuǎn)
                        {
                            zuozhuan();
                                delay(5);
                                tingzhi();
                       
                        }
                        if(shuju=='D')//如果數(shù)據(jù)為0x04,執(zhí)行向右轉(zhuǎn)
                        {
                            youzhuan();
                                delay(5);
                                tingzhi();
                       
                        }
                        if(shuju=='F')//如果數(shù)據(jù)為0x05,執(zhí)行停止
                        {
                            tingzhi();
                                delay(5);
                                tingzhi();
                       
                        }
                  
                 /*
                switch(shuju[2])
                {
                case 'A':  qianjin();break;
                case 'B':  houtui();break;
                case 'C':  zuozhuan();break;
                case 'D':  youzhuan();break;
                case 'F':  tingzhi();break;
                }  */
               
        }



}
void chuankou()        interrupt 4//串口中斷服務(wù)
{
    RI=0;
        ting=0;             //重新打開(kāi)串口中斷
    shuju=SBUF; //提取串口數(shù)據(jù)
        /*if(RI){                        
                RI=0;
    shuju[shujucc]=SBUF;
                shujucc++;
                if(shujucc==3) shujucc=0;
                }*/

}


作者: 是珍惜啊    時(shí)間: 2019-2-25 10:57
可以加個(gè)PWM調(diào)速
作者: 瀟瀟來(lái)了    時(shí)間: 2021-7-21 17:18
請(qǐng)問(wèn)這其中的ABCD是定義的,是手機(jī)app上按鍵的名字嗎?
作者: 瀟瀟來(lái)了    時(shí)間: 2021-7-21 17:19
是珍惜啊 發(fā)表于 2019-2-25 10:57
可以加個(gè)PWM調(diào)速

是應(yīng)用定時(shí)器來(lái)pwm調(diào)速嗎




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