#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
/*管脚定义,按需求自己改吧*/
sbit left_PWM=P1^0;
sbit right_PWM=P1^1;
sbit left1=P2^0;
sbit left2=P2^1;
sbit right1=P2^2;
sbit right2=P2^3;
/**************************/
uchar time;
void sotp()
{
left1=0;
left2=0;
right1=0;
right2=0;
}
void go()
{
left1=0;
left2=1;
right1=1;
right2=0;
}
void turn_right()
{
left1=1;
left2=0;
right1=1;
right2=0;
}
void turn_left()
{
left1=0;
left2=1;
right1=0;
right2=1;
}
void delay(uint i)//延时函数,先不用哈
{
while(i--);
}
void main()
{
TMOD=0x01;
TH0=0xFC;
TL0=0x18;//1ms******* 3.改这调速
EA=1;
ET0=1;
TR0=1;
turn_right();
//turn_left();
//go();
while(1)
{
}
}
void tim0() interrupt 1
{
TR0=0;
TH0=0xFC;
TL0=0x18;//重装载 ****** 3.改这调速
TR0=1;
time++;
if(time>=20) //2.改这调速
time=0;
if(time<=4)//1.改这调速
{
left_PWM=1;
right_PWM=1;
}
else
{
left_PWM=0;
right_PWM=0;
}
}
51pwm,可前后左右转,懒码了,放一份在这
于 2022-04-01 22:20:27 首次发布