51单片机遥控车编程,帮忙写程序要求在下面
#include
#define uchar unsigned char
#define uint unsigned int
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
sbit key1=P2^0;
sbit key2=P2^1;
sbit key3=P2^2;
void delay(uint n)
{ uint x,y;
for(x=n;x>0;x--)
for(y=110;y>0;y--);
}
void forward()
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
void reverse()
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
void left()
{
IN1=0;
IN2=0;
IN3=1;
IN4=0;
}
void right()
{
IN1=1;
IN2=0;
IN3=0;
IN4=0;
}
void stop()
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
void RSINTR() interrupt 4
{
if(RI==1)
{
RI=0;
if(SBUF=='A')
reverse();
else if(SBUF=='B')
forward();
else if(SBUF=='C')
left();
else if(SBUF=='D')
right();
else if(SBUF=='E')
stop();
}
}
main()
{
SCON=0x50;//允许串口接收
TMOD=0x20;
PCON=0x80;
TH1=0xfd;
TL1=0xfd;
RI=0;
TR1=1;
EA=1;
ES=1;
while(1)
{
}
}
做一个基于51单片机的红外遥控小车
你这有现成的红外遥控器,那板子上红外发射就不需要用 了,只要用接收头就可以,首先单片机写个测试遥控器各个按键的键码的程序,有了键码后面你才能做控制。这样就只是简单的单片机检测红外接收数据,比如设置的是收到01前进,02后推这样,接收红外数据用定时写个函数,网上有现成的接收程序,简单修改下就能用了。