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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3279|回復: 3
收起左側

基于51單片機上的藍牙通信設計

[復制鏈接]
ID:574341 發表于 2019-7-8 15:18 | 顯示全部樓層 |閱讀模式

艾爾

艾爾

在學完了51單片機后,我就迫不及待地做了一個藍牙通信小車,先上圖。
首先,介紹一下藍牙模塊:




阿大

阿大
回復

使用道具 舉報

ID:574341 發表于 2019-7-8 15:24 | 顯示全部樓層
///////
51單片機藍牙測試代碼
////////
#include <reg52.h>

typedef unsigned char u8;
typedef unsigned int u16;
u8 r_buf; //藍牙接收到的字符存儲緩沖區
sbit led1 = P1^0; //燈1,當接收字符0時,燈1亮
sbit led2 = P1^1; //燈2,當接收字符1時,燈2亮
sbit led3 = P1^2; //燈2,當接收其它字符時,燈3亮
sbit led4 = P1^3; //藍牙連接狀態燈,當藍牙連通時,燈4亮
sbit state = P3^6; //藍牙連通的狀態標志位
void delay(u16 z) //延遲函數
{  
u16 x,y;  
for(x=z;x>0;x--)   
for(y=125;y>0;y--);
}
void InitUART() //串口初始化9600
{
//初始化串口定時器9600
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;   
       TH1 = 0xFF;
       TL1 = 0xFD;
TR1 = 1;
ES = 1;
EA = 1;
}
void SendOneByte(unsigned char c) //發送字符函數
{
    SBUF = c;
    while(!TI);
    TI = 0;
}
void main(void)
{
    InitUART();
led1 = 1;
led2 = 1;
led3 = 1;  
led4 = 1;
r_buf = '2';
while(1)
{
if(state == 1)//藍牙連通狀態判斷
{
led4 = 0;    //如果藍牙匹配成功,燈4亮
}
else
{
led4 = 1;    //如果藍牙匹配不成功,燈4不亮
}
}
}
void UARTInterrupt(void) interrupt 4 //串口接收字符
{
    if(RI)
    {
        RI = 0;
        //add your code here!
r_buf = SBUF;
if(r_buf == '0')//如果為字符‘0’,燈1亮
{
led1 = 0;
delay(1000);
led1 = 1;
}
if(r_buf == '1')//如果為字符‘1’,燈2亮
{
led2 = 0;
delay(1000);
led2 = 1;
}
else //如果為其它字符,燈3亮
{
led3 = 0;
delay(1000);
led3 = 1;
}
   SendOneByte(r_buf);//回發該字符
    }
}
回復

使用道具 舉報

ID:581696 發表于 2019-7-15 10:46 | 顯示全部樓層
這車是自己做的嗎?
回復

使用道具 舉報

ID:585483 發表于 2019-8-8 07:56 | 顯示全部樓層
小車使用遙控器控制的嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表