51单片机智能小车开<一>

小车是一个很好玩的玩具,平时视频里那些可以避开障碍物,可以自动寻路的小车更是神奇。

在接下来的教程中,我将揭露他们的神秘面纱,原来这么简单

提示:需要单片机基础和c语言基础

本次,我们设计好小车的外观结构,和电路部分,并且实现跑起来

 1-)外观结构我没有这么做,是以前玩具车裁剪下来的


外观非常简陋,

下面就是电路部分了

准备材料:

stc89c52芯片,12M晶振,30p的电容,led灯3个,1k电阻,开关一个,

电机驱动模块


有了电路之后,我们把所有的元器件都焊接好,下面是焊好的



电路焊接好之后,我们开始写代码和编译(编译和烧写我就不说了,有单片机基础,这些都是家常)

下载keil编译软件

链接: https://pan.baidu.com/s/1i5hzITJ 密码: yqcj

下载stc-isp烧写软件

链接: https://pan.baidu.com/s/1dECzLmx 密码: yefp

#include"reg52.h"
sbit led1=P0^0;	  //led 指示灯
sbit led2=P0^1;

sbit md1_1=P1^0;   //前进后退电机
sbit md1_2=P1^1;

sbit md2_1=P1^2;   //转弯电机
sbit md2_2=P1^3;

void delay(int n)	  //延时ms级
{
 	int z;
	while(n--){
	 for(z=110;z>0;z--);
	}
}
void led1_on()	  //指示灯关闭操作
{
 	led1=0;
}
void led1_off()
{
 	led1=1;
}
void led2_on()
{
 	led2=0;
}
void led2_off()
{
 	led2=1;
}

void lef()  //左转弯
{
  	md2_1=0;
	md2_2=1;
}
void rif()	//右转弯
{
  	md2_1=1;
	md2_2=0;
}
void be_move() //前进
{
 	md1_1=0;
	md1_2=1;
}
void ba_move() //后退
{
 	md1_1=1;
	md1_2=0;
}
void stop()	   //停止
{
 	md1_1=1;
	md1_2=1;
}
void os_init()
{
 	stop();
	led1_off();
	led2_off();
}
void main()
{
   os_init();
  
   while(1)
   {
		lef();
		be_move();
		led1_on();
		delay(2000);
		rif();
		ba_move();
		led1_off();
		delay(2000);

   }
}
代码烧写进去之后接上电源,小车就会向左走2秒,右走2秒,前进2秒,后退两秒,这样做只是为了测试各个操作是否正常。

到这里我们已经可以通过代码控制小车了,那么下次我们加上避障模块(超声波)


  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值