pwm调速流程图小车_PWM调速+循迹__智能小车程序

实用文档

//T0

产生双路

PWM

信号,

L298N

为直流电机调速,接

L298N

时相应的管脚上最好接上

10K

的上拉电阻。

/*

晶振采用

12M,

产生的

PWM

的频率约为

100Hz */

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit en1=P3^4; /* L298

Enable A */

sbit en2=P3^5; /* L298

Enable B */

sbit s1=P1^0; /* L298

Input 1 */

sbit s2=P1^1; /* L298

Input 2 */

sbit s3=P1^3; /* L298

Input 3 */

sbit s4=P1^2; /* L298

Input 4 */

sbit R=P2^0;

sbit C=P2^1;

sbit L=P2^2;

sbit key=P1^4;

uchar t=0; /*

中断计数器

*/

uchar m1=0; /*

电机

1

速度值

*/

uchar m2=0; /*

电机

2

速度值

*/

uchar tmp1,tmp2; /*

电机当前速度值

*/

/*

电机控制函数

index-

电机号

(1,2); speed-

电机速度

(0-100) */

void motor(uchar index, char speed)

{

if(speed<=100)

{

if(index==1) /*

电机

1

的处理

*/

{

m1=abs(speed); /*

取速度的绝对值

*/

s1=1;

s2=0;

}

if(index==2) /*

电机

2

的处理

*/

{

m2=abs(speed); /*

电机

2

的速度控制

*/

s3=1;

s4=0;

}

}

}

void Back(void)

{


版权声明:本文为weixin_39951112原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。