【基于51】红外寻迹智能小车 - 代码篇


前言

关于硬件部分可以看我上次写的帖子https://blog.csdn.net/ZER00000001/article/details/124378788
#新人报道我是普通本科大一新生,因为兴趣爱好加入学校机器人协会,计划本学期挑战电赛|ू・ω・` )没想到疫情突发,只能匆匆用了一个星期入门51,做阶段性小项目,基于51智能红外寻迹小车,虽然论坛教程很多,但还是发此贴记录分享撸车的时光,也顺便做个引子给刚入门的同好们…


一、准备工作

1.安装keil 5
2.有一定的c语言基础
3.明白各模块工作原理,才能写逻辑

二、使用步骤

1.模块化编程

【视频教程:b站江科大自化协】我跟着这位老师入门的51,他讲的很好,其中教会了我模块化编程(可以有效降低代码耦合性,并且写下来思路非常清晰!!!),所以在接下的说明中我会按照这种方式来讲解代码( ̄▽ ̄)~*
(代码不成熟,仅供参考)

2.电机模块

这是电机模块,也就是控制轮子怎么转的。(如果你的电机反向,就把1和0交换位置)

#include <REGX52.H>

sbit IN1 = P1^0;//左轮
sbit IN2 = P1^1;//左轮
sbit IN3 = P1^2;//右轮
sbit IN4 = P1^3;//右轮

void Left_Motor_Forward()//左轮前进
{
   
	IN1 = 1;
	IN2 = 0;
}

void Right_Motor_Forward()//右轮前进
{
   
	IN3 = 1;
	IN4 = 0;
}
//
void Left_Motor_Back()//左轮后退
{
   
	IN1 = 0;
	IN2 = 1;
}

void Right_Motor_Back()//右轮后退
{
   
	IN3 = 0;
	IN4 = 1;
}
//
void Left_Motor_Stop()//左轮停
{
   
	IN1 = 0;
	IN2 = 0;
}

void Right_Motor_Stop()//右轮停
{
   
	IN3 = 0;
	IN4 = 0;
}

这是函数封装

#ifndef __MOTORSET_H__
#define __MOTORSET_H__


void Left_Motor_Forward();
void Right_Motor_Forward();
void Left_Motor_Back();
void Right_Motor_Back();
void Left_Motor_Stop();
void Right_Motor_Stop();

#endif

3.小车动作模块

利用封装好的电机模块对小车整体控制

<
  • 127
    点赞
  • 870
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 38
    评论
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白还在写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值