51单片机两轮双电机调速代码
时间: 2023-10-27 10:04:57 浏览: 85
以下是一份基于51单片机的双电机调速代码,可以通过调节占空比来控制电机转速:
```c
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
void Delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);
}
void Run(uchar i,uchar j)
{
IN1=i;
IN2=!i;
IN3=j;
IN4=!j;
}
void main()
{
uchar i,j,k;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=1;
while(1)
{
for(k=0;k<=20;k++)
{
if(k<=10)
{
i=1;
j=(k*20)+30;
Run(i,j);
}
else
{
i=1;
j=((20-k)*20)+30;
Run(i,j);
}
Delay(1000);
}
}
}
```
其中,IN1~IN4为控制电机转向的引脚,Delay函数用于延时,Run函数用于控制电机转速。
在main函数中,我们通过循环控制电机转速,占空比从30%到100%再到30%。你可以根据实际情况进行修改。
阅读全文