找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3287|回复: 8
打印 上一主题 下一主题
收起左侧

求教L293d和单片机 不论发送什么数据,电机都不受控制

[复制链接]
跳转到指定楼层
楼主
arduino的l293d驱动板转到51单片机上出现了问题因为驱动板通过74HCT595N连接单片机,所以我写了个程序,如下
//74HC595
#include <reg51.h>
#include <intrins.h>
#define NOP() _nop_()
sbit MOSIO=P2^1;
sbit R_CLK=P2^2;
sbit S_CLK=P2^0;
sbit M1=P1^1;           //电机使能
sbit M4=P1^2;         
sbit M3=P1^3;
sbit M2=P1^4;
sbit pwm=P1^0;
void delay(unsigned int i);
void HC595SendData(unsigned char SendVal);
void delay(unsigned int i)
{
        unsigned int j;
        for(i;i>0;i--)
                for(j=300;j>0;j--);
}
void HC595SendData(unsigned char SendVal)
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                if((SendVal<<i)&0x80)MOSIO=1;
                else MOSIO=0;
                S_CLK=0;
                NOP();
                NOP();
                S_CLK=1;
        }
        R_CLK=0;
        NOP();
        NOP();
        R_CLK=1;
}
void main()
{
        M1=1;                //电机使能
        M2=1;
        M3=1;
        M4=1;              
        pwm=0;             //595使能
        while(1)
        {
               
                HC595SendData(0xf0);//发送数据
        }
}



现在出现的问题是,不论发送什么数据,电机都不受我控制,单片机断电重开后,或者拔线重连,电机的转动情况可能都不一样。
我认为可能是连线问题,图如下



该如何解决呢?感激不尽!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:264258 发表于 2018-1-1 15:01 | 只看该作者
或许是连线问题,51板上有3个GND4个VCC,驱动板上有三个GND,3V,5V,还有其他的引脚不知道怎么连
回复

使用道具 举报

板凳
ID:164602 发表于 2018-1-1 17:53 | 只看该作者
同学,你了解你的模块吗???我在某宝上查找L293D模块,就找到了你的这块模块,还有资料。
我截了些图,你看看,你也可以去找找。
学51,不了解硬件,是很有问题的。

1.jpg (74.76 KB, 下载次数: 47)

1.jpg

2.jpg (8.3 KB, 下载次数: 53)

2.jpg

3.jpg (4.74 KB, 下载次数: 50)

3.jpg
回复

使用道具 举报

地板
ID:262845 发表于 2018-1-9 10:55 | 只看该作者
HC595SendData(0xf0);//发送数据,同学这是发送什么数据,有没有PWM脉冲。要有控制脉冲才能转。
回复

使用道具 举报

5#
ID:264258 发表于 2018-1-9 18:14 | 只看该作者
人在江湖128 发表于 2018-1-9 10:55
HC595SendData(0xf0);//发送数据,同学这是发送什么数据,有没有PWM脉冲。要有控制脉冲才能转。

PWM我设置的始终为开,发送的数据是八位二进制码,对应四个电机的正负极,这个十六进制数字会通过595芯片转换成八位的并行输出到四个电机上。
回复

使用道具 举报

6#
ID:264258 发表于 2018-1-9 18:16 | 只看该作者
HC6800-ES-V2.0 发表于 2018-1-1 17:53
同学,你了解你的模块吗???我在某宝上查找L293D模块,就找到了你的这块模块,还有资料。
我截了些图, ...

硬件我是了解的,这些资料我也都有,要不然我是不可能完成arduino到51的转换的。大佬您很优秀,那么应该能看得出来,我贴的图是了解硬件之后才做的吧?
回复

使用道具 举报

7#
ID:437993 发表于 2018-12-3 21:48 | 只看该作者
朋友你好,请问一下你的这个问题解决没有,我也刚好遇到这个问题,接线和你的差不多,驱动板电源已经联通,但是电机就是不转,也无法检测595这个芯片的数据是否写进去了,输出没有。望回复
回复

使用道具 举报

8#
ID:606164 发表于 2019-10-13 13:47 来自手机 | 只看该作者
兄弟,一样的问题啊,电机的转动情况不定,我更奇葩的是主控板电源都没开,电机就转了,驱动板那几个PWM端都有1.8
回复

使用道具 举报

9#
ID:607802 发表于 2019-10-13 16:27 来自手机 | 只看该作者
程序有没有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表