C驱动程序1

  • 格式:doc
  • 大小:12.00 KB
  • 文档页数:1

给你个能正反转的!

#include

#include

unsigned char code table[]={0x01,0x02,0x04,0x08};

unsigned char code table0[]={0x08,0x04,0x02,0x01};

void delay(unsigned char ms)

{

unsigned char i,j;

for(i=ms;i>0;i--)

for(j=110;j>0;j--);

}

void main()

{

unsigned char i;

while(1)

{

for(i=0;i<4;i++)

{

P0=table[i];

delay(100);

}

}

}

如果反转的话把table改为table0就行了

首先要看你的电机是直流电机还是步进电机。直流电机就简单了,只有两根线,电机两端电压正负极改变就可以实现正转反转。不过要加电机驱动芯片,或者H桥电路,电机驱动芯片可以选择L298N,加上适当的外围电路就可以直接用单片机控制电机了。比如让单片机P1.0 = 0,P1.1 = 1;(单片机I/0口要与电机驱动芯片的输入脚相连)这样的话,电机驱动芯片就会输出一个电压差,可以使直流电机向一个方向转,如果使P1.0 = 1,P1.1 = 0,则电机驱动芯片会输出一个和刚才相反的电压,使电机向相反的方向转动。H桥电路和电机驱动芯片的原理差不多,网上多的是。我这说的只是简单的原理,实际中,L298N的输入端和单片机相连的时候要加光耦隔离,否则单片机会工作不正常。步进电机就稍微复杂点,也得需要电机驱动芯片才行,只不过控制信号是按一定的规律给的,规律变了,电机转动的方向也就变了。楼上给出的貌似是步进电机的驱动程序。