机器人团队第三周学习总结(补充)

小车电机前后左右综合实验

#include<AT89X52.H>	 //包含51单片机头文件
//定义智能小车驱动模块输入IO
sbit IN1 =	P1^2; // 高电平1 后退(反转)
sbit IN2 =  P1^3; // 高电平1 前进(正转)

sbit IN3 =	P1^6; // 高电平1 前进(正转)
sbit IN4 =  P1^7; // 高电平1 后退(反转)

sbit EN1 =	P1^4;   // 高电平使能 
sbit EN2 =  P1^5;	// 高电平使能 

//延时函数	
   void delay(unsigned int k)
{    
     unsigned int x,y;
	 for(x=0;x<k;x++) 
	   for(y=0;y<2000;y++);
}

//小车前进函数
 void run(void)
 {
     IN1=0;		//左电机
	 IN2=1;

	 IN3=1;		//右电机
	 IN4=0;

	 EN1=1;   // 左端电机驱动开使能端
	 EN2=1;   // 右端电机驱动开使能端
 }

//小车后退函数
 void backrun(void)
 {
     IN1=1;		//左电机
	 IN2=0;

	 IN3=0;		//右电机
	 IN4=1;

	 EN1=1;
	 EN2=1;
 }
 //小车左转函数
 void leftrun(void)
 {
     IN1=0;		//左电机
	 IN2=0;

	 IN3=1;		//右电机
	 IN4=0;		

	 EN1=1;
	 EN2=1;
 }
  //小车右转函数
 void rightrun(void)
 {
     IN1=0;		//左电机
	 IN2=1;

	 IN3=0;		//右电机
	 IN4=0;

	 EN1=1;
	 EN2=1;
 }
   //小车停止函数
 void stopruo(void)
 {
     IN1=0;		//左电机
	 IN2=0;

	 IN3=0;		//右电机
	 IN4=0;

	 EN1=1;
	 EN2=1;
 }

//主函数
void main(void)
{
   
     run();   //调用前进函数
     delay(100);
	while(1)
	{
		   backrun();	//调用后退函数
		   delay(200);
		   leftrun(); 
		   delay(200);  
		   rightrun();
		   delay(200);
		   stopruo();
		   delay(400);
		   delay(400);
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值