基于51的遥控智能车

基于51的遥控智能车

一.简介
本作品基于51单片机,通过控制电机驱动模块输出高低电平,进而控制小车前后左右运动,外加蓝牙模块,连接手机软件进行远程操纵。
主要内容包括:
1.L298N电机驱动模块的使用。
2.使用PWM,实现匀速。
3.蓝牙模块的连接。

二. 硬件设计
1)总体硬件框图
原理:采用8位的STC89C52单片机做主控制器,采用C语言编程。
基于51的遥控智能车_第1张图片
(2)单片机最小系统
单片机最小系统主要由电源、时钟电路、复位电路组成。

基于51的遥控智能车_第2张图片
p1^0, 1.5,2.0,2.5口为使能,其余用杜邦线并排连接,无需过多计较,正反在调试的时候解决。
4) L298N电机驱动模块 基于51的遥控智能车_第3张图片
1.下端三个口(从左到右):+12V,GND,+5V
2.左右两个OUT端,连接电机。
3.上图有跳线帽的为使能,中间的四个,左二,右二,连接51单片机引脚控制电机左右转。正反方向可淘宝搜索,一般都会有介绍。
4.左转:左上轮为0,其余为1.
5.右转:右上轮为0,其余为1.(编程需要注意)

(**5)蓝牙模块
基于51的遥控智能车_第4张图片

基于51的遥控智能车_第5张图片
1.上图为蓝牙与51单片机串口通信连接图
2.仅用VCC,GND,RXD,TXD便可实现功能
3.蓝牙模块需要拿软件调试,设计波特率,和连接密码。
三.软件设计
(1)代码

#include

typedef unsigned int u16;
typedef unsigned char u8;

sbit a=P1^0;              //前,右轮
sbit a1=P1^1;              
sbit a2=P1^2;  s

sbit b=P1^5;              //前,左轮
sbit b1=P1^4;         
sbit b2=P1^3;  

sbit c=P2^0;              //后,左轮  
sbit c1=P2^1;
sbit c2=P2^2;

sbit d=P2^5;              //后,右轮
sbit d1=P2^4;
sbit d2=P2^3;


u8 receiveData=0,hige=10000,low=10000;     //定义接收的数据;维持高,低电平

void delay(u16 i)
{
 while(i--);
}

void UsartInit()               //定时器
{
	SCON=0X50;			
	TMOD=0X20;			
	PCON=0X80;			
	TH1=0XF3;				
	TL1=0XF3;
	ES=1;					
	EA=1;		
	TR1=1;		
}
	

void main()                     //主函数
{
	 u16 x=0;            
	 UsartInit();
	 while(1)
{
	 if(receiveData=='0')        //接收“0”
{		
     led=1;
	 a=0;                        // a,b,c,d各指代L298N一侧的使能  
     b=0;                      
     c=0;
	 d=0;		                     
}                  
 
	 if(receiveData=='1')          //接收到“1”
{
	  led=0;
	  a=1;                         //全部使能,使模块进入到预工作状态
      b=1;
      c=1;
	  d=1;
	
 	  a1=0;                      //a1,a2.b1...控制模块在各口电机转动:左右,前后,停
      a2=1;	                    //以下一样
	  b1=0;
	  b2=1;
	  c1=0;
	  c2=1;
	  d1=0;
	  d2=1;  
	  for(x=0;x

你可能感兴趣的:(单片机,蓝牙)