51单片机驱动直流电机的问题(急急急~~~~~)
小弟在做一个51单片机驱动直流电机的设计,驱动电路采用的是H桥电路(电机给的电压是6V),不过有个问题:
程序如下:
void main(void)
{
MA3=0;
MB3=1; //MA3,MB3是一对用于驱动电机的IO,给完这两句电机应该开始旋转
for(i=0;i<20;i++)
{dl_ms(200);} //一段延时程序
MA3=1;
MB3=1; //一段延时后让电机停止转动,但有很多的时候就是停不了,是程序跑飞吗?跑飞的概率怎么这么大?
}
希望各位大侠尽快给我回复 谢谢了 ~~~
[解决办法]
兄弟,我觉得吧,你应该软硬联调,一步一步的调,MA3=0时,硬件该口是不是低,MB3=1时硬件该口是不是高。你就这段代码,大家也分不清是你的软件环境问题,还是软硬件连接问题,还是你的桥和电机的问题。一步一步的调,一个一个模块的测试,你应该会成功的。
[解决办法]
同意楼上的,不过建议在最后一个地方加上wihle(1);不然都知道程序跑到什么地方去了