精华内容
下载资源
问答
  • 单片机蓝牙小车

    2015-06-30 20:11:26
    单片机蓝牙小车单片机蓝牙小车单片机蓝牙小车,晶振是11MHZ的
  • 51单片机蓝牙小车

    万次阅读 多人点赞 2019-02-25 20:41:23
    51单片机蓝牙小车(是我大二做的一个课程设计,小菜鸟一个,欢迎大家指正和参考。) 摘要 本次设计选择基于蓝牙遥控的多功能智能小车为对象。选用STC98C52RC单片机作为主控芯片,电机驱动采用L293N ,...

     

    51单片机蓝牙小车(是我大二做的一个课程设计,小菜鸟一个,欢迎大家指正和参考。)

     

    摘要   本次设计选择基于蓝牙遥控的多功能智能小车为对象。选用STC98C52RC单片机作为主控芯片,电机驱动采用L293N ,电源部分采用两节3.7V锂电池供电.采用C语言模块化编程,提高开发效率.蓝牙控制功能.用按键或遥控器来控制小车.

     

    关键词  

    51单片机

    L298N_电机驱动

    蓝牙遥控

     

    目录

    1. 前言

    1.1.  系统研究背景

    1.2. 系统研究的意义和目的

    2. 系统概述

    2.1.  系统的结构

    2.2.  系统的功能

    2.3.  开发环境

    3.  系统实现

    3.1. 相关技术技术

    3.2.  硬件实现

    3.3.  软件实现                  ​

    源程序


    1. 前言

    1.1. 系统研究背景

            蓝牙属于短距离内进行无线控制和收发的通信技术,伴随着科技的飞跃性发展,也让蓝牙找到了发展的空间,它可以代替和取代落后的数字化硬件设备之间繁琐的电缆连接。在蓝牙创造的初期,没有人预料到蓝牙会有如此大的潜力和前景,而现在的发展也是完全超出了我们的预期,因为蓝牙的安全性高,制造成本低廉和所消耗的功率也是同类产品中最低的,所以被很多人使用,越来越受到了广大消费者的欢迎,基于蓝牙技术的产品也在不断的更新和投入市场。

           蓝牙技术是近年来出现的新技术是一种短距离无线通信和信息传输的新型通讯科技,它使数据线的硬件设备接收更方便快捷。它可以广泛应用于世界各地,是一个蓝牙设置一个通用的范围,频率调制技术的使用,以防止外部干扰和多一些。低成本,低功耗和小辐射,和加密设置,让蓝牙的安全性更高;应用范围广,这些特点使得蓝牙技术被广泛的应用在我们日常生活中的蓝牙也支持一对一和一对多传输的通信连接,和多个蓝牙成为微网,也有网络的特点。

         在现在的智能时代,小车智能控制,方便了人们的使用。在51单片机的基础下,通过蓝牙来控制小车的驾驶。



    1.2. 系统研究的意义和目的

            因为无线技术的广泛使用,我们在研究无线和有线通信技术的方法中了解到蓝牙系统的小区域性有很大的技术突破,在国际上也得到了广泛的采纳,在市场上也有很大的需求。这也使蓝牙技术的发展成为了趋势之一,蓝牙可以发送和接受语音和数据,满足了大多数人的需求,它也融合了其他相关产品的特点,也是这样技术变得更多样性。然而,蓝牙的安全性不足,而且在小区域范围内的一点对多点的通信受到了很大的限制,这些都是其本身需要改进和完善的

          可以使人们更方便,更简单的控制小车。实现了无线控制小车,摆脱了有线控制的不方便,更智能。


    2. 系统概述

    2.1.  系统的结构

                                                                       系统框图

     

     

    2.2.  系统的功能

    51单片机的基础下,通过蓝牙来控制驱动,此驱动能把5~12V的电压,一部分给小车轮子转动,一部分通过降压,稳压,最终降为5V来供给此驱动,单片机和传感器供电。

     

    2.3.  开发环境

    AT89C5RC单片机:

              AT89C52是一种8位单片机,它是在MCS-51单片机系列上加强了一些功能后升级得到的产物。它的作用基本上就是把外界的数据和命令在中断和时钟的帮助下,在自身内部储存器上把使用者的数据进行处理。AT89C52 由8位的内部处理器,内部数据储存器(RAM,有256个字节)内部储存器有8K的大小,输入和输出双向口有32个,16位的定时器和5个两级中断,全双工串行通信口一个和时钟电路组成。

             AT89C52能够自主地执行给它的指令,也就是你把所需要的指令写在单片机的内部储存器上,它会一步步执行。AT89C52可以在功耗特别低的情况下工作,就是设置成空闲选择和掉电模式两种状态来实现低功耗。

     

                                                                         AT89C52

           单片机与外界的通讯是依靠它自身的I/O 口进行的,对单片机I/O 口的控制就是对单片机的控制。I/O 口的存在不仅可以实现数据的传输,还可以改变电平和信号的性质,最重要的一点就是I/O 口可以实现与外部不同电路的连接来使单片机工作。

             AT89C52单片机上我们通常使用的是4个独立的双向通用I/O 口:P0口、P1口、P2和P3口。由于外部设备的工作速率比较慢或者很快的时候,我们可以采用同步传送的方式,而单片机存在的异步传送是为了更加简练的和硬件连接进行传出。也可以通过中断传送和DMA传送来完成。AT89C52单片机还可以实现外部接口单独的编址和外部端口和存储器的统一编制两种方式。AT89C52单片机上一共有32个I/O 口,不同的I/O 口实线的作用和运行的方式都有其自己的方式,我也要通过这次课程设计,更好地了解,更熟练的运用。


    3.  系统实现

    3.1. 相关技术技术

    蓝牙技术,驱动模块,

     

    3.2.  硬件实现

    HC-06蓝牙模块

    其TX接单片机的RX,RX接单片机的TX,VCC接5V(或3.3V),GND接单片机的地。HC-06蓝牙模块是通过一款手机APP(蓝牙串口助手)作为中间媒介,在蓝牙串口助手发送相关的数据到串口,串口再把相关信息送到蓝牙模块,蓝牙模块再把相关信号送到单片机中。

                                                                                  HC-06蓝牙模块


                                                          HC-06蓝牙模块和51单片机连接



     

    L298N电机驱动模块,

    该该电机可以驱动2路直流电机,使能端ENA,ENB,为高电频有效,

    通过单片机的输入信号给IN1和IN2来控制左轮,输入信号给IN3和IN4来控制右轮

    IN1和IN2,分别给0,1  :正转

     IN1和IN2,分别给1,0  :反转

    IN1和IN2,分别给1,1 :停止

    IN1和IN2,分别给0,0  :停止

    IN3和IN4,分别给0,1  :正转

    IN3和IN4,分别给1,0  :反转

    IN3和IN4,分别给1,1 :停止

    IN3和IN4,分别给0,0  :停止

     

    L298N的主要引脚功能如下:

    +5V:芯片电压5V;

    VCC:电机电压,最大可接50V;

    GND:共地接法;

    Output1—Output2:输出端,接电机1;

    Output3—Output4:输出端,接电机2;

    EN1、EN2:高电平有效,EN1、EN2分别为 IN1和IN2、IN3和IN4的使能端;

    Input1~ Input4:输入端,输入端电平和输出端电平是对应的;

      

                                                                      L298N



    3.3.  软件实现
                     

                                                                         程序流程图

     

                

     

    51单片机,源程序:

    sbit in1 = P1^0;//左电机
    sbit in2 = P1^1;//左电机
    sbit in3 = P1^2;//右电机
    sbit in4 = P1^3;//右电机
    
    char i;
    
    /*前进*/
    void forward()
    {
    
        in1=1;
        in2=0;
        in3=1;
        in4=0;
    }
    
    /*后退*/
    void back()
    {
        in1=0;
        in2=1;
        in3=0;
        in4=1;
    }
    
    
    
    /*左转*/
    void left()
    {
        in1=1;
        in2=1;
        in3=1;
        in4=0;
    }
    
    /*右转*/
    void right()
    {
        in1=1;
        in2=0;
        in3=1;
        in4=1;
    }
    
    /*停止*/
    void stop()
    {
        in1=1;
        in2=1;
        in3=1;
        in4=1;
    }
    
    
    void main (void)
    {
          TMOD=0x20;                         //设置T1为工作方式2
          TH1=0xfd;                        //装入初值,比特率为9600bps
          TL1=0xfd;
    
          TR1=1;                              //开启T1
          REN=1;                             //接收允许
    
          SM0=0;                             //方式1
          SM1=1;
    
          EA=1;                               //开全局中断
          ES=1;                                //开串口中断
    
    while(1)
    
        {
            i=SBUF;//SBUF为单片机接收到的数据,单片机接收到的数据都存放在SBUF里;
    
            RI=0;
    
            if (i==0x02){forward();}     //如果蓝牙助手发送0x02,小车前进
    
            if (i==0x08){back();}        //如果蓝牙助手发送0x08,小车后退
    
            if (i==0x01){left();}         //如果蓝牙助手发送0x01,小车左转
    
            if (i==0x03){right();}        //如果蓝牙助手发送0x03,小车右转
    
            if (i==0x05){stop();}        //如果蓝牙助手发送0x05,小车停止
        }
    
    }

     

    3.4.  系统测试

    小车能实现基本功能,成功地用蓝牙控制小车。测试了一段时间,单片机工作稳定,蓝牙稳定的控制,小车较好的按照控制方向行走。

     


    4.  系统使用说明

    1.      为小车装上两节锂电池,来供电。

    2.     打开总开关,在手机端,打开一个蓝牙通讯助手(在手机应用商店可以找到下载),连接上此小车的蓝牙(HC-06),如图:

     

                                        蓝牙 HC-06模块

     

     



     

    3.     然后就可以在手机端按相应的前进,后退,左转,右转,停止等,如图:

     

                                            APP

     

    解析:前进,后退,左转,右转,停止,都对应着程序中相应的信息,如图;

    当手机端发送 0x02 给蓝牙模块,就会执行 forward()函数; 小车会向前走

    当手机端发送 0x08 给蓝牙模块,就会执行 back();函数;,小车会向后走

    当手机端发送 0x01 给蓝牙模块,就会执行 left();函数;,小车会向左走

    当手机端发送 0x03 给蓝牙模块,就会执行 right()函数;,小车会向右走

    当手机端发送 0x05 给蓝牙模块,就会执行stop()函数;,小车会停止

    具体的编辑如图:

                                              APP2

     

    最后这是小车的整体模型;

     

                                                         整体图

     

      注:上面有个RC522读卡器的,哪个是方便后面的课设,在这里,大家可以忽略哈。

    5.  总结

         本设计采用的是STC89C52RC单片机,这主要是因为该单片机的稳定性比较好和执行指令的速度很快。还可以采用其它系列的单片机。电机驱动采用L293N ,稳定电压,充足地向直流电机供电和稳定控制;电源部分采用两节3.7V锂电池供电,电压稳定,电流充足,还可以循环充电,节能环保。采用C语言模块化编程,提高开发效率.蓝牙控制功能.用按键或遥控器来控制小车,简单方便经过自己不断的搜索努力以及老师的耐心指导和热情帮助,本设计已经基本完成。

            过这次课程设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学两年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这两个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。  由于自身水平有限,设计中一定存在很多不足之处,敬请各位批评指正.


    6.  参考文献

    C语言程序设计 :清华大学出版社作者:谭浩强

    51单片机C语言教程:电子工业出版社 ,作者:郭天祥

     

    希望对你有帮助。

     

    为了大家方便,我上传了手机APP在网盘:https://pan.baidu.com/s/1UNjlUhUQa25K2RNW8hjwOQ

      提取码:wn7k 

     

     

     

    展开全文
  • 单片机蓝牙小车软件

    2014-10-10 15:48:16
    该软件可以控制单片机蓝牙小车运动,可以设置指令
  • android单片机蓝牙小车

    热门讨论 2012-06-07 15:35:34
    单片机蓝牙小车 http://v.youku.com/v_show/id_XNDA5MjI3MTI0.html
  • 51单片机蓝牙小车(精要版)

    千次阅读 多人点赞 2019-11-24 23:10:34
    51单片机蓝牙小车(精要版) 实现:通过手机与小车的蓝牙通信,实现手机控制小车前后左右的移动。 这是博主学了51单片机第一次做的单片机项目,选择了许多人喜欢的蓝牙小车作为第一个项目。 准备材料: 1.小车亚克力...

    51单片机蓝牙小车(精要版)

    实现:通过手机与小车的蓝牙通信,实现手机控制小车前后左右的移动。

    这是博主学了51单片机第一次做的单片机项目,选择了许多人喜欢的蓝牙小车作为第一个项目。

    准备材料:

    1.小车亚克力底盘
    2.减速电机4个(网上搜索有很多)
    3.蓝牙 HC-06
    4.L298N
    5.7.2V电源(记得配好接口,我买的是大田宫的接口)
    6.杜邦线若干(公对公,母对母,公对母)
    8.89C52RC单片机最小系统板
    7.必要的话要用电焊铁

    在这里插入图片描述

    在这里插入图片描述

    第一:

    首先说蓝牙模块,蓝牙模块是比较重要的模块,通过接收手机的信号,把数据传送给单片机,单片机控制电平,使L298N步进电机驱动小车轮子。蓝牙买了HC-06型号,配置非常简单,教程在汇承官网(官网)
    具体步骤就不列举了,官网非常详细。单片机程序后面再列举出来。

    第二:

    说一下连线,连线的话呢单片机的TX,RX,5V,GND分别接蓝牙的 RX,TX,5V,GND
    7.2V电源接口连接L298N步进电机的12V,电源GND连接L298N步进电机GND,然后关键的地方来了L298N的一个5V输出口连接单片机给单片机供电,步进电机的GND连接单片机的GND.
    (之前用电源连接单片机,单片机再输出供电给L298N,减速电机很难动起来,一直以为是程序错误或者是杜邦线连接错误,搞了很久,后来知道是单片机输出的电流是不够大的,所以正确的连接是 : 电源供电L298N,L298N供电给单片机,L298N供电给四个减速电机
    步进电机的左右两边分别有两个口,分别为output1,output2,output3,output4.
    output1,output2分别连接减速电机的正负(一共连接两个减速电机)
    output3,output4分别连接减速电机的正负(一共连接两个减速电机)

    第三:

    手机控制端就下载SPP蓝牙串口,然后选择按钮。定义按钮输入要发送的字符就OK了。
    在这里插入图片描述
    在这里插入图片描述

    第四:

    代码部分

    #include<reg52.h>
    #include<intrins.h>
    
    #define uchar unsigned char
    #define uint  unsigned int
    
    
    sbit LF=P0^0;//左上
    sbit LB=P0^1;//左下
    sbit RF=P0^2;//右上
    sbit RB=P0^3;//右下
    
    /前进/
    void forward()
    {
    	LF=0;
    	LB=1;
    	RF=0;
    	RB=1;
    }
    
    /后退/
    void back()
    {
    	LF=1;
    	LB=0;
    	RF=1;
    	RB=0;	
    }
    
    /左/ 
    void left()
    {
    	LF=0;
    	LB=0;
    	RF=0;
    	RB=1;
    }
    
    /右/
    void right()
    {
    	LF=0;
    	LB=1;
    	RF=0;
    	RB=0;
    	
    }
    
    void UsartConfiguration();
    void Delay_1ms(uint i);
    
    
    
    void Com_Int(void) interrupt 4
    {
    
      uchar receive_data;
    	
      EA = 0;
    	
      if(RI == 1) 
    	{ 		
    		RI = 0;
    		
    		    LF=0;
    				RF=0;
    				LB=0;
    				RB=0;
    		receive_data = SBUF;
    			
    		if(receive_data == '1')	 
    		{
    				forward();
    		}
    		
    		else if(receive_data == '2')
    		{
    				back();
    		}
    		
    		
    			else if(receive_data == '3')
    		{
    			left();
    		}
    		
    		
    			else if(receive_data == '4')
    		{
    				right(); 
    		}
    		
    		
    		else if(receive_data == '0')
    		{
    				LF=0;
    				RF=0;
    				LB=0;
    				RB=0;
    		}
    		
    		
    }
    		
    		
    		EA = 1;
    }
    
    
    void main()
    {
    
    	UsartConfiguration();
    	
    	while(1);	
    }
    	
    
    void UsartConfiguration()
    {	
    	SCON=0X50;			
    	TMOD=0X20;			
    	PCON=0X00;		
    	TH1=0XFd;		    
    	TL1=0XFd;
    	TR1=1;					
    	ES = 1;        
      EA = 1;         
    }
    
    
    
    void Delay_1ms(uint i)
    {
      uchar x,j;
      
      for(j=0;j<i;j++)
        for(x=0;x<=148;x++);
    }
    

    第五:

    这次的单片机蓝牙小车项目让我知道了许多东西都是要不断试错不断踩坑才能完成,多查查互联网,多问问朋友,有助于解决问题。下一个项目想要用STM32F407和openmv做一个跟着人运动的小车,朋友说用树莓派会更快,但是我STM32还没学好,就不跳跃这么快,先来STM32。学习时间大概为3个月(STM32&& openmv && python)。做好了会继续写博客。希望这个能对你有一点点帮助。感谢~

    展开全文
  • 单片机蓝牙及重力感应小车Android上位机,主要应用了 蓝牙开发 传感器开发
  • 用51单片机实现蓝牙控制小车,需要手机安装蓝牙串口软件即可控制
  • C51单片机蓝牙小车.zip

    2020-04-18 14:01:46
    手机下载一个蓝牙串口软件,通过手机蓝牙小车蓝牙模块通信,达到控制小车的作用。该产品制作简单,非常适合小孩玩耍。
  • 本人为软件工程专业,硬件不是本专业的学习范畴,因为本人对硬件感兴趣,自学了部分51单片机知识,这个小车是20年上半年因为疫情被困在家中突发奇想做的,现在有空闲时间就想着写一篇博客,分享给同样对硬件感兴趣的...

    重要声明

    本人为软件工程专业,硬件不是本专业的学习范畴,因为本人对硬件感兴趣,自学了部分51单片机知识,这个小车是20年上半年因为疫情被困在家中突发奇想做的,现在有空闲时间就想着写一篇博客,分享给同样对硬件感兴趣的小伙伴。

    所需知识准备

    了解51单片机、HC-05/06蓝牙模块使用方法!!!!

    准备材料

    51单片机最小系统板、LM2596降压模块、HC-06蓝牙模块、MG995系列180度舵机、L298N电机驱动(160w双路)、任意品牌遥控车车架带电机、聚合物锂电池一块

    部分原材料照片

    在这里插入图片描述
    在这里插入图片描述

    设计思路和接线示意

    在这里插入图片描述

    原理简介

    因为是自学的51单片机,不会用太复杂的东西,所以用到的原理都很简单,51单片机与HC-06蓝牙模块串口通信、L298N电机驱动芯片驱动两路电机、51单片机通过串口输出PWM波控制舵机,以上原理较为简单,就不一一详细阐述了,有一点想提醒和我一样的萌新:注意看你用的L298N的电流,如果驱动的电流较大,建议和我一样对它单独供电,不然会出大问题的!!还有一点就是串口通信时TXD与TRD反接问题,这是串口通信的关键。

    51程序代码

    下面的代码是成功的时候最原始的代码,后续进行过修改因为没保存,现在找不到了,所以就把最原始的代码贴出来了。程序比较简单,应该都看得懂。难一点的地方也加了注释,有看不懂的地方欢迎评论留言。

    /*蓝牙小车程序
    T0产生PWM控制舵机,T1用于串口通信舵机330hz*/
    #include<reg52.h> 
    #include<intrins.h>
    #define uchar unsigned char
    #define uint unsigned int
    
    sbit PWM=P0^0; 	 //舵机控制端口
    sbit in1=P2^0;	 //电机控制端口1
    sbit in2=P2^1;	 //电机控制端口2 
    sbit in3=P2^2;	 //电机控制端口3
    sbit in4=P2^3;    //电机控制端口4
    sbit FMQ=P0^1;    //蜂鸣器控制
    
    
    
    uint count=0,jd;
    uchar a;
    
    
    void InitUART() //串口初始化
    {
    	TMOD = 0x21;  //设置定时器T1
    	PCON = 0x00;  //关倍频
    	SCON = 0x50;  
      TH1 = 0xFD;	//T1 波特率9600
      TL1 = 0xFD;  
    	TR1 = 1;     //启动定时器
    	TR0 = 1;
    	ES = 1;  //开启串口中断
    	PS = 1;
    	ET0 = 1;   
    	EA = 1;     //开启总中断
    	
    }
    
    void main ()
    {
     	InitUART();	
    	while (1);
    
    }
    
     void Time0_Int() interrupt 1 //中断程序
    {
    TH0  = 0xfe;             //重新赋值
    TL0  = 0x33;
        if(count< jd)              //判断0.5ms次数是否小于角度标识
          PWM=1;                  //确实小于,PWM输出高电平
        else
          PWM=0;                  //大于则输出低电平
        count=(count+1);          //0.5ms次数加1
        count=count%40;     //次数始终保持为40 即保持周期为20ms
    }
    
    void UARTInterrupt () interrupt 4  //中断程序 4
    {
    
     if(RI==1)
        {
        	RI = 0;
    		a = SBUF;
    		if (a == 0x01)  //前进
    		{
    			in1=1;
    			in2=0;
    			in3=1;
    			in4=0;
    		}
    		if (a == 0x02)	//后退
    		{
    			in1=0;
    			in2=1;
    			in3=0;
    			in4=1;
    		} 
    		if (a == 0x00)		//停止
    		{
    			in1=1;
    			in2=1;
    			in3=1;
    			in4=1;
    		}
    		if(a == 0x03)		//左转
    		{		
    			jd=2;
    		}
    	
    		if(a == 0x04)		//右转
    		{	 	
    			jd=4;
    		
    		} 
    		if(a == 0x05)		 //回中
    		{	  
    			jd=3;			
    		} 			
    	  
    		if(a ==0x06)   //蜂鸣器开
    		{
    		   FMQ=0;
    		}
    		if(a ==0x07)     //蜂鸣器关
    		{
    		   FMQ=1;
    		}
    	}		
    	
    }
    

    成品展示

    在这里插入图片描述

    手机遥控界面

    在这里插入图片描述

    总结反思

    现在再回去看我的第一个51作品,看着简单,回想刚开始研究51时的艰辛,各种贴吧网站逛了个遍,四处搜集查找资料,因为一点小问题冥思苦想好几天,到最后玩上了自己的遥控车,真的是成就感满满啊!!!继续加油吧,,哈哈。有需要以上原始材料相关资料的可以私信我!!

    展开全文
  • 百度网盘资料链接: csdn资料链接: 一、材料准备 1、电机选择 名称:霍尔编码电机 型号:620转 这里用直流电机即可,这个贵,网上搜...名称:STC89C52单片机最小系统板 购买链接:https://m.tb.cn/h.43JCfUl?sm=0792c6

    哔哩哔哩项目展示视频:https://www.bilibili.com/video/BV1Wy4y1z7a5
    在这里插入图片描述

    csdn资料链接:https://download.csdn.net/download/mbs520/13124051
    百度网盘资料链接:https://pan.baidu.com/s/1p93c_CG3TJvcAXAENR_X0g
    提取码:dwe2
    取走记得点赞哟!
    在这里插入图片描述

    化作尘百度网盘下载中心:

    在这里插入图片描述

    一、材料准备

    1、电机选择

    名称:霍尔编码电机
    型号:620转12V

    这里用直流电机即可,这个贵,网上搜直流减速电机,最好带个轮子,方便安装
    在这里插入图片描述

    2、小车框架
    博主这个就直接锯木板了
    在这里插入图片描述
    或者直接购买智能小车底盘
    在这里插入图片描述

    3、主控芯片选择
    名称:STC89C52单片机最小系统板
    购买链接:https://m.tb.cn/h.43JCfUl?sm=0792c6

    4、电机驱动
    名称:LN298
    特点:驱动电流大,工作稳定,就是比较费电
    在这里插入图片描述

    5、电源
    名称:18650锂电池
    特点:比较便宜,比较常见
    电压:3.7V
    (我的是废充电宝下拆下的,比较丑)
    在这里插入图片描述

    6、蓝牙模块
    名称:HC-05
    特点:能连接手机
    在这里插入图片描述

    二、电路原理

    电路原理图(看不清请下载资料)
    注意:298的 +12V 引脚是输入,+5V 引脚是5V输出
    单片机供电由298稳压供电
    在这里插入图片描述

    按图连接好
    在这里插入图片描述

    三、源代码

    /*******************************************
    名称:51蓝牙小车
    作者:化作尘
    时间:2020年11月18日21:36:47
    *******************************************/
    
    #include "reg52.h"
    
    
    #define uchar unsigned char
    #define uint unsigned char
    
    
    /***小车控制定义**/
    #define DIR P1
    #define QIAN 0xaa 
    #define HOU 0x55 
    #define ZUO 0x5a 
    #define YOU 0xa5 
    #define STOP 0x00 
    
    
    void uart_init();
    void uart_tx_string(uchar *str);
    void uart_tx_byte(uchar str);
    void Delayms(unsigned int n);
    uchar rec;
    
    /*********************************************************
    函数名:主函数
    *********************************************************/
    void main()
    {
            uart_init();
    		DIR = STOP;
            Delayms(1);
            uart_tx_string("hello buletooch car!\n");
            while(1)
            {
                    switch(rec)
    								{
    									case 1:DIR = QIAN;	break;
    									case 2:DIR = HOU;		break;
    									case 3:DIR = ZUO;		break;
    									case 4:DIR = YOU;		break;
    									case 5:DIR = STOP;	break;
    								}
            }
    }
    
    /*********************************************************
    函数名:串口中断
    *********************************************************/
    void uart_timer() interrupt 4
    {
            if(RI)
            {
                    RI=0;
                    rec=SBUF;
                    uart_tx_byte('&');
                    Delayms(2);
                    uart_tx_byte(rec);
                    Delayms(2);
                    uart_tx_byte('&');
            }
    }
    
    /*********************************************************
    函数名:串口初始化
    波特率:9600
    晶振:11.059M
    *********************************************************/
    void uart_init()
    {
    				TMOD=TMOD&0x0F;
    				TMOD=0x20;
    				TH1=0xFD;
    				TL1=0xFD;
    				TR1=1;
    				SCON=SCON&0x0F;
    				SCON=0x50;
    				EA=1;
    				ES=1;
    }
     
    /*********************************************************
    函数名:串口发送一个字节
    *********************************************************/
    void uart_tx_byte(uchar str)
    {
            SBUF=str;
            while(!TI);
    }
    
    /*********************************************************
    函数名:串口发送一个字符串
    *********************************************************/
    void uart_tx_string(uchar *str)
    {
            while(*str!='\0')
            {
                    uart_tx_byte(*str++);
                    Delayms(2);
            }
    }
    
    /*********************************************************
    函数名:延时函数
    *********************************************************/
    void Delayms(unsigned int n)
    {
            unsigned int i,j;
            for(j=n;j>0;j--)
                    for(i=112;i>0;i--);
    }
    
    

    四、调试

    1、HC-05蓝牙模块调试
    HC-05默认波特率9600,如果不是9600,修改方法
    电脑用串口助手连接模块,连接波特率38400,模块上电前按住小按键进入AT模式。
    修改波特率指令:AT+UART=9600,0,0
    在这里插入图片描述
    2、蓝牙串口app

    打开资料里有蓝牙串口app或者直接应用商店搜索“蓝牙串口”下载。

    使用方法:
    1)键盘->打开编辑模式->点击键盘开始编辑
    在这里插入图片描述
    2)按照下图设置:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3)连接蓝牙,开始测试

    测试可能正反转有出错的情况,只需要改动代码或者接线即可

    蓝牙小车视频:https://www.bilibili.com/video/BV1Wy4y1z7a5

    化作尘其它开源项目链接:

    单片机项目:

    基于stm32c8t6的坡道行驶巡线小车(2020年TI杯大学生电子设计竞赛 C题)

    [

    https://blog.csdn.net/mbs520/article/details/115438122

    ](https://blog.csdn.net/mbs520/article/details/115438122)

    基于STM32F4的音乐播放器

    https://blog.csdn.net/mbs520/article/details/111313042

    基于STM32F4的电子阅读器(首创)

    https://blog.csdn.net/mbs520/article/details/110817173

    基于51单片机WiFi视频小车(首创)

    https://blog.csdn.net/mbs520/article/details/109843972

    基于51单片机蓝牙小车

    https://blog.csdn.net/mbs520/article/details/109775964

    基于MSP430 坡道行驶电动小车(2020年TI杯大学生电子设计竞赛 C题)

    https://blog.csdn.net/mbs520/article/details/109090072

    基于stm32f4的智能门锁系统

    https://blog.csdn.net/mbs520/article/details/106987758

    基于51单片机超声波测距小车

    https://blog.csdn.net/mbs520/article/details/106599219

    基于51单片机定时宠物喂食系统

    https://blog.csdn.net/mbs520/article/details/108292187

    Linux项目:

    基于QT5 Linux平台

    停车场管理系统

    https://blog.csdn.net/mbs520/article/details/113481824

    基于QT5 Linux平台

    车载系统

    https://blog.csdn.net/mbs520/article/details/112873809

    基于Linux系统

    媒体播放器

    https://blog.csdn.net/mbs520/article/details/107880118

    基于Linux系统

    语音识别、人机对话

    https://blog.csdn.net/mbs520/article/details/113179224

    基于Linux系统

    小钢琴程序(暂无博客)

    基于Linux系统 QQ通讯录管理系统(暂无博客)

    展开全文
  • 51单片机蓝牙小车,蓝牙模块HC-05,手机蓝牙打开连接上蓝牙模块,连接上后,去网上下载蓝牙串口调试助手,就可以通过发送程序里面所设定的程序AT指令,发送从而控制小车走动
  • 51单片机蓝牙循迹小车 文章目录51单片机蓝牙循迹小车前言一、蓝牙模块、电机驱动模块、红外驱动模块的使用二、使用步骤1.中断方式初始化2.中断子程序2.电机驱动总结 前言 基于蓝牙串口通信遥控小车,在程序中对...
  • 51单片机循迹蓝牙小车c程序
  • 基于51单片机蓝牙小车软件 包含上位机apk和单片机代码。。
  • 蓝牙小车单片机C程序

    2016-01-26 22:48:22
    蓝牙小车单片机C程序!蓝牙小车单片机C程序
  • 基于51单片机,采用HC-08蓝牙模块,通过手机app发送数据从而实现对小车的前进,后退,左转,右转,停止。
  • 蓝牙小车单片机代码

    2017-11-18 22:07:53
    项目是通过蓝牙APP操作单片机小车,实现手机控制小车运行和车内播放播放音乐,用到了单片机的看门狗和三个定时器(音符定时器、音长定时器、和串口定时器);对应的APP源码链接...
  • 蓝牙小车代码.txt

    2020-02-07 16:22:16
    51单片机蓝牙小车
  • 详情咨询QQ2672243803,免费提供资料,免费讲解
  • 基于51单片机蓝牙遥控小车,用了L298N驱动,手机上下载蓝牙助手和HC-06进行数据传输亲测绝对可用,资源提供了所有代码,欢迎大家批评指正
  • 基于51单片机制作的蓝牙小车

    千次阅读 多人点赞 2021-02-15 16:00:01
    基于51单片机制作的蓝牙小车 这是本人(小菜鸡一枚)于大一寒假所做的小玩意,以展现我这几月所学,这也是我发的第一篇博客,准确来说这可能是我搞51单片机的巅峰所做了,因为部长说以后要学stm32开发板了,51单片机...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 349
精华内容 139
关键字:

单片机蓝牙小车