|
51小車實現(xiàn)尋跡
*3ìDò1|Äü£»êμÏÖD¡3μѰ¼£
*3ìDò×÷Õß ÕÅ»¶
*′′×÷걼䣻2016-11-10
***********************************************/
#include <reg52.h>
#define unint unsigned int
#define unchar unsigned char
sbit IN1=P1^0;
sbit IN2=P1^2;
sbit IN3=P1^3;
sbit IN4=P1^5;
sbit ENA=P1^1;
sbit ENB=P1^4;
sbit jiance1=P2^5;
sbit jiance2=P2^6;
unchar timer1;
// ¶¨ê±Æ÷3õê¼»ˉ
void Timer()
{
TMOD= 0x10;
TH1 = 0xFE;
TL1 = 0x0C;
ET1 = 1;
EA = 1;
TR1 = 1;
}
// ÖD¶Ïoˉêy
void Time1(void) interrupt 3
{
TH1 = 0xFE;
TL1 = 0x0C;
timer1++;
}
// Õ¼¿Õ±è′|àíoˉêy
unint z;
void display(z)
{
if(timer1>100)
{
timer1=0;
}
if(timer1 < z)
{
ENA=1;
ENB=1;
}
else
{
ENA=0;
ENB=0;
}
}
void zhengzhuan()
{
IN1 = 0;
IN2 = 1;
IN3 = 0;
IN4 = 1;
display(40);
}
void fanzhuan()
{
IN1 = 1;
IN2 = 0;
IN3 = 1;
IN4 = 0;
display(50);
}
void youzhuan()
{
IN1 = 0;
IN2 = 1;
IN3 = 0;
IN4 = 0;
display(40);
}
void zuozhuan()
{ IN1 = 0;
IN2 = 0;
IN3 = 0;
IN4 = 1;
display(40);
}
void main()
{
Timer();
while(1)
{
zhengzhuan();
if(/*jiance1==0&&*/jiance2==1)
{
zuozhuan();
break;
}
if(jiance1==1/*&&jiance2==0*/)
{
youzhuan();
break;
}
}
}
|
|