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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3885|回復: 11
打印 上一主題 下一主題
收起左側

手機通過藍牙來控制電機轉動,但藍牙能接收到數據,單片機卻不能驅動電機

[復制鏈接]
跳轉到指定樓層
樓主
我懷疑可能是數據沒有傳輸到單片機中,但卻不知道如何解決,而且當按下開發板的復位按鍵時電機會轉動
連接如下   波特率已經設置為4800



源代碼如下
#include <reg52.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit M1 = P1^0;                     // M1接在P1.0
uchar Buffer;
void UartIsr(void);
void UartInit(void);
void main(void)
{
    uchar time = 0;
       M1 = 0;
    UartInit();   
      while(1)
        {
            switch(Buffer)
            {
                case 1:
                    M1=1;
                break;
                case 2:
                    M1=0;
                break;
                default:
                break;               
            }
        }
}   
void UartIsr(void) interrupt 4      //串口中斷處理程序
{
    if(RI == 1)   //當硬件接收到一個數據時,RI會置位
    {
        RI = 0;
        Buffer = SBUF;//將接收到的字符放入Buffer      
    }
}
void UartInit(void)          //串口初始化,4800
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xF3;
    TL1 = TH1;
    PCON = 0x80;
    EA = 1;
    ES = 1;
    TR1 = 1;        
}



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

使用道具 舉報

沙發
ID:94031 發表于 2019-11-4 09:26 | 只看該作者
用萬用表測量電機兩端電壓,看有電壓變化沒,電壓是多少,再考慮原因。
回復

使用道具 舉報

板凳
ID:94031 發表于 2019-11-4 09:29 | 只看該作者
電機最好用繼電器模塊來驅動。
回復

使用道具 舉報

地板
ID:635207 發表于 2019-11-4 10:43 | 只看該作者
可以在串口中斷中下個斷電,在ram監視器中添加Buffer變量觀察接收到的值。有可能接收到的藍牙數據的編碼格式不對
回復

使用道具 舉報

5#
ID:495676 發表于 2019-11-4 22:22 | 只看該作者
xuyaqi 發表于 2019-11-4 09:26
用萬用表測量電機兩端電壓,看有電壓變化沒,電壓是多少,再考慮原因。

那個電機兩端的電壓是零  按一下復位按鍵   電機兩端就有電壓了  電機就轉了
回復

使用道具 舉報

6#
ID:91899 發表于 2019-11-4 23:47 | 只看該作者
最好就是 有一個數碼管顯示你收到的命令確定是否收到命令 然后確定能夠控制電機
回復

使用道具 舉報

7#
ID:495676 發表于 2019-11-5 15:16 | 只看該作者
我覺得可能是數據沒有傳到單片機中,但想知道為什么按復位鍵的時候電機又轉動了
回復

使用道具 舉報

8#
ID:560467 發表于 2019-11-8 14:51 | 只看該作者
你試一下如果單片機接受到數據后回應手機,既向手機發送一個數,就知道單片機有沒有接受到。而且很重要一點就是12m晶振對于產生波特率并不好,最好就是有11.。。。。的晶振,很可能是做波特率問題
回復

使用道具 舉報

9#
ID:555092 發表于 2019-11-10 16:00 | 只看該作者
你復位的時候單片機p1^0;應該是高電平,所以就動了,你設置的m0=低電平寫在串口初始化下試試
回復

使用道具 舉報

10#
ID:315264 發表于 2019-11-11 16:01 | 只看該作者
囡嬅 發表于 2019-11-5 15:16
我覺得可能是數據沒有傳到單片機中,但想知道為什么按復位鍵的時候電機又轉動了

51單片機所有引腳在復位期間都為高電平,如果你設置電機為低電平驅動則是上電一瞬間電機動一下就停
回復

使用道具 舉報

11#
ID:495676 發表于 2019-11-12 08:34 | 只看該作者
最美不過初 發表于 2019-11-10 16:00
你復位的時候單片機p1^0;應該是高電平,所以就動了,你設置的m0=低電平寫在串口初始化下試試

低電平試過了  也還是不行
回復

使用道具 舉報

12#
ID:661768 發表于 2019-12-11 17:55 來自觸屏版 | 只看該作者
我最近也遇到這個問題,很多嘗試都不行,改了晶振就行了,你把12MHz的改為11.0592MHz應該就可以
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看第一页 | 国产在线观| 成人中文网 | 免费在线观看黄视频 | 夜夜操操操 | 国产精品久久久久一区二区三区 | 成人av免费 | 97国产成人| 日韩精品一区二区三区视频播放 | 五月激情婷婷网 | 亚洲a在线视频 | 国产成人精品免高潮在线观看 | 中文字幕国产视频 | 香蕉视频91| 九九亚洲 | www.夜夜草| 国产欧美精品 | 欧美综合在线视频 | 亚洲国产网址 | 一区二区免费 | 亚洲男人网 | av中文天堂 | 亚洲精品国产第一综合99久久 | 成人黄色电影在线观看 | 亚洲一区二区三区在线播放 | 81精品国产乱码久久久久久 | 国产精品久久久久久久一区二区 | 午夜精品一区二区三区在线视频 | 日韩成人av在线 | 日韩免费高清视频 | 亚洲成人一级 | 亚洲区视频 | 欧美成视频 | 国产一区二区在线视频 | 在线第一页 | 日本久久精品视频 | 欧美视频在线一区 | 视频一二区 | 噜啊噜在线 | 日韩精品一区二区三区 | 久草在线影 |