#include"reg51.h"
#define uchar unsigned char
sbit EA1=P1^6;
sbit EA2=P1^7;
sbit C1=P3^0;
sbit C2=P3^1;
sbit C3=P3^2;
sbit C4=P3^3;
delay (int t)
{
int i,j;
for(i=0;i
;
}
void main()
{
EA1=1;
EA2=1;
C1=1;
C2=0;
C3=1;
C4=0;
while(1)
{
EA2=1; //调节 占空比=10/(10+4)减速(高电平:低电平=10:4)
EA1=0;
delay(10);
EA2=0;
EA1=0;
delay(4);
}
}
希望对你有点帮助。单片机不能直接输出那么大的电流,所以得有驱动板。没有电机转不了。
直流电机 单片机端口是不能直接供电的 电流太小 带动不了直流电机
要用电机驱动芯片
比较简单和常用的是 l298 电机驱动芯片
关于它的data sheet 网上很多 小搜索一下就有了
引脚资料和电机连接方式上面都有
l298 可以控制两个电机的正反转 如果你不用调速的话那就相当简单了
程序例如:
input a ,input b,enable(这三个都是芯片引脚的名字) 分别用单片机的
p1.0 p1.1 p1.2控制 output a(引脚名字) 接电机
程序:
clr p1
setb p1.0
setb p1.1(正转)
clr p1
setb p1.1
setb p1.1 (反转)
超简单的 电机控制芯片还有很多例如 摩托罗拉公司的 mc33886 也可以
祝你好运
很高兴回答楼主的问题 如有错误请见谅