|
/********************
* 文件名:L298N.c
* ******************/
#include <stc12C5A60S2.H>
#include "LN298.h"
sbit OUTA_1 = P2^0; //控制左轮
sbit OUTA_2 = P2^1;
sbit OUTB_1 = P2^2; //控制右轮
sbit OUTB_2 = P2^7;
/**********PWM控制速度*********/
void PWM_INIT(void)
{
CCON = 0;
CMOD = 0x02;
CL = 0x00;
CH = 0x00;
CCAPM0 = 0x42;
CCAPM1 = 0x42;
}
/*
* 函数名:STOP_CAR
* 描述 :小车停止
* 输入 :无
* 输出 :无
*/
void CAR_STOP(void)
{
OUTA_1 = 0;
OUTA_2 = 0;
OUTB_1 = 0;
OUTB_2 = 0;
}
/*
* 函数名:CAR_Go_Forward
* 描述 :小车前进
* 输入 :无
* 输出 :无
*/
void CAR_Go_Forward(void)
{
OUTA_1 = 1;
OUTA_2 = 0;
OUTB_1 = 0;
OUTB_2 = 1;
}
/*
* 函数名:CAR_Left
* 描述 :小车向左走
* 输入 :无
* 输出 :无
*/
void CAR_Left(void)
{
OUTA_1 = 0;
OUTA_2 = 0;
OUTB_1 = 0;
OUTB_2 = 1;
}
/*
* 函数名:CAR_Right
* 描述 :小车向右走
* 输入 :无
* 输出 :无
*/
void CAR_Right(void)
{
OUTA_1 = 0;
OUTA_2 = 1;
OUTB_1 = 0;
OUTB_2 = 0;
}
/*******右轮后退*********/
void Right_back(void)
{
OUTA_1 = 0;
OUTA_2 = 0;
OUTB_1 = 1;
OUTB_2 = 0;
}
void Left_back(void)
{
OUTA_1 = 1;
OUTA_2 = 0;
OUTB_1 = 0;
OUTB_2 = 0;
}
void main()
{
while(1)
{
PWM_INIT();
CCAP1L=0xC0;
CCAP1H=0xC0; //pwm1,P1.4
CCAP0L=0x40; //pwm0,p1.3
CCAP0H=0x40; //越大低电平时间越久
CR = 1;
CAR_Go_Forward();
}
}
这是我用来测试调速的,为什么调不了速度呢?
四轮驱动,但是左边的两个电机是并联的,右边的两个电机也是并联的,用的是一个L298N驱动模块,求问为什么调速调不了, |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|