久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1950|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求助-藍(lán)牙遙控小車時(shí)手機(jī)app一直收到亂碼且沒(méi)有實(shí)現(xiàn)功能

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:259210 發(fā)表于 2019-12-16 15:37 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
藍(lán)牙模塊通過(guò)usb-ttl可以和電腦正常通信,波特率設(shè)置9600,晶振為11.0562。
藍(lán)牙模塊的RXD接51單片機(jī)的TXD,藍(lán)牙模塊的TXD接51單片機(jī)的RXD。

幫忙看看程序有沒(méi)有問(wèn)題。
程序如下:
#include<AT89X52.H>

#define Left_moto_Stop    {P1_1=0,P1_2=0;}    //左電機(jī)停轉(zhuǎn)
#define Left_moto_go      {P1_1=1,P1_2=0;}    //左電機(jī)正轉(zhuǎn)
#define Left_moto_back    {P1_1=0,P1_2=1;}           //左電機(jī)反轉(zhuǎn)
#define Right_moto_Stop   {P1_4=0,P1_5=0;}          //右電機(jī)停轉(zhuǎn)                     
#define Right_moto_go     {P1_4=1,P1_5=0;}          //右電機(jī)正轉(zhuǎn)
#define Right_moto_back   {P1_4=0,P1_5=1;}          //右電機(jī)反轉(zhuǎn)

#define Left_moto_pwm            P1_0          //PWM信號(hào)端
#define Right_moto_pwm          P1_3          //PWM信號(hào)端

unsigned char bluetoothdata;

//pwm調(diào)速
unsigned char pwm_val_left  =0;              //變量定義
unsigned char push_val_left =0;              //左電機(jī)占空比N/20
unsigned char pwm_val_right =0;
unsigned char push_val_right=0;              //右電機(jī)占空比N/20
bit Right_moto_stop=1;
bit Left_moto_stop =1;
unsigned  int  time=0;

//延時(shí)函數(shù)
void delay(unsigned int k)
{   
     unsigned int x,y;
         for(x=0;x<k;x++)
           for(y=0;y<2000;y++);
}

//小車前進(jìn)
void  front_run(void)
{
         push_val_left=12;
         push_val_right=12;
         Left_moto_go;   
         Right_moto_go;  
}

//小車后退
void  back_run(void)
{
         push_val_left=12;
         push_val_right=12;
         Left_moto_back;   
         Right_moto_back;  
}

//小車左轉(zhuǎn)
void  left_run(void)
{
         push_val_left=5;
         push_val_right=15;
         Right_moto_go;   
         Left_moto_back;  
}


//小車右轉(zhuǎn)
void  right_run(void)
{
         push_val_left=16;
         push_val_right=8;
         Left_moto_go;   
         Right_moto_back;  
}


//小車停止
void  stop(void)
{
         Left_moto_Stop
         Right_moto_Stop;   
}

//左電機(jī)調(diào)速
void pwm_out_left_moto(void)
{  
        if(Left_moto_stop)
        {
            if(pwm_val_left<=push_val_left)
                        {
                                Left_moto_pwm=1;
       
                        }
                else
                    {
                        Left_moto_pwm=0;
       
                        }
                if(pwm_val_left>=20)
                    pwm_val_left=0;
        }
        else   
        {
                Left_moto_pwm=0;
        }
}


//右電機(jī)調(diào)速
void pwm_out_right_moto(void)
{
        if(Right_moto_stop)
    {
            if(pwm_val_right<=push_val_right)
            {
                    Right_moto_pwm=1;
                }
        else
            {
                        Right_moto_pwm=0;
                }
        if(pwm_val_right>=20)
               pwm_val_right=0;
   }
   else   
   {
       Right_moto_pwm=0;

   }
}

//定時(shí)器0初始化
void timer0_Init(void)
{
        TMOD=0X01;
        TH0= 0XFc;                  //1ms定時(shí)
        TL0= 0X18;
        TR0= 1;
        ET0= 1;
        EA = 1;                           //開(kāi)總中斷       
}


//定時(shí)器0中斷服務(wù)子程序  
void timer0()interrupt 1   using 2
{
   TH0=0XFc;          
         TL0=0X18;
         time++;
         pwm_val_left++;
         pwm_val_right++;
         pwm_out_left_moto();
         pwm_out_right_moto();
}       



void usart_t1()  //計(jì)數(shù)器1的初始化
{
        TH1=0xFD;
        TL1=0xFD;//設(shè)置波特率9600
        PCON=0X00;                        //波特率不加倍
        SCON=0x50;//方式一10位異步收發(fā)器8位數(shù)據(jù),允許串行接收。
        TMOD|=0X20;//計(jì)數(shù)器工作方式2  8位自動(dòng)重裝載
        IP=0x10;//設(shè)置串口中斷位高優(yōu)先級(jí)
        ES=1;//開(kāi)串口中斷
        EA=1;
        TR1=1;        //開(kāi)計(jì)數(shù)器1
        TI=0;
        RI=0;
}


void usart_receive(void) interrupt 4  //串口中斷服務(wù)子程序
{
        if(RI==1)
        {
                RI=0;    //接受中斷標(biāo)志位清零
                bluetoothdata=SBUF;//讀取數(shù)據(jù)
                SBUF=bluetoothdata;     //將接收到的數(shù)據(jù)放入到發(fā)送寄存器
                while(!TI);         //等待發(fā)送數(shù)據(jù)完成
                    TI=0;        //清除發(fā)送完成標(biāo)志
        }
       

       

}


void usart_service()
{
        switch(bluetoothdata)
        {
        case'1':front_run();
        break;
       
        case'2':back_run();
        break;

        case'3':left_run();
        break;

        case'4':right_run();
        break;

        case'5':stop();
        break;
        default:stop();
        break;

        }
       
}




void main()
{
stop();

timer0_Init(void);//定時(shí)器0初始化
usart_t1() ;//計(jì)數(shù)器1的初始化
while(1)
{
        usart_service();

}

}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:259210 發(fā)表于 2019-12-16 20:16 | 只看該作者
已解決
回復(fù)

使用道具 舉報(bào)

板凳
ID:722967 發(fā)表于 2020-4-5 20:46 | 只看該作者

請(qǐng)問(wèn)你是怎么解決的呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品在欧美一区二区 | 久久久九九 | 中文字幕av一区二区三区 | 国产日韩欧美一区二区 | 精品久久久久久亚洲综合网 | 久久av一区 | jlzzxxxx18hd护士| 日韩精品 电影一区 亚洲 | 中文字幕一区二区三区在线视频 | 欧美日韩亚洲国产综合 | 国产精品黄视频 | 精彩视频一区二区三区 | 红桃视频一区二区三区免费 | 国产成人精品一区二区三区在线 | 亚洲一区电影 | 中文字幕国产一区 | 一区二区三区免费 | 亚洲第一在线视频 | 久久国产婷婷国产香蕉 | 久久久久一区二区三区 | 亚洲视频一区二区三区 | 国产欧美在线 | 久操国产| 久久久久久久久久久一区二区 | 久久久久久久久中文字幕 | 99视频| 国产 日韩 欧美 中文 在线播放 | 成人在线精品 | 91毛片在线观看 | 久久精品亚洲 | av色在线 | 国产美女福利在线观看 | www.青娱乐| 在线视频国产一区 | 黄网站涩免费蜜桃网站 | 91视频麻豆 | 久久久久九九九女人毛片 | 亚洲 欧美 另类 综合 偷拍 | 超碰97人人人人人蜜桃 | 国产激情精品视频 | 成人免费观看男女羞羞视频 |