⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 寻迹车.c

📁 4WD智能小车安装程序教程
💻 C
字号:
	/****************************************************************************
	 简单寻迹程序:接法
	 
     EN1 EN2 PWM输入端,本程序不输入PWM,直接使插上跳线帽,使能输出,这样就能全速运行


     P1_0 P1_1 接IN1  IN2    当 P1_0=1,P1_1=0; 时左上电机正转	左上电机接驱动板子输出端(蓝色端子OUT1 OUT2)
	 P1_0 P1_1 接IN1  IN2    当 P1_0=0,P1_1=1; 时左上电机反转	
	 P1_0 P1_1 接IN1  IN2    当 P1_0=0,P1_1=0; 时左上电机停转	

	 P1_2 P1_3 接IN3  IN4    当 P1_2=1,P1_3=0; 时左下电机正转	左下电机接驱动板子输出端(蓝色端子OUT3 OUT4)
	 P1_2 P1_3 接IN3  IN4    当 P1_2=0,P1_3=1; 时左下电机反转   
	 P1_2 P1_3 接IN3  IN4    当 P1_2=0,P1_3=0; 时左下电机停转	

	 P1_4 P1_5 接IN5  IN6    当 P1_4=1,P1_5=0; 时右上电机正转	右上电机接驱动板子输出端(蓝色端子OUT5 OUT6)
	 P1_4 P1_5 接IN5  IN6    当 P1_4=0,P1_5=1; 时右上电机反转
	 P1_4 P1_5 接IN5  IN6    当 P1_4=0,P1_5=0; 时右上电机停转

	 P1_6 P1_7 接IN7  IN8    当 P1_6=1,P1_7=0; 时右下电机正转	右下电机接驱动板子输出端(蓝色端子OUT7 OUT8)
	 P1_6 P1_7 接IN7  IN8    当 P1_6=0,P1_7=1; 时右下电机反转
	 P1_6 P1_7 接IN7  IN8    当 P1_6=0,P1_7=0; 时右下电机停转    

     P3_2接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1
     P3_3接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2	
     P3_4接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3
	 P3_5接四路寻迹模块接口第四路输出信号即中控板上面标记为OUT4	 四路寻迹传感器有信号(白线)为0  没有信号(黑线)为1
	 四路寻迹传感器电源+5V GND 取自于单片机板靠近液晶调节对比度的电源输出接口

																							 
	 关于单片机电源:本店驱动模块内带LDO稳压芯片,当电池输入6V时时候可以输出稳定的5V
	 分别在针脚标+5 与GND 。这个输出电源可以作为单片机系统的供电电源。
	****************************************************************************/
	
	
	#include<AT89x51.H>


	#define Left_moto_pwm     P3_6	  //PWM输出本寻迹小车不用
	#define Right_moto_pwm    P3_7	  //PWM输出本寻迹小车不用


    #define Left_1_led        P3_4	 //P3_4接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1
	#define Left_2_led        P3_5	 //P3_5接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2	

    #define Right_1_led       P3_6	 //P3_6接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3
	#define Right_2_led       P3_7	 //P3_7接四路寻迹模块接口第四路输出信号即中控板上面标记为OUT4



	#define Left_moto_go      {P1_0=1,P1_1=0,P1_2=1,P1_3=0;}    //左边两个电机向前走
	#define Left_moto_back    {P1_0=0,P1_1=1,P1_2=0,P1_3=1;} 	//左边两个电机向后转
	#define Left_moto_Stop    {P1_0=0,P1_1=0,P1_2=0,P1_3=0;}    //左边两个电机停转                     
	#define Right_moto_go     {P1_4=1,P1_5=0,P1_6=1,P1_7=0;}	//右边两个电机向前走
	#define Right_moto_back   {P1_4=0,P1_5=1,P1_6=0,P1_7=1;}	//右边两个电机向前走
	#define Right_moto_Stop   {P1_4=0,P1_5=0,P1_6=0,P1_7=0;}	//右边两个电机停转   


   
/************************************************************************/	
//延时函数	
   void delay(unsigned int k)
{    
     unsigned int x,y;
	 for(x=0;x<k;x++) 
	   for(y=0;y<2000;y++);
}
/************************************************************************/
//前速前进
     void  run(void)
{
    
	 Left_moto_go ;   //左电机往前走
	 Right_moto_go ;  //右电机往前走
}

//前速后退
     void  backrun(void)
{
    
	 Left_moto_back ;   //左电机往前走
	 Right_moto_back ;  //右电机往前走
}

//左转
     void  leftrun(void)
{
    
	 Left_moto_back ;   //左电机往前走
	 Right_moto_go ;  //右电机往前走
}

//右转
     void  rightrun(void)
{
    
	 Left_moto_go ;   //左电机往前走
	 Right_moto_back ;  //右电机往前走
}


/*********************************************************************/		 
/*--主函数--*/
	void main(void)
{



	delay(100);	   
    run();

	while(1)							/*无限循环*/
	{ 

	  leftrun();
					 
	 }
}
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -