欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
基于51單片機智能小車手機APP藍牙遙控
[打印本頁]
作者:
高翔宇
時間:
2018-6-12 11:42
標題:
基于51單片機智能小車手機APP藍牙遙控
我是初學者,才接觸智能小車兩個星期,希望我發的一些東西對初學者有一點幫助
/*手機軟件按鍵對應的十六進制數*/
41 31 32 33
43 45 44 34 35 36
42 37 38 39
0.png
(38.86 KB, 下載次數: 50)
下載附件
2018-6-13 01:51 上傳
單片機源程序如下:
/*手機遙控小車
左轉大約是90度
右轉是在原地轉圈
*/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
/*電機驅動IO定義*/
sbit IN1 = P1^2; //為1 左電機反轉
sbit IN2 = P1^3; //為1 左電機正轉
sbit IN3 = P1^6; //為1 右電機正轉
sbit IN4 = P1^7; //為1 右電機反轉
sbit EN1 = P1^4; //為1 左電機使能
sbit EN2 = P1^5; //為1 右電機使能
/*按鍵定義*/
sbit key_s2 = P2^1;
sbit key_s3 = P2^0;
sbit led1 = P0^1;
//sbit led2 = P0^3;
#define left_motor_en EN1 = 1 //左電機使能
#define left_motor_stops EN1 = 0 //左電機停止
#define right_motor_en EN2 = 1 //右電機使能
#define right_motor_stops EN2 = 0 //右電機停止
#define left_motor_go IN1 = 0, IN2 = 1//左電機正傳
#define left_motor_back IN1 = 1, IN2 = 0//左電機反轉
#define right_motor_go IN3 = 1, IN4 = 0//右電機正傳
#define right_motor_back IN3 = 0, IN4 = 1//右電機反轉
void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}
unsigned char pwm_left_val = 0;//左電機占空比值 取值范圍0-170,0最快
unsigned char pwm_right_val = 0;//右電機占空比值取值范圍0-170 ,0最快
unsigned char pwm_t;//周期
//小車初始化
void Che_init()
{
TMOD |= 0x02;//8位自動重裝模塊
TH0 = 220;
TL0 = 220;//11.0592M晶振下占空比最大比值是256,輸出100HZ
TR0 = 1;//啟動定時器0
ET0 = 1;//允許定時器0中斷
EA = 1;//總中斷允許
}
//藍牙初始化
void UART_INIT()
{
SM0 = 0;
SM1 = 1;//串口工作方式1
REN = 1;//允許串口接收
EA = 1;//開總中斷
ES = 1;//開串口中斷
TMOD = 0x20;//8位自動重裝模式
TH1 = 0xfd;
TL1 = 0xfd;//9600波特率
TR1 = 1;//啟動定時器1
}
//小車前進
void forward()
{
ET0 = 1;
left_motor_go; //左電機前進
right_motor_go; //右電機前進
}
//小車左轉
void left()
{
ET0 = 1;
delay(100);
left_motor_back;
right_motor_go;
delay(700);
forward();
}
//小車右轉
void right()
{
ET0 = 1;
left_motor_go;
right_motor_back;
}
//小車后退
void back()
{
ET0 = 1;
left_motor_back;
right_motor_back;
}
//小車停止
void stop()
{
ET0 = 0;
EN1 = 0;
EN2 = 0;
}
//定時器0中斷
void timer0() interrupt 1
{
pwm_t++;
if(pwm_t == 255)
pwm_t = EN1 = EN2 = 0;
if(pwm_left_val == pwm_t)
EN1 = 1;
if(pwm_right_val == pwm_t)
EN2 = 1;
}
//串口中斷
void UART_SER() interrupt 4
{
if(RI)
{
RI = 0;//清除接收標志
switch(SBUF)
{
case 0x41: forward(); break;//前進
case 0x42: back(); break;//停止
case 0x43: left(); break;//左轉
case 0x44: right(); break;//右轉
case 0x45: stop(); break;//停止
case 0x31: led1 = 0; break;//右轉
case 0x32: P0 = 0; break;//停止
case 0x33: led1 = 1; break;//右轉
case 0x34: P0 = 0xff; break;//停止
}
}
}
void main()
{
UART_INIT();//串口初始化
Che_init();
while(1);
}
復制代碼
所有資料51hei提供下載:
手機藍牙遙控小車.zip
(839.87 KB, 下載次數: 193)
2018-6-12 11:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
MG_C
時間:
2018-12-5 19:55
可以發一下APP源代碼嗎?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1