新手必看(STC89C52)单片机寻迹避障蓝牙四轮小车的简单实现

2019-12-03来源: 51hei关键字:STC89C52  单片机  寻迹避障蓝牙  四轮小车

一、关于材料的选择           

1.L289驱动电机x2

2.1.5V电池(可以买充电电池,我用了几十个电池了!!!)我是用8节1.5v构成12v电池单独给4个电机供电,另外3节1.5v给单片机供电,4.5v与           5v差不多。

3.底板加4马达(电机)。

4.有条件可以用电钻(我是在各个店单独购买的,所以底板孔与器件孔不搭配,自己钻的)

5.若干杜邦线,公对公 母对母 公对母都买X3应该足够了,最短就好了不需要那么长,但是有钱可以买X1

6.淘宝上的板子STC89C52,有各种现成的接口,适合新手学习,学习过后可以自己焊板子。

7.4个红外避障模块,2个寻迹模块,一个蓝牙模块。

8.手机商城下个蓝牙串口来操作控制。


二、关于环境

1.我用的 keil4 (能够编译查看代码是否正确。)

2.下载stc-isp来烧程序(先断单片机电 然后烧 再开电,不然烧不起吧。)

3.烧的程序名后缀是.Hex。

4.usb-单片机线一根,我的是淘宝送的。


三、关于一些细节

1.我用的是H桥来控制电机,比较普遍。

2.因为我的小车电机是单独供电的,所以地线(12v的负极)要接在单片机的地线接口上!!

3.杜邦线与线接口要处理好确保通电。


四、部分代码

sbit IN2 = P0^1;

sbit IN3 = P0^2;

sbit IN4 = P0^3;

sbit IN5 = P0^4;

sbit IN6 = P0^5;

sbit IN7 = P0^6;

sbit IN8 = P0^7;

                   


sbit Left_bizhang = P3^0;

sbit Right_bizhang = P3^1;

sbit Left_led=P3^2;

sbit Right_led=P3^3;


unsigned char pwm_val =0;

unsigned char push_val =0;


void delay(unsigned int k)

{

      unsigned int x,y;

          for(x=0;x

          {

             for(y=0;y<2000;y++);

           }

}


void run(void)

{

      push_val=3;

IN1=0; 

IN2=1;        

IN3=0; 

IN4=1; 

IN5=1;        

IN6=0;

IN7=1;

IN8=0;        

}


void backrun(void)

{

IN1=1;

IN2=0;

IN3=1;

IN4=0;

IN5=0;

IN6=1;

IN7=0;

IN8=1;

}


void leftrun(void)

{

      IN1=0;

IN2=0;

IN3=1;

IN4=0;

IN5=0;

IN6=1;

IN7=0;

IN8=0;

}

void rightrun(void)

{

     IN1=1;

IN2=0;

IN3=0;

IN4=0;

IN5=0;

IN6=0;

IN7=0;

IN8=1;

}

void stop(void)

{

IN1=0;

IN2=0;

IN3=0;

IN4=0;

IN5=0;

IN6=0;

IN7=0;

IN8=0;

}

void Che_init()

{

      P1=0x00;

          TMOD=0x01;

          TH0=0xFC;

          TH0=0x18;

          TR0=1;

          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 xunji(){


       while(1){

                        if(Left_led==1&&Right_led==1)

                {

                        ET0=1;

                        run();

                }

                else

                {

                        if(Left_led==0&&Right_led==1)

                        {

                                    IN1=0;

                                        

IN2=0;

IN3=0;

IN4=1;

IN5=1;

IN6=0;

IN7=0;

IN8=0;

                        }

                        if(Right_led==0&&Left_led==1)

                        {

                        

                                     IN1=0;

IN2=1;

IN3=0;

IN4=0;

IN5=0;

IN6=0;

IN7=1;

IN8=0;

                        }

                        

                }

                }

}

void bizhang(){


                  while(1)

        {

                run();

                

                 if(Left_bizhang==1&&Right_bizhang==1)

                 {

                         run();


                 }

                 else


                 {

                         if(Left_bizhang==1&&Right_bizhang==0)

                         {


                                 backrun();

                                 delay(50);

                                 leftrun();

                                delay(100);

                         }

                         if(Left_bizhang==0&&Right_bizhang==1)

                         {

                                 backrun();

                                 delay(50);

                                 rightrun();

                                delay(100);

                         }

                 }

        

        }

}


关键字:STC89C52  单片机  寻迹避障蓝牙  四轮小车 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic481790.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:智能窗帘设计:51单片机+A/D转换+光敏电阻+LCD1602+步进电机
下一篇:单片机电子时钟和led流水灯的结合(仿真+程序)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STC89C51单片机和ADXL345三轴加速度模块实现简易计步器程序
单片机源程序如下:#include "STC51PRJ.h"extern BYTE BUF[8];//接收数据缓存区/*****************起始信号***************/void ADXL345_Start(){        SDA = 1;                    //拉高数据线        SCL = 1;           
发表于 2019-12-10
STC89C52RC单片机控制步进电机仿真与程序
本单片机是STC89C52RC,本程序应用于step motor--28BYJ,小型步进电机,供电电压DC5V,可直接接于单片机通过ul2003驱动芯片驱动,数码管是共阴极接口,控制步进电机启动/停止,正反转,加减速,并有运行,及转换状态显示。是初学者的好例程。实物图: 仿真原理图如下 单片机源程序如下:/*本单片机是STC89C52RC,本程序应用于step motor--28BYJ,小型步进电机,   供电电压DC5V,可直接接于单片机通过ul2003驱动芯片驱动,数码管是共阴极接口,*/#include <STC89C5xRC.H>#define uchar
发表于 2019-12-05
STC89C52RC单片机控制步进电机仿真与程序
基于单片机的自动打铃系统的设计
的STC89C51单片机最小系统如图2-3所示。图2-3单片机最小系统STC89C51单片机本设计采用STC89C51单片机,如图2-4所示。STC89C51是一款高性能、低功耗的8位CMOS微处理芯片其具备4K的FLASH程序存储器,256字节的内部RAM、6个不同的中断源、4和中断优先级、4个8位I/O口、2个16位的定时计数器、全双工的串口通信。图2-4 STC89C51单片机引脚图各引脚的用途如下所示:VCC(40):接电源+5V,用于电路供电。GND(20):接地,用于保护电路。XTAL1(19)和XTAL2(18):当时钟脉冲式输入状态时,用外部振荡电路,如果有1个外接电容,就用时钟电路。当外部时钟脉冲来临时,用来接输入的脉冲信号
发表于 2019-11-30
基于单片机的自动打铃系统的设计
LCD12864中文液晶屏显示
单片机源程序如下:/* ***************************************************** */ /* ***************************************************** */// 工  程   : 51单片机开发板// 文件名   : LCD12864.c// 处理器   : STC89C52RC// 编译环境 : Keil4 C51 // 系统时钟 : 11.0592MHZ// 版    本        : V1.0 
发表于 2019-11-30
LCD12864中文液晶屏显示
做一个最简单的蓝牙小车
需要模块:1.STC89C52RC单片机+最小系统2.HC06蓝牙从机模块3.L298电机驱动模块4.电源(7v)5.电机+车轮以上都可以在淘宝上购买的到。不过建议DIY的同志还是自己买单个原件焊接,比较有学习意义。第一步 ——车体小车车体建议自己制作,一是简单,而是可以节省成本,找一块塑料板,买一瓶502胶水,把在网上买的电机直接粘上去就可以了,很稳固。淘宝也有成品的车体,我就是直接买成品的。自己动手太浪费时间也不好看,但是就没有成就感了。第二步——控制系统动手制作一个单片机最小系统,安上芯片,非常的简单51单片机最小系统的电路图大家应该都知道——第三部——电机驱动底盘和最小系统搞好了,小车还是跑不起来——缺少电机驱动
发表于 2019-11-22
avr单片机功能特性介绍
RISC 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。由于 AVR 采用了 RISC 的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。AVR单片机的推出,彻底打破这种旧设计格局,废除
发表于 2019-12-14
avr单片机功能特性介绍
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved