直流电机
为了战胜这些问题,可以利用晶体管组成的H 桥驱动电路。应利用续流二极管或钳位二极管来避免由于反电动势引起的问题。因此它须要晶体管、二极管和电阻器,这可能会使我们的电路体积弘大且难以组装。

这里利用L293D驱动器 IC,它完美办理了这个问题。无需连接任何晶体管、电阻器或二极管。我们就可以利用微掌握器轻松掌握 L293D从而驱动马达。此种别中有两种 IC分别是L293D 和L293。L239D 在 4.5V 至 36V 范围内可供应 600mA 的最大电流,而L293在相同输入条件下可供应高达 1A 的电流。这些 IC 的所有输入均与 TTL 兼容,所有输出均配有钳位二极管。它们常日与感应负载一起利用,例如继电器螺线管、电机等。
L293D 包含四个半H 桥驱动器并成对启用。EN1 用于启用 1组输出(IN1-OUT1、IN2-OUT2),EN2 用于启用2组输出(IN3-OUT3、IN4-OUT4)。我们可以利用一个 L293D 驱动两个直流电机。
电路事理图
利用 L293D 将直流电机与 8051 连接
直流电机连接到L293D第一组输出,通过将 EN1 连接到逻辑高 (5V) 来启用它。VSS 引脚用于为 L293D 供应逻辑电压。这里利用事情在 5v 的 8051 微掌握器来掌握 L293D,因此逻辑电压为 5。电机事情电源通过L293D Vs引脚输入。
Keil C程序
#include<reg52.h>#include<stdio.h>void delay(void);sbit motor_pin_1 = P2^0;sbit motor_pin_2 = P2^1;void main(){while(1) { motor_pin_1 = 1; motor_pin_2 = 0; delay(); motor_pin_1 = 1; motor_pin_2 = 1; delay(); motor_pin_1 = 0; motor_pin_2 = 1; delay(); motor_pin_1 = 0; motor_pin_2 = 0; delay(); }}void delay(){ int i,j; for(i=0;i<1000;i++) for(j=0;j<1000;j++);}






