标题: 求高手指导,程序没错,但是电机不转灯也不亮。这个错在哪些地方? [打印本页]

作者: 机械小疯子    时间: 2016-3-10 13:04
标题: 求高手指导,程序没错,但是电机不转灯也不亮。这个错在哪些地方?
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar tab[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};
void delayms(uint ms)
{
    uint i;
    while(ms--)
          {
           for(i=0;i<120;i++);
           }
}
void main (void)
{
P2=0x00;
P0=0x01;
{
  while(1)
   {
    uint a;
        for (a=0;a<8;a++)
    P2=tab[a];
    P0=tab[a];
    delayms(20);
   }
  }
}


捕获.JPG (118.88 KB, 下载次数: 189)

捕获.JPG

作者: chenguangyou    时间: 2016-3-10 19:25
1,for()循环里面少了中括号;2,P0口要上拉输出;3,电机确定这样能驱动??
作者: zhangfan3765    时间: 2016-3-11 10:13
本帖最后由 zhangfan3765 于 2016-3-11 10:32 编辑

发光二极管要接上拉电阻不然P0输出不了高电平,电机正反转要三极管H桥驱动。主程序中FOR循环体括起来。
作者: jiajuntao    时间: 2016-3-11 10:22
调试程序,要从小的步骤开始
作者: 机械小疯子    时间: 2016-3-11 12:49
步进电机不需要ULN2003A不能驱动吗?
作者: 机械小疯子    时间: 2016-3-11 12:50
谢谢你。我试试
作者: 机械小疯子    时间: 2016-3-11 12:54
这个是proteus里的步进电机,我还不具体知道六个引脚的功能啊,您能给我说说吗?

作者: 机械小疯子    时间: 2016-3-11 13:07
果然是括号的事,电机现在能转,但是灯还是不亮啊

捕获.JPG (151.32 KB, 下载次数: 176)

捕获.JPG

作者: zhangfan3765    时间: 2016-3-11 13:29
机械小疯子 发表于 2016-3-11 13:07
果然是括号的事,电机现在能转,但是灯还是不亮啊

哥们,你的原理图是错的,好好看看书,不要想当然的在这联接,这种连接实际上不存在的,先把最基本的硬件搭建好,弄清原理,再写程序。
作者: ls0899    时间: 2016-3-11 20:04
发光管正极接电阻120欧到正极,再试试
作者: 山清水秀    时间: 2016-3-11 20:21
chenguangyou 发表于 2016-3-10 19:25
1,for()循环里面少了中括号;2,P0口要上拉输出;3,电机确定这样能驱动??

看到用protues仿真时P1必需接上拉电阻,而P0,p2,p3口不用接上拉电阻,可以把程序改到p2或p3口一试。
作者: 机械小疯子    时间: 2016-3-11 23:02
机械小疯子 发表于 2016-3-11 13:07
果然是括号的事,电机现在能转,但是灯还是不亮啊

好的,我试试,谢谢您
作者: 机械小疯子    时间: 2016-3-11 23:03
zhangfan3765 发表于 2016-3-11 13:29
哥们,你的原理图是错的,好好看看书,不要想当然的在这联接,这种连接实际上不存在的,先把最基本的硬件 ...

我自学,有些东西不太会,您能说说这个为什么不对吗
作者: 机械小疯子    时间: 2016-3-11 23:04
山清水秀 发表于 2016-3-11 20:21
看到用protues仿真时P1必需接上拉电阻,而P0,p2,p3口不用接上拉电阻,可以把程序改到p2或p3口一试。

恩恩,我试试,谢谢
作者: 机械小疯子    时间: 2016-3-11 23:04
ls0899 发表于 2016-3-11 20:04
发光管正极接电阻120欧到正极,再试试

好的,我试试,谢谢
作者: zhangfan3765    时间: 2016-3-12 00:04
机械小疯子 发表于 2016-3-11 23:03
我自学,有些东西不太会,您能说说这个为什么不对吗

你那种上拉电阻可以用但是不合理,步进电机加个驱动芯片。如图。




作者: 腾飞的龙    时间: 2016-3-14 15:08
多看资料多看教学视频,多练就会很快提高的,不用只是用仿真,最好焊板子实验。现实和理论是不同的。
作者: 机械小疯子    时间: 2016-3-23 20:16
腾飞的龙 发表于 2016-3-14 15:08
多看资料多看教学视频,多练就会很快提高的,不用只是用仿真,最好焊板子实验。现实和理论是不同的。

恩恩,自己买了一套板子,正在练习中




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1