51 单片机的直流电机驱动如下图所示为 L298N 焊接的供电板子,怎么用呢? 首先,介绍下上面的接口部分,一共五个部分。?第一部分: L298N 芯片。这就不用多说了,百度文库上有很多关于这个芯片的资料,我就不多说了。?第二部分: A1 、 A2 、 B1 、 B2 四个接口分别用来连接直流电动机或者是步进电机。 A1 和 A2 是一组,驱动一个电机。 B1 和 B2 一组驱动另一个电机。?第三部分: VDD 接口,可以接一个六节 的五号电池的正极。(右边那个 GND 是共地端,要将你用的开发板的 GND 和这个仪器接上,同时也是电源的共地接口) ?第四部分: 节四节 五号电池的正极。负极接 GND 。?第五部分: 这里一共有六个接口: ? 使能 A1 、 A2 的接口,也就是说如果 ENA 不接高电平,那么 A1 、 A2 驱动的电机是不可能可以驱动的。 2 ENB 同上。 3A1 、 A2 、 B1 、 B2 你可以用你的开发板的四个 I\O 口接它们,它们的高低电平将直接影响到第二部分输出的高低电平(经过芯片的放大,这是的电压已经很高了,这就是作用)。如果你想驱动电机 A运转,可以在 A1 上加高电平 A2 上加低电平。这样电机就有了电势差,就可以云装了,调整电势差可以改变正传反转和加减速( PWM 来控制)。下面上源码,源码收集于网上,原著不详,现回馈大家。#include<> #define uchar unsigned char #define uint unsigned int sbit INPUT1 = P1^0; // 控制口 sbit INPUT2 = P1^1; sbit INPUT3 = P1^2; sbit INPUT4 = P1^3; sbit ENA = P1^4; // 产生 PWM 波 sbit ENB = P1^5; uint MA=0,MB=0; uint SpeedA=20;//50% 占空比 uint SpeedB=20; void delay(uint z){ uint x,y; for(x=z;x>0;x--) for(y=125;y>0;y--); } void main(void) { delay(1000) ; delay(1000) ; INPUT1=1; INPUT2=0; INPUT3=1; INPUT4=0; TH0
51单片机的L298N直流电机驱动(PWM) 来自淘豆网m.daumloan.com转载请标明出处.