日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

51单片机蓝牙小车

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 51单片机蓝牙小车 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是某小白大一下學期自學做的小玩意,畢竟不是自己的專業課,學起來有點吃力,不過感覺挺有意思的。寫下這篇文章記錄一下

一.所需材料
1,51單片機開發板
2,杜邦線一堆
3,L298N驅動板
4,三節18650電池
5,HC-05/06藍牙模塊(從機版本即可)
6,小車底盤一個

二.電路部分

?

?藍牙模塊采用串口通信,建議用TTL轉USB線先把藍牙模塊與電腦連接起來,對藍牙模塊進行配置,以測試是否可以通信

三.代碼部分

電機驅動代碼

#include <REGX52.H>#include "UART.h"sbit Motor=P1^0;sbit Motor1=P1^1;sbit Motor2=P1^2;sbit Motor3=P1^3;unsigned char flag=0;void main(){ Motor=1;Motor1=1;Motor2=1;Motor3=1;UART_Init();//串口初始化while(1){if(flag==1){Motor=1;Motor1=0;Motor2=1;Motor3=0;}if(flag==2){Motor=1;Motor1=1;Motor2=1;Motor3=0;}if(flag==3){Motor=1;Motor1=1;Motor2=1;Motor3=1;}if(flag==4){Motor=1;Motor1=0;Motor2=1;Motor3=1;}if(flag==5){Motor=0;Motor1=1;Motor2=0;Motor3=1;}}}void UART_Routine() interrupt 4{unsigned char num;if(RI==1)//如果接收標志位為1,接收到了數據{num=SBUF;switch(num){case 1://前進flag=1;break;case 2://左轉flag=2;break;case 3://停車flag=3;break;case 4://右轉flag=4;break;case 5://倒車flag=5;break;default:flag=0;break;}UART_SendByte(SBUF);//將受到的數據發回串口,便于調試RI=0;//接收標志位清0}}

?串口代碼

#include <REGX52.H>/** * @brief 串口初始化,4800bps@12.000MHz * @param 無 * @retval 無 */void UART_Init(){SCON=0x50;PCON |= 0x80;TMOD &= 0x0F;//設置定時器模式TMOD |= 0x20;//設置定時器模式TL1 = 0xFA;//設定定時初值TH1 = 0xFA;//設定定時器重裝值ET1 = 0;//禁止定時器1中斷TR1 = 1;//啟動定時器1EA=1;ES=1;}/** * @brief 串口發送一個字節數據 * @param Byte 要發送的一個字節數據 * @retval 無 */void UART_SendByte(unsigned char Byte){SBUF=Byte;while(TI==0);TI=0;}

四.藍牙控制程序

采用APP inventor編寫

MIT App Inventor

成品連線比較混亂,有一種野性的美

?

?

打包文件在https://pan.baidu.com/s/1oqYBb7KX2kBjdQewbvimww?pwd=yy7t
提取碼yy7t
包括keil文件以及安卓藍牙控制軟件

?

總結

以上是生活随笔為你收集整理的51单片机蓝牙小车的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。