L9110S电机控制模块

发布于:2024-06-02 ⋅ 阅读:(85) ⋅ 点赞:(0)

1.L9110s控制小车前进后退左右

        接通VCC,GND 模块电源指示灯亮, 以下资料来源官方,但是仍需我们调制

(前进):        L1A输入低电平,L1B输入高电平

                          R1A输入低电平,R1B输入高电平

(后退则相反):

                          L1A输入高电平,L1B输入低电平

                          R1A输入高电平,R1B输入低电平

(左转):         L1A输入低电平,L1B输入低电平

                           R1A输入低电平,R1B输入高电平

(右转则相反):

                           L1A输入低电平,L1B输入高电平

                           R1A输入低电平,R1B输入低电平

#include "reg52.h"
#include "intrins.h"

sbit RightConlA = P3^2; //右轮
sbit RightConlB = P3^3;

sbit LeftConlA  = P3^4; //左轮
sbit LeftConlB  = P3^5;

void Delay1000ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 8;
	j = 1;
	k = 243;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void goForward()
{
	LeftConlA = 0;
	LeftConlB = 1;

	RightConlA = 0;
	RightConlB = 1;
}

void goBack()
{
	LeftConlA = 1;
	LeftConlB = 0;

	RightConlA = 1;
	RightConlB = 0;
}

void goLeft()
{
	LeftConlA = 0;
	LeftConlB = 0;

	RightConlA = 0;
	RightConlB = 1;
}

void goRight()
{
	LeftConlA = 0;
	LeftConlB = 1;

	RightConlA = 0;
	RightConlB = 0;
}

void main()
{
		while(1)
		{
			goForward();
			Delay1000ms();
			Delay1000ms();
			goBack();
			Delay1000ms();
			Delay1000ms();
			
			goLeft();
			Delay1000ms();
			Delay1000ms();
			goRight();
			Delay1000ms();
			Delay1000ms();
		}
}