关于L7010R马达芯片驱动电动机的问题
时间:10-02
整理:3721RD
点击:
不知道是不是这种马达驱动芯片有记忆的功能,我让它正转,然后停止,最后再反转结束。可是实际结果是一直转——停——转——停如是循环。各位资深前辈能看出究竟是什么问题吗?
#include
sbit P3_5=P3^5;
sbit P3_6=P3^6;
#define UINT8 unsigned char
void delay(unsigned int n)
{
unsigned int i,j;
for(i=n;i>0;i--)
for(j=110;j>0;j--)
{;}
}
void main()
{
UINT8 a=0,b=0;
P3_6=1;
P3_5=0;
for(b=0;b<2;b++)
{delay(4000);}
P3_6=0;
P3_5=0;
for(a=0;a<2;a++)
{delay(4000);}
P3_6=1;
P3_5=0;
while(1);
}
#include
sbit P3_5=P3^5;
sbit P3_6=P3^6;
#define UINT8 unsigned char
void delay(unsigned int n)
{
unsigned int i,j;
for(i=n;i>0;i--)
for(j=110;j>0;j--)
{;}
}
void main()
{
UINT8 a=0,b=0;
P3_6=1;
P3_5=0;
for(b=0;b<2;b++)
{delay(4000);}
P3_6=0;
P3_5=0;
for(a=0;a<2;a++)
{delay(4000);}
P3_6=1;
P3_5=0;
while(1);
}
你的换向语句在哪里,你自己写不就是一个方向转么,最后一段是P3_5置1才是
不好意思,那个写错了。不过我的要求是先正转,然后停,最后反转。可是实际情况是一直转动,停止,转动,停止啊。不知道为什么
那你就不要用while(1)啊,这样不就是一直重复在执行嘛,你多加一个判断条件,就可实现单次执行了
已经解决了,我烧写的时候把允许低压复位的钩去掉了,就可以了。也许就是使用同一个电源的情况下,驱动大功率电机时(尤其是电动机启动时),如果电源功率不够大,电源电压会掉落太多,导致单片机低电压复位重启。
上一篇:有木有搞基于FPGA的缩放算法,看了好多论文,原理懂就是没有fpga实现的思路,求交流,求大神指点
下一篇:极客DIY限时挑战 — 12月挑战任务一:用Arty FPGA开发板制作一款无线压强感应垫
下一篇:极客DIY限时挑战 — 12月挑战任务一:用Arty FPGA开发板制作一款无线压强感应垫