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

標題: STC89c52rc單片機藍牙驅動小車,求指導 想做一個親手做的玩具 [打印本頁]

作者: yuhui1023    時間: 2020-4-11 19:00
標題: STC89c52rc單片機藍牙驅動小車,求指導 想做一個親手做的玩具
萌新一枚,之前從來沒接觸過這些,只是想給剛出生不久的兒子做一個親手做的玩具,如圖接好線還好東西都沒燒,用手機藍牙控制,但是電機不轉,是什么原因啊,有大佬時間充裕的指導一下小弟好么?

IMG_20200411_185442.jpg (1.46 MB, 下載次數: 127)

IMG_20200411_185442.jpg

IMG_20200411_185433.jpg (1.65 MB, 下載次數: 118)

IMG_20200411_185433.jpg

作者: yuhui1023    時間: 2020-4-11 19:03
/*
藍牙小車程序
T0產生PWM控制舵機,T1用于串口通信
舵機330hz
*/
#include<reg52.h>

#define uchar unsigned char
#define uint unsigned int

sbit PWM=P1^0;          //舵機控制端口
sbit in1=P2^0;         //電機控制端口1
sbit in2=P2^1;         //電機控制端口2
sbit in3=P2^2;         //電機控制端口3
sbit in4=P2^3;         //電機控制端口4


uint time=0,jd;
uchar a;

void InitUART() //串口初始化
{
        TMOD = 0x21;
        PCON = 0x00;
        SCON = 0x50;  
    TH1 = 0xFD;        //T1 波特率9600
    TL1 = 0xFD;
        TR1 = 1;
        TH0  = 0xFF;//T0 0.01ms
        TL0  = 0xF6;
        TR0 = 1;
        ES = 1;
        PS = 1;
        ET0 = 1;
        EA = 1;
       
}

void main ()
{
        InitUART();       
        while (1);
}

void Time0_Int() interrupt 1 //中斷程序 1
{
        TR0=0;
        TH0=0xFF;
        TL0=0xF6;
        TR0=1;
        time++;
        if(time>300)
        time=0;         //303個周期  330hz
        if (time<=jd)
        PWM=1;
        else
        PWM=0;
       
}

void UARTInterrupt () interrupt 4  //中斷程序 4
{

if(RI==1)
    {
            RI = 0;
                a = SBUF;
                if (a == '0')  //前進
                {
                        in1=1;
                        in2=0;
                        in3=1;
                        in4=0;

                }
                if (a == '1')           //后退
                {
                        in1=0;
                        in2=1;
                        in3=0;
                        in4=1;
                }
                if (a == '2')                //停止
                {
                        in1=1;
                        in2=1;
                        in3=1;
                        in4=1;
                }
                if(a == '3')                //左轉
                {           
                        jd=22;
                }
                if(a == '4')                //右轉
                {          
                        jd=34;
                }
                if(a == '5')                 //回中
                {          
                        jd=28;                         
                }                        
        }  
       
}


作者: yuhui1023    時間: 2020-4-11 19:05
已經研究了2.3天了,頭都搞大了,如果不是實在想不出來,也不想麻煩大佬們啊
作者: yuhui1023    時間: 2020-4-11 20:21
哪位大佬幫幫忙啊
作者: game灬boy    時間: 2020-4-11 21:26
你先把   in1 in2 in3    in4      
直接在main函數中賦值,看電機是否轉動
void   main ()
{
                        in1=1;
                        in2=0;
                        in3=1;
                        in4=0;

}

然后藍牙接電腦上面看看收到的手機指令是否正確
作者: 神蜂    時間: 2020-4-11 22:40
是不是while()要運行藍牙發過來的東西
比例:
void Remote()
{
        switch(a)
        {
                case 0X02:        停車函數 (  );        break;        //停車
                case 0X00:        前進函數();        break;        //前進
        }       
}



void main ()
{
        InitUART();        
        while (1)
     {
         Remote();
     }
}
還有波特率9600、主板晶振是不是11.0592
藍牙的波特率也要設置在9600


作者: yuhui1023    時間: 2020-4-11 23:15
game灬boy 發表于 2020-4-11 21:26
你先把   in1 in2 in3    in4      
直接在main函數中賦值,看電機是否轉動
void   main ()

你的意思是把程序修改一下試試么,就是把你發的這個插入到括號里是么
作者: yuhui1023    時間: 2020-4-11 23:17
神蜂 發表于 2020-4-11 22:40
是不是while()要運行藍牙發過來的東西
比例:
void Remote()

前面的程序我看的不太懂,但是最后那個中文我燒程序時注意了,都是吻合的
作者: 神蜂    時間: 2020-4-12 08:16
yuhui1023 發表于 2020-4-11 23:17
前面的程序我看的不太懂,但是最后那個中文我燒程序時注意了,都是吻合的

那不急,我50幾歲了,搞電器維修的,平時不會打牌,工作之余業余愛好學習單片機打發時間。

剛剛開始學單片機時也是這樣,推薦你看看這里的教程,http://m.raoushi.com/bbs/dpj-183489-1.html

希望,借51黑電子論壇,讓我們單片機技術和你兒子一起成長。
作者: yuhui1023    時間: 2020-4-12 10:58
神蜂 發表于 2020-4-12 08:16
那不急,我50幾歲了,搞電器維修的,平時不會打牌,工作之余業余愛好學習單片機打發時間。

剛剛開始學 ...

謝謝大叔,您詮釋了什么叫學無止境
作者: yuhui1023    時間: 2020-4-12 14:33
用USB轉TTL連接電腦和藍牙,用手機鍵盤發送文本,電腦也能收到。。。

mmexport1586673037721.jpg (140.58 KB, 下載次數: 108)

mmexport1586673037721.jpg

作者: yuhui1023    時間: 2020-4-12 16:09
實物連接圖

cf4c9a239da2ab11fb2a8cbda5178c8.png (391.1 KB, 下載次數: 92)

實物圖

實物圖

作者: 鄭漢松    時間: 2020-4-12 16:33
1,298的輸入電壓一般是9~12V
2,51單片機沒燒程序的話一般IO口都是高電平,要讓電機轉的話需要一高一低,你可以接開發板的VCC和GND試試就會轉了
3,藍牙控制的話需要燒錄單片機程序
作者: yuhui1023    時間: 2020-4-12 17:20
鄭漢松 發表于 2020-4-12 16:33
1,298的輸入電壓一般是9~12V
2,51單片機沒燒程序的話一般IO口都是高電平,要讓電機轉的話需要一高一低, ...

我把電機線直接接在開發板的+5和GND是可以直接轉的,但是用藍牙就是不轉
作者: yuhui1023    時間: 2020-4-12 22:16
沒人幫忙了么。。。
作者: yuhui1023    時間: 2020-4-13 08:09
又是元氣滿滿的一天,繼續坐在電腦面前瞎摸索
作者: game灬boy    時間: 2020-4-13 11:42
串口優先級是否高于定時器優先級?還有藍牙發送的數據格式是什么16進制還是字符?我看見你前面發了一張藍牙接收的圖片,你將你的串口助手設置為16進制接受看看接收數據還是否為12345,如果不是,你的單片機接受的就是字符‘1’;‘2’;‘3’;‘4’;‘5’;了而不是接收的數字12345,如果是字符請將接受的數據減0x30, a = SBUF-0x30;或者寫為 a = SBUF-'0';
作者: yuhui1023    時間: 2020-4-13 14:21
game灬boy 發表于 2020-4-13 11:42
串口優先級是否高于定時器優先級?還有藍牙發送的數據格式是什么16進制還是字符?我看見你前面發了一張藍牙 ...

我改成16進制后顯示的是04,不是單純的4,如果需要改程序怎么改啊?請問能加您一個微信么
作者: game灬boy    時間: 2020-4-13 19:17
yuhui1023 發表于 2020-4-13 14:21
我改成16進制后顯示的是04,不是單純的4,如果需要改程序怎么改啊?請問能加您一個微信么

你的程序判斷的條件有問題,我看到PS已經置1,說明串口中斷優先級較高,你的if(a==‘0’)是在判斷a等于字符0而不是a等于數字0,你可以把if括號中的判斷條件改為a==0,或者a==‘0’-0x30
加好友得私發,直接評論會被刪
作者: yuhui1023    時間: 2020-4-13 22:39
game灬boy 發表于 2020-4-13 19:17
你的程序判斷的條件有問題,我看到PS已經置1,說明串口中斷優先級較高,你的if(a==‘0’)是在判斷a等于 ...

好的謝謝了,明天我再試一下
作者: yuhui1023    時間: 2020-4-14 08:29
還是元氣滿滿的一天,繼續坐在電腦面前瞎捉摸
作者: 之一知足    時間: 2020-4-14 19:07
給你套資料,僅供參考,挺全面的,當時玩這個的時候是參照他的

《藍牙車資料包》.zip

10.58 MB, 下載次數: 12


作者: 之一知足    時間: 2020-4-14 19:09
做藍牙小車,首先你先別急著去搞電機,你先確定好藍牙與手機之間的通信部分是正常的,比如你手機按下,板子上點亮一個小燈,從最簡單的現象上去判斷問題。
作者: yuhui1023    時間: 2020-4-15 16:40
之一知足 發表于 2020-4-14 19:07
給你套資料,僅供參考,挺全面的,當時玩這個的時候是參照他的

謝謝你,好人吶
作者: yuhui1023    時間: 2020-4-18 09:22
新的問題又來了,通訊口連接電腦供電單片機用藍牙是可以控制的,從l298n接過來的5vDC口供電就不能控制,只有一個開關電源燈亮是怎么回事啊
作者: xianming    時間: 2020-4-18 11:41
藍牙模塊的燈亮不亮?
作者: yuhui1023    時間: 2020-4-18 15:15
xianming 發表于 2020-4-18 11:41
藍牙模塊的燈亮不亮?

亮的,同樣的接線,同樣的程序,用電腦的usb接通信接口,可以控制小車,板上的燈也亮,但是用l298n輸出的5V接DC口就不行了,只有電源燈亮,控制的led燈不亮,我還用手機充電器轉的5V接通信接口,也不亮
作者: yuhui1023    時間: 2020-4-19 23:41
感謝好多熱心人技術支持,完工一大半了

mmexport1587310859392.jpg (1.57 MB, 下載次數: 87)

mmexport1587310859392.jpg

作者: yuhui1023    時間: 2020-4-20 15:40
程序這卡住了,誰能幫我修改下程序啊
作者: yuhui1023    時間: 2020-5-6 06:59
基本完成了

IMG_20200417_193705.jpg (1.53 MB, 下載次數: 94)

IMG_20200417_193705.jpg

作者: yuhui1023    時間: 2020-5-8 22:58
完成了

IMG_20200507_122534.jpg (1.39 MB, 下載次數: 110)

IMG_20200507_122534.jpg





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