时间比较紧,所以就只能把代码还有仿真电路图发过来。
一下是代码:
可以大致的控制电机的转速还有正转反转
#include<reg52.h>
#define uint unsigned int
sbit in1=P1^0;
sbit in2=P1^1;
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
sbit key5=P3^4;
uint i,j,m,a;
void delay(uint x)
{while(x--)for(m=0;m<110;m++);}
void key()
{
a=50;
if(key1==0){
while(key2!=0&&key3!=0){
in1=1;in2=0;
delay(a);
in1=0;in2=0;
delay(100-a);
if(key4==0){a=a+5;if(a>100)a=100;}
delay(20);
if(key5==0){a=a-5;if(a<0)a=0;}
delay(20);
}
}
if(key2==0){
while(key1!=0&&key3!=0){
in1=0;in2=1;
delay(a);
in1=0;in2=0;
delay(100-a);
if(key4==0){a=a+5;if(a>100)a=100;}
if(key5==0){a=a-5;if(a<0)a=0;}
}
}
if(key3==0){
in1=0;in2=0;
delay(20);
}
}
void main()
{
while(1)
{
key();
}
}