标题: l298n驱动电机c程序及接线图 [打印本页]

作者: a@a@a@    时间: 2019-2-14 15:06
标题: l298n驱动电机c程序及接线图
本帖最后由 a@a@a@ 于 2019-2-15 10:47 编辑

#include<reg51.h>

#define sen_port P1

sbit SEN1=P1^0;
sbit SEN2=P1^1;

sbit EN1=P2^2;
sbit IN1=P2^3;
sbit IN2=P2^4;

sbit EN2=P2^5;
sbit IN3=P2^6;
sbit IN4=P2^7;

void delay(int n)               //延时子程序
{
  unsigned char i,j,k;
  for(i=n;i>0;i--)
  for(j=100;j>0;j--)
  for(k=200;k>0;k--);
}

unsigned char sensor_inp()
{
        unsigned char sensor;
        sensor = sen_port;
        sensor &= 0x03;
        P0 = sensor;
        return sensor;
}

void forward()                //two motos are runing forward
{
        IN1=1;
        IN2=0;
        IN3=1;
        IN4=0;
        EN1=1;
        EN2=1;
}

void backward()                //two motos are runing backward
{
        IN1=0;
        IN2=1;
        IN3=0;
        IN4=1;
        EN1=1;
        EN2=1;
}
void turn_left()        //left moto is runing, but right moto is brake
{
        IN1=1;
        IN2=0;
        IN3=0;
        IN4=0;
        EN1=1;
        EN2=1;
}
void rotate_left()        //right moto is runing forward, and left moto is running backward
{
        IN1=1;
        IN2=0;
        IN3=0;
        IN4=1;
        EN1=1;
        EN2=1;
}
void turn_right()        //right moto is runing, but left moto is brake
{
        IN1=0;
        IN2=0;
        IN3=1;
        IN4=0;
        EN1=1;
        EN2=1;
}
void rotate_right()        //left moto is running forward, and right moto is running backward
{
        IN1=0;
        IN2=1;
        IN3=1;
        IN4=0;
        EN1=1;
        EN2=1;
}
void free()                        //two motos is free
{
        IN1=0;
        IN2=0;
        IN3=0;
        IN4=0;
        EN1=0;
        EN2=0;
}
void stop()                        //two motos stop
{
        IN1=1;
        IN2=1;
        IN3=1;
        IN4=1;
        EN1=1;
        EN2=1;
}        
void main(void)
{
        delay(10);
        P0=0x55;
        while(1)
        {
//                P0=P1;               
//        delay(100); forward();
//                delay(100); stop();
        delay(100); backward();
                delay(100); stop();
        delay(100); turn_left();
                delay(100); stop();
        delay(100); turn_right();
                delay(100); stop();
        delay(100); rotate_left();
                delay(100); stop();
        delay(100); rotate_right();
                delay(100); stop();
        delay(100); stop();
        delay(20);        forward();
        delay(20);        backward();
        delay(20);
/*
        */
        }
}
l298n一般有3种接线方法
方式1:双电源板载5v供电(两电源须共地)
方式2:双电源单片机5v供电(拔掉跳线帽)
方式3:单电源板载5v供电(插上跳线帽)



图片2.jpg (317.16 KB, 下载次数: 65)

方式2

方式2

图片3.jpg (310.56 KB, 下载次数: 70)

方式3

方式3

图片1.jpg (355.31 KB, 下载次数: 68)

方式1

方式1

L298N_电机驱动模块_程序书(1).doc

722.5 KB, 下载次数: 26, 下载积分: 黑币 -5


作者: admin    时间: 2019-2-14 23:44
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
作者: 1174051618    时间: 2019-2-18 11:27
可以的
作者: zhjjj    时间: 2019-10-21 14:53
电压给几伏、?





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