直接上代码吧,这一部分不需要看原理图的,有玩智能车的可以参考一下哈,本程序的功能是 小车 前进停止,后退停止,左转停止,右转停止。
下面请看注释。
#include<reg52.h>//包含头文件
sbit IN0=P1^0;//定义4个电机的引脚(四驱的小车) 一个电机对应2个引脚 共8个
sbit IN1=P1^1;
sbit IN2=P1^2;
sbit IN3=P1^3;
sbit IN4=P1^4;
sbit IN5=P1^5;
sbit IN6=P1^6;
sbit IN7=P1^7;
#define Leftgo {IN4=1,IN5=0,IN7=1,IN6=0;}//左侧2个车轮前进
#define Leftback {IN4=0,IN5=1,IN7=0,IN6=1;}//左侧2个车轮后退
#define Leftstop {IN4=0,IN5=0,IN7=0,IN6=0;}//左侧2个车轮停止
#define Rightgo {IN0=1,IN1=0,IN3=1,IN2=0;}//右侧2个车轮前进
#define Rightback {IN0=0,IN1=1,IN3=0,IN2=1;}//右侧2个车轮后退
#define Rightstop {IN0=0,IN1=0,IN3=0,IN2=0;}//右侧2个车轮停止
void delay(unsigned int k);//自定义延时函数
void run();//自定义前进函数
void back();//自定义后退函数
void turnleft();//自定义左转函数
void turnright();//自定义右转函数
void stop();//自定义停止函数
void main()//主函数部分
{
run();//前进
delay(300);
stop();;//停止
delay(200);
back();//后退
delay(300);
stop();停止
delay(200);
turnleft();//左转
delay(300);
stop();//停止
delay(200);
turnright();//右转
delay(300);
stop();//停止
delay(200);
}
void run()
{
Leftgo;
Rightgo;
}
void back()
{
Leftback;
Rightback;
}
void turnleft()
{
Leftback;
Rightgo;
}
void turnright()
{
Leftgo;
Rightback;
}
void stop()
{
Leftstop;
Rightstop;
}
void delay(unsigned int k)
{
unsigned int x,y;
for(x=0;x<k;x++)
for(y=0;y<2000;y++);
}
欢迎感兴趣的一起交流哈 还请各位斧正。
|