找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

小菜鳥第一次使用L298N驅(qū)動模塊,求大神交我怎么連線?

查看數(shù): 4632 | 評論數(shù): 6 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2017-7-21 12:01

正文摘要:

求大神指導(dǎo)下我的問題,51單片機開發(fā)板已經(jīng)和L298N驅(qū)動模塊連接了,但我不知道是否正確,目前我只是控制了一個小的直流電機,但是按下按鍵沒有反應(yīng),不清楚是程序還是原理圖出了問題,求大神指教,非常感謝! 以下 ...

回復(fù)

ID:221804 發(fā)表于 2017-7-23 17:55
注意和單片機共地
ID:221507 發(fā)表于 2017-7-23 09:45
前幾天剛做了一個

#include <reg52.h>
typedef unsigned char uchar;
typedef unsigned int  uint;

sbit shineng = P1^2;   
sbit i0        = P1^0;                  
sbit i1        = P1^1;                    

sbit stop  = P3^4;     
sbit fan     = P3^5;     
sbit jia     = P3^7;   
sbit jian      = P3^6;   

sbit we=P2^7;
sbit du=P2^6;
static uchar c;
uchar th0=(65535-50000)/256;
uchar tl0=(65535-50000)%256;
code uchar disptab[]={0x3f,0x6,0x5b,0x4f,0x66,
0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,
0x79,0x71,0x0};
code uchar dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
uchar dispbuf[6];

uchar speed = 0;
delayms(uint k);
PWM() ;
key();
delay1(uchar x);
Inittimer0();

void main(void)
{
        delayms(10);
        Inittimer0();
  while(1)
        {
                key();
                PWM();
                if(speed<100)
                {
                  dispbuf[5]=speed/20;
                       
                }
                else if(speed>=100)
                {
                        dispbuf[5]=5;
                       
                }
        }
       
       

}



delayms(uint k)     
{
        uint a,s;
   for(a=k;a>0;a--)
       for(s=110;s>0;s--);
}

PWM()      
{
  shineng=1;
  delayms(speed);
  shineng=0;
  delayms(100-speed);
}


key()
{
        if(stop==0)            
        {
                delayms(1);
                if(stop==0)
                {
                        while(stop==0);
                        i0 = 0;
                        i1 = 0;
                }
        }

        if(fan==0)               
        {
                delayms(1);
                if(fan==0)
                {               
                        while(fan==0);
                        i0=~i1;
      i0=~i0;
                        i1=~i1;
                }
        }
        if(jia==0)              //??
        {
                delayms(1);
                if(jia==0)
                {
                        while(jia==0);
                                speed=speed+20;
                                if(speed >= 100)
                                        speed=100;
                }
        }

        if(jian==0)             //??
        {
                delayms(1);
                if(jian==0)
                {
                        while(jian==0);
                        if(speed != 0)
                                speed=speed-20;
                  else if(speed<=0)
                                speed=0;                       
                }
        }       
}

delay1(uchar x)
{       
        uint y;
        for(;x>0;x--)
                for(y=100;y>0;y--);
}
timer0() interrupt 1
{
        static uchar count=0;
        uchar tmp;
        P0|=0x3f;
        we=1;
        tmp=dispbit[count];
        P0=P0&tmp;
        we=0;
  P0=disptab[16];
        du=1;
        tmp=dispbuf[count];
        tmp=disptab[tmp];
    P0=tmp;
        du=0;
        count++;
        if(count==6)
        {
                count=0;
        }
        TH0=th0;
        TL0=tl0;
}
Inittimer0()
{
        TMOD=0x02;
        TH0=th0;
        TL0=tl0;
        EA=1;
        ET0=1;
        TR0=1;
}




ID:164602 發(fā)表于 2017-7-22 08:48
看我給你的圖。
要注意的是:5V是輸出,供小車上的單片機用電?茨愕膱D,是不需要的。

1.jpg (192.43 KB, 下載次數(shù): 86)

1.jpg
ID:34643 發(fā)表于 2017-7-22 06:32
你這程序怎么前面都加了“//”,還能編譯不?
ID:150593 發(fā)表于 2017-7-21 15:59
ENA端為0停止,讓P1.0輸出低電平停止
ID:169394 發(fā)表于 2017-7-21 14:09
按照以上的連接正反轉(zhuǎn)能夠?qū)崿F(xiàn)了,但是停止實現(xiàn)不了,求大神指教!

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表