标题:
为什么我这个烧进单片机车子只是正转
[打印本页]
作者:
虫虫大作战
时间:
2016-11-26 15:28
标题:
为什么我这个烧进单片机车子只是正转
头文件
******************************************************************/
#include<AT89X52.H>
/******************************************************************
** 接线定义
******************************************************************/
#define Left_moto_go {P1_0=1,P1_2=1;P1_3=0;} //左电机正转
#define Left_moto_back {P1_0=1,P1_2=0;P1_3=1;} //左电机反转
#define Left_moto_Stop {P1_0=0;} //左电机停转
#define Right_moto_go {P1_1=1,P1_4=1;P1_5=0;} //右电机正转
#define Right_moto_back {P1_1=1,P1_4=0;P1_5=1;} //右电机反转
#define Right_moto_Stop {P1_1=0;} //右电机停转
/******************************************************************
** 延时函数
******************************************************************/
void delay(unsigned int k)
{
unsigned int x,y;
for(x=0;x<k;x++)
for(y=0;y<2000;y++);
}
/******************************************************************
** 小车前进
******************************************************************/
void front_run(void)
{
Left_moto_go;
Right_moto_go;
}
/******************************************************************
** 小车倒退
******************************************************************/
void back_run(void)
{
Left_moto_back;
Right_moto_back;
}
/******************************************************************
** 小车左转
******************************************************************/
void left_run(void)
{
Left_moto_Stop;
Right_moto_go;
}
/******************************************************************
** 小车右转
******************************************************************/
void right_run(void)
{
Right_moto_Stop;
Left_moto_go;
}
/******************************************************************
** 小车停走
******************************************************************/
void stop(void)
{
Left_moto_Stop
Right_moto_Stop;
}
/******************************************************************
** 主函数
******************************************************************/
void main(void)
{
delay(100);
while(1)
{
front_run();
delay(200);
back_run();
delay(200);
left_run();
delay(200);
right_run();
delay(200);
stop();
delay(400);
}
}
/******************************************************************
** 结束
作者:
lgjdqm
时间:
2016-11-27 16:38
应该考虑延时的问题
作者:
我不配11
时间:
2016-11-27 17:25
宏定义部分有问题
作者:
minilong95
时间:
2016-11-27 17:27
试试加大延迟
作者:
daifei1234
时间:
2016-11-27 21:48
因为它不会反转呀
作者:
咆哮的阿杰
时间:
2016-11-27 22:11
你这个电机是不需要驱动电路的吗????为什么直接对I/O口赋值就能对电机进行操作?
作者:
a0931727149
时间:
2016-11-28 17:37
咆哮的阿杰 发表于 2016-11-27 22:11
你这个电机是不需要驱动电路的吗????为什么直接对I/O口赋值就能对电机进行操作?
在正到反轉間下個停車ㄧ點時間。試試看
在宏定義中en先除能。等到命令下完在致能。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1