#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit K1=P3^0;
sbit K2=P3^1;
sbit K3=P3^2;
sbit K4=P3^3;
sbit K5=P3^4;
sbit MA=P1^0;
sbit MB=P1^1;
sbit ML=P1^2;
sbit MR=P1^3;
sbit MU=P1^4;
void main(void)
{
while(1)
{
MU=0;
if(K1==0)
{
while(K1==0)
;
MA=0;MB=1;ML=1;MR=1;
}
if(K2==0)
{
while(K2==0)
;
MA=1; MB=0;ML=1;MR=1;
}
if(K3==0)
{
while(K3==0)
;
MA=1; MB=1;ML=0;MR=1;
}
if(K4==0)
{
while(K4==0)
;
MA=1; MB=1;ML=1;MR=0;
}
if(K5==0)
{
while(K5==0)
;
MA=1; MB=1;ML=1;MR=1; MU=1;
}
}
}
单片机控制5个电机是可能的,如果不是同时运动,那么不用扩展任何资源,IO口足够用了,比如步进电机,一个步进电机的控制信号可以只有4路,即:A,/A,B,/B,5个电机公用20个IO口,40芯单片机有32个IO口,所以够用了。
如果速度不一致而且需要同时运动的话,那么需要扩展一个8253定时器,采用52单片机,正好有5个定时器,用来控制速度。
第一:你是什么电机?
第二:你电机的功率多大的?
第三:你是要什么样控制要求?
这些东西你要分析好了再问,否则别人无法帮你,如果你是在不会,你可以找人给你开发即可。你只要提出控制要求与功能要求。
问题不清除5个什么电机 很简单的