?? 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 + -