📄 moto.h
字号:
/*
主函数
void main()
{
TMOD=0X01;
TH0=0XEE;
TL0=0X58;
EA=1;
TR0=1;
while(1)
{
}
}
void timer0(void) interrupt 1
{
TH0=0XEE;
TL0=0X58;
count1--;
if(count1==0)
{
count1=period;
count2=pulse;
P1_4=1;
P1_5=1;
}
count2--;
if(count2==0) {P1_4=0;P1_5=0;count2++;}
}
*/
#define pulse 5
#define period 8
int count1=period;
int count2=pulse;
int go1=0x0a;
int back1=0x05;
int leftgo1=0x32;
int rightgo1=0x38;
int reversecount=0;
void delay(int degree)
{
unsigned int m;
m=0;
for(m=0;m<(degree*100);m++);
}
void go(int degree1)
{
int grade1=degree1;
ET0=1;
P1=go1;
delay(grade1);
P1=0;
}
void back(int degree2)
{
int grade2=degree2;
ET0=1;
P1=back1;
delay(grade2);
P1=0;
}
void right(int degree3)
{ int i;
int grade3=degree3;
ET0=0;
for(i=0;i<grade3;i++)
{
P1=0x39;
delay(10);
P1=0x36;
delay(1);
P1=0;
}
P1=0x36;
delay(5);
P1=0;
ET0=1;
}
void left(int degree4)
{
int i;
int grade4=degree4;
ET0=0;
for(i=0;i<grade4;i++)
{
P1=0x36;
delay(10);
P1=0x39;
delay(1);
P1=0;
}
P1=0x39;
delay(5);
P1=0;
ET0=1;
}
void right45(void)
{ int i;
ET0=0;
for(i=0;i<7;i++)
{
P1=0x39;
delay(30);
P1=0x36;
delay(1);
P1=0;
}
P1=0x36;
delay(5);
P1=0;
ET0=1;
}
void left45(void)
{
int i;
ET0=0;
for(i=0;i<7;i++)
{
P1=0x36;
delay(20);
P1=0x39;
delay(1);
P1=0;
}
P1=0x39;
delay(5);
P1=0;
ET0=1;
}
void rightgo(int degree5)
{
int i;
int grade5=degree5;
ET0=0;
for(i=0;i<grade5;i++)
{
P1=rightgo1;
delay(10);
P1=0;
delay(3);
}
ET0=1;
}
void leftgo(int degree6)
{
int i;
int grade6=degree6;
ET0=0;
for(i=0;i<grade6;i++)
{
P1=leftgo1;
delay(10);
P1=0;
delay(3);
}
ET0=1;
}
void reverse(void)
{
if(reversecount==1)
{
go1=0x0a;
back1=0x05;
leftgo1=0x02;
rightgo1=0x08;
reversecount--;
}
back1=0x0a;
go1=0x05;
leftgo1=0x01;
rightgo1=0x04;
reversecount++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -