📄 cdle-j20_main.c
字号:
else if(!P1_5&!P1_6)
{
K=-0.5773;
DX=10;
}
else if(P1_5&P1_6)
{
K=-0.5773;
DX=-10;
}
else
{
if(!P1_5&!P1_7)
{
DX=10;
}
else
{
DX=-10;
}
DL1_=(Y-1150)/sqrt((950-X)*(950-X)+(1150-Y)*(1150-Y))*DX;///右电机
DL2_=(Y-1150)/sqrt((X+150)*(X0+150)+(1150-Y)*(1150-Y))*DX;////左电机
//X0+=DX;
Y+=DX;
DriveMoter();
goto end;
}
GetDL12();
X+=DX;
Y+=K*DX;
DriveMoter();
}
end:;
Fasheng_Flag=0;
}
}
if(Fasheng_Flag==5&&!KEY) ///+++++
{
DELAYTIME=1;
DL2_=-5;
DL1_=0;
DriveMoter();
DELAYTIME=5;
}
if(Fasheng_Flag==9&&!KEY) ///+++++
{
DELAYTIME=1;
DL2_=5;
DL1_=0;
DriveMoter();
DELAYTIME=5;
}
if(Fasheng_Flag==6&&!KEY) ///+++++
{
DELAYTIME=1;
DL2_=0;
DL1_=-5;
DriveMoter();
DELAYTIME=5;
}
if(Fasheng_Flag==7&&!KEY) ///+++++
{
DELAYTIME=1;
DL2_=0;
DL1_=5;
DriveMoter();
DELAYTIME=5;
}
if(Fasheng_Flag==11&&!KEY) ///+++++
{
DELAYTIME+=2;
Fasheng_Flag=0;
}
if(Fasheng_Flag==12&&!KEY) ///----
{
if(DELAYTIME>2)
DELAYTIME-=2;
Fasheng_Flag=0;
}
if(Fasheng_Flag==13&&!KEY) /////////gai canshu DX 6 9
{
DX+=5;
Fasheng_Flag=0;
}
if(Fasheng_Flag==14&&!KEY) ////////////
{
if(DX>5)
DX-=5;
Fasheng_Flag=0;
}
if(Fasheng_Flag==15&&!KEY) /////////gai canshu DX 6 9
{
Coef+=0.01;
Fasheng_Flag=0;
}
if(Fasheng_Flag==16&&!KEY) ////////////
{
if(Coef>0.29)
Coef-=0.01;
Fasheng_Flag=0;
}
/*
if(Fasheng_Flag==17&&!KEY) /////////gai canshu DX 6 9
{
//Cof+=2;
Fasheng_Flag=0;
}
if(Fasheng_Flag==18&&!KEY) ////////////
{
//if(Cof>2)
//Cof-=2;
Fasheng_Flag=0;
}
*/
if(Button)
{
Button=0;
// b=GetCode/100;
// s=(GetCode-b*100)/10;
// g=GetCode-b*100-s*10;
for(a_=0; a_<500; a_++)
for(k=0; k<60; k++)
P3_3=0;
P3_3=1;
}
EX0 = 1;
//Fasheng();
}
while(1);
}
/*
void Fasheng()
{
if(Fasheng_Flag==10) /////////Close Button
{
for(a=0; a<500; a++)
for(k=0; k<55; k++)
P3_6=0;
P3_6=1;
}
else
for(k=0;k<Fasheng_Flag;k++)
{
for(a=0; a<6000; a++)
P3_6=0;
for(a=0;a<6000;a++)
P3_6=1;
}
// Fasheng_Flag=0;
}
*/
void Timer0Int(void) interrupt 1 using 1
{
TH0=0xFD;
TL0=0x1E; //设定时值为800us
if(IRCON<3)
{
if(IRCON2<8) //每中断一次读一次遥控接收头的状态,每二次为遥控编码中的一个位
{
IRCON2++;
IRCode[IRCON]=IRCode[IRCON]<<1; //每读一次放入变量中的二进制的一个位,每次左移一位
IRCode[IRCON]=IRCode[IRCON]|P3_2; //每八次填满一个字节,一个字节存放遥控编码4个位
}
else
{
IRCON++; //填满一个字节,指向下一个变量
IRCON2=0; //计数清零
}
}
else ///////////////还在接受!!!!!!!
{
////暂时不允许int0中断
if((IRCode[1]!=0xFF)&&(IRCode[2]!=0xFF))
{
if(IRCode[1]==0x55)
{
TR0=0;
switch(IRCode[2])
{
case 0xAB: //1-8键控制
//P0_0 = ~P0_0;
Fasheng_Flag=1;
break;
case 0xAC:
//P0_1 = ~P0_1;
Fasheng_Flag=2;
break;
case 0xAD:
//P0_2 = ~P0_2;
Fasheng_Flag=3;
break;
case 0xB2:
//P0_3 = ~P0_3;
Fasheng_Flag=4;
break;
case 0xB3:
//P0_4 = ~P0_4;
Fasheng_Flag=5;
break;
case 0xB4:
//P0_5 = ~P0_5;
Fasheng_Flag=6;
break;
case 0xB5:
//P0_6 = ~P0_6;
Fasheng_Flag=7;
break;
case 0xCA:
//P0_7 = ~P0_7;
Fasheng_Flag=8;
break;
case 0xCB:
Fasheng_Flag=9;
break;
case 0xAA:
Fasheng_Flag=0;
break;
case 0x2A:
Fasheng_Flag=11; //////music+++++++++++++++++
break;
case 0x2B:
Fasheng_Flag=12; //////music------------------
break;
case 0x52:
Fasheng_Flag=13; //////对比+++++++
break;
case 0x53:
Fasheng_Flag=14; //////对比--------
break;
case 0x32:
Fasheng_Flag=15; //////色彩+++++++
break;
case 0x33:
Fasheng_Flag=16; //////色彩-------
break;
case 0x2C:
Fasheng_Flag=17; //////亮度+++++
break;
case 0x2D:
Fasheng_Flag=18; //////亮度-------
break;
case 0xD2: //按关闭电源键,关闭所有继电器
//P0 = 0xFF;
Fasheng_Flag=10;
break;
}
if(Fasheng_Flag<10)
{
if(KEY==1)
{
if(!keytimes) ///////////0 对应第一次输入
{X0temp=Fasheng_Flag*10;q=Fasheng_Flag;}
else
{X0temp+=Fasheng_Flag;b=Fasheng_Flag;}
keytimes=!keytimes;
}
else if(KEY==2)
{
if(!keytimes) ///////////0 对应第一次输入
{Y0temp=Fasheng_Flag*10;s=Fasheng_Flag;}
else
{Y0temp+=Fasheng_Flag;g=Fasheng_Flag;}
keytimes=!keytimes;
}
}
}
}
}
}
void Int0INT(void) interrupt 0 using 2
{
EX0 = 0; //外部中断0关闭
// P2_5=~P2_5;
Button=1;
TL0=0x1E; //设定时值为800us
TH0=0xFD;
for(IRCON=0; IRCON<3; IRCON++)
IRCode[IRCON] = 0;
IRCON = 0;
IRCON2 = 0; //计数清零
TR0 = 1; /////////////记数
}
void Timer1INT(void) interrupt 3 using 3 //T1
{
TL1 = 0x77; /////// 定时5ms
TH1 = 0xEC;
if(KEY)
Shangshuo++;
else
{
Shangshuo=0;
}
if(Shangshuo>100)
Shangshuo=0;
j++;
if(j>4)
j=1;
switch(j)
{
case 1:
if((KEY==2&&Shangshuo<50)||KEY==0||KEY==1)
{
P3_7=1;
// 0000 1110
P3_5=1;
P3_6=1;
P3_4=0;
P0=Disp[g];
}
break;
case 2:
if((KEY==2&&Shangshuo<50)||KEY==0||KEY==1)
{
P3_4=1; //0000 1101
P3_6=1;
P3_7=1;
P3_5=0;
P0=Disp[s];
}
break;
case 3:
if((KEY==1&&Shangshuo<50)||KEY==0||KEY==2)
{
P3_5=1; ///0000 1011
P3_7=1;
P3_4=1;
P3_6=0;
P0=Disp[b];
}
break;
case 4:
if((KEY==1&&Shangshuo<50)||KEY==0||KEY==2)
{
P3_6=1; // 0000 0111
P3_4=1;
P3_5=1;
P3_7=0;
P0=Disp[q];
}
break;
}
////////
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -