满意答案
贝尔梅尔娜美
2017.12.17
采纳率:60% 等级:39
已帮助:94965人
#include#define OUT P0 #define CON P2#define ms0_5Con 461#define ms2_5Con 2304typedef unsigned char unit8;typedef unsigned short unit_16;sbit servo0=OUT^0;sbit servo1=OUT^1;sbit servo2=OUT^2;sbit servo3=OUT^3;sbit servo4=OUT^4;sbit servo5=OUT^5;sbit servo6=OUT^6;sbit servo7=OUT^7; sbit KEY1=CON^0;sbit KEY2=CON^1;unit_16 pwm[8]={1382,1382,1382,1382,1382,1382,1382,1382}; //??90?,(???1382.4,???1382) void Inter_Form(){TMOD|=0x01;TH0 =0xf7;TL0 =0x00;TR0 =1;ET0 =1;EA =1;}void delay(unit8 x){unit8 i=0;while(x--){for(i=0;i<125;i++);}}/*------------------------?????--------------------------*//*unit_16 Transform(uchar val){//0?=0.5ms, 45?=1ms, 90?=1.5ms, 135?=2ms, 180?=2.5ms//2.5 ms??? F700, (12n/11059200=2.5/1000, n=2304, X=65536-2304=63232 > F700)//return (unit_16)(((float)(2/180)*X+0.5)/1000*11059200/12);unit_16 a = (val+46)*10;if(ams2_5Con)a=ms2_5Con;return a;} *//*-------------------------???---------------------------*/ void Steering_UP(unit8 val){ if(pwm[val]>ms2_5Con) pwm[val]=ms2_5Con; pwm[val]=pwm[val]+10;}void Steering_Down(unit8 val){ if(pwm[val]>8; TL0=-pwm[0]; break;case 2: servo0=0; TH0=-(ms2_5Con-pwm[0])>>8; TL0=-(ms2_5Con-pwm[0]); break;case 3: servo1=1; TH0=-pwm[1]>>8; TL0=-pwm[1]; break;case 4: servo1=0; TH0=-(ms2_5Con-pwm[1])>>8; TL0=-(ms2_5Con-pwm[1]); break; case 5: servo2=1; TH0=-pwm[2]>>8; TL0=-pwm[2]; break;case 6: servo2=0; TH0=-(ms2_5Con-pwm[2])>>8; TL0=-(ms2_5Con-pwm[2]); break;case 7: servo3=1; TH0=-pwm[3]>>8; TL0=-pwm[3]; break;case 8: servo3=0; TH0=-(ms2_5Con-pwm[3])>>8; TL0=-(ms2_5Con-pwm[3]); break;case 9: servo4=1; TH0=-pwm[4]>>8; TL0=-pwm[4]; break;case 10: servo4=0; TH0=-(ms2_5Con-pwm[4])>>8; TL0=-(ms2_5Con-pwm[4]); break;case 11: servo5=1; TH0=-pwm[5]>>8; TL0=-pwm[5]; break;case 12: servo5=0; TH0=-(ms2_5Con-pwm[5])>>8; TL0=-(ms2_5Con-pwm[5]); break;case 13: servo6=1; TH0=-pwm[6]>>8; TL0=-pwm[6]; break;case 14: servo6=0; TH0=-(ms2_5Con-pwm[6])>>8; TL0=-(ms2_5Con-pwm[6]); break;case 15: servo7=1; TH0=-pwm[7]>>8; TL0=-pwm[7]; break;case 16: servo7=0; TH0=-(ms2_5Con-pwm[7])>>8; TL0=-(ms2_5Con-pwm[7]); break;default:TH0=0xff; TL0=0x80; pwm_flag=0;}pwm_flag++;}
02分享举报