//T0
产生双路
PWM
信号,
L298N
为直流电机调速,
接
L298N
时相应的管脚上最好接上
10K
的上拉电阻。
/*
晶振采用
12M,
产生的
PWM
的频率约为
100Hz*/
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbiten1=P3^4;/*L298
的
EnableA*/
sbiten2=P3^5;/*L298
的
EnableB*/
sbits1=P1^0;/*L298
的
Input1*/
sbits2=P1^1;/*L298
的
Input2*/
sbits3=P1^3;/*L298
的
Input3*/
sbits4=P1^2;/*L298
的
Input4*/
sbitR=P2^0;
sbitC=P2^1;
sbitL=P2^2;
sbitkey=P1^4;
uchart=0;/*
中断计数器
*/
ucharm1=0;/*
电机
1
速度值
*/
ucharm2=0;/*
电机
2
速度值
*/
uchartmp1,tmp2;/*
电机当前速度值
*/
/*
电机控制函数
index-
电机号
(1,2);speed-
电机速度
(0-100)*/
voidmotor(ucharindex,charspeed)
{
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;
}
}
}
voidBack(void)
{