智能小车速度控制程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(y=0;y<2000;y++);
}
/************************************************************************/
//显示数码管字程序
void Display_SMG(void)
{
if(++i>=4)i=0;
P0=table[disbuff[i]];
P3_2接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1
P3_3接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2
P3_4接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3
P3_5接四路寻迹模块接口第四路输出信号即中控板上面标记为OUT4
四路寻迹传感器有信号(白线)为0 没有信号(黑线)为1
/****************************************************************************
简单寻迹程序:接法
EN1 EN2 PWM输入端,本程序不输入PWM,直接使插上跳线帽,使能输出,这样就能全速运行
接上测速模块
测速模块电源+5V GND 取自于单片机板靠近液晶调节对比度的电源输出接口
unsigned int V=0;//定义其速度
/************************************************************************/
//延时函数
void delay(unsigned int k)
{
unsigned int x,y;
for(x=0;x<k;x++)
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; 时右上电机停转
#include<AT89x51.H>
#define Left_1_led P3_4//P3_2接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1
#define Left_2_led P3_5//P3_3接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2
#define Right_1_led P3_6//P3_4接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3
把测速模块输出OUT1 OUT2 接入单片机P3。2 P3。3
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_百度文库 接IN1 IN2 当 P1_0=0,P1_1=0; 时左上电机停转
unsigned code dis[] ={0xfe,0xfd,0xfb,0xf7};//扫描数码管客值
unsigned char disbuff[5]={0};
unsigned char time=0;//显示缓存
unsigned char i =0;//定义扫描数码管字数
unsigned int count1=0;//计左电机码盘脉冲值
#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;}//右边两个电机向前走
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; 时右下电机停转
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; 时左下电机停转
四路寻迹传感器电源+5V GND 取自于单片机板靠近液晶调节对比度的电源输出接口
关于单片机电源:本店驱动模块内带LDO稳压芯片,当电池输入6V时时候可以输出稳定的5V
分别在针脚标+5 与GND 。这个输出电源可以作为单片机系统的供电电源。
****************************************************************************/
P2=dis[i];
}
/************************************************************************/
#define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;}//右边两个电机停转
sbit led1 =P2^0;
sbit led2 =P2^1;
sbit led3 =P2^2;
sbit led4 =P2^3;
unsigned code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管断码
#define Right_2_led P3_7//P3_5接四路寻迹模块接口第四路输出信号即中控板上面标记为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;}//左边两个电机向后转
}
/************************************************************************/
//显示数码管字程序
void Display_SMG(void)
{
if(++i>=4)i=0;
P0=table[disbuff[i]];
P3_2接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1
P3_3接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2
P3_4接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3
P3_5接四路寻迹模块接口第四路输出信号即中控板上面标记为OUT4
四路寻迹传感器有信号(白线)为0 没有信号(黑线)为1
/****************************************************************************
简单寻迹程序:接法
EN1 EN2 PWM输入端,本程序不输入PWM,直接使插上跳线帽,使能输出,这样就能全速运行
接上测速模块
测速模块电源+5V GND 取自于单片机板靠近液晶调节对比度的电源输出接口
unsigned int V=0;//定义其速度
/************************************************************************/
//延时函数
void delay(unsigned int k)
{
unsigned int x,y;
for(x=0;x<k;x++)
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; 时右上电机停转
#include<AT89x51.H>
#define Left_1_led P3_4//P3_2接四路寻迹模块接口第一路输出信号即中控板上面标记为OUT1
#define Left_2_led P3_5//P3_3接四路寻迹模块接口第二路输出信号即中控板上面标记为OUT2
#define Right_1_led P3_6//P3_4接四路寻迹模块接口第三路输出信号即中控板上面标记为OUT3
把测速模块输出OUT1 OUT2 接入单片机P3。2 P3。3
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_百度文库 接IN1 IN2 当 P1_0=0,P1_1=0; 时左上电机停转
unsigned code dis[] ={0xfe,0xfd,0xfb,0xf7};//扫描数码管客值
unsigned char disbuff[5]={0};
unsigned char time=0;//显示缓存
unsigned char i =0;//定义扫描数码管字数
unsigned int count1=0;//计左电机码盘脉冲值
#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;}//右边两个电机向前走
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; 时右下电机停转
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; 时左下电机停转
四路寻迹传感器电源+5V GND 取自于单片机板靠近液晶调节对比度的电源输出接口
关于单片机电源:本店驱动模块内带LDO稳压芯片,当电池输入6V时时候可以输出稳定的5V
分别在针脚标+5 与GND 。这个输出电源可以作为单片机系统的供电电源。
****************************************************************************/
P2=dis[i];
}
/************************************************************************/
#define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;}//右边两个电机停转
sbit led1 =P2^0;
sbit led2 =P2^1;
sbit led3 =P2^2;
sbit led4 =P2^3;
unsigned code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管断码
#define Right_2_led P3_7//P3_5接四路寻迹模块接口第四路输出信号即中控板上面标记为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;}//左边两个电机向后转