SIGN=(X_SIGN)|(Y_SIGN<<1)|(LED_FLAG<<2); STATE=((P1&0x3c)>>2)|(CONTROL_MODE_FLAG<<4);
******************************
}
TxBuf2[0]=X_ANGLE; TxBuf2[1]=Y_ANGLE; TxBuf2[2]=SIGN; TxBuf2[3]=STATE;
nRF24L01_TxPacket(TxBuf2); delay(1); init_RX();
Display10BitData(GetData(ACCEL_ZOUT_H),2,1);
显示Z轴加速度
Display10BitData(GetData(GYRO_XOUT_H),0,5);显示X轴角速度 Display10BitData(GetData(GYRO_YOUT_H),1,5);显示Y轴角速度 Display10BitData(GetData(GYRO_ZOUT_H),2,5); 显示Z轴角速度
**************************************************************************
*********通过MPU0605的数据判断小车当前的状态刷新液晶显示*******
if(aa%5==0) {
if(X_ANGLE>160) X_ANGLE=155; if(X_ANGLE<20) X_ANGLE=0; if(Y_ANGLE>160) Y_ANGLE=160; if(Y_ANGLE<20) Y_ANGLE=0;
if(X_ANGLE>Y_ANGLE)如果主要是往纵向倾斜则进入 {
17
}
} else { }
FLAG_ANGLE=1;
if(Y_SIGN)同时也往左方倾斜
{speed1=X_ANGLE1.6;speed2=X_ANGLE1.6-Y_ANGLE1.6;}左轮 else if(Y_SIGN==0)
{speed1=X_ANGLE1.6-Y_ANGLE1.6;speed2=X_ANGLE1.6;}
speed1=Y_ANGLE1.6;speed2=Y_ANGLE1.6;
lcd_pos(2,1);
if(speed1100==0) lcd_wdat(32); else lcd_wdat(table1[speed1100]); if(speed1010==0) lcd_wdat(32); else lcd_wdat(table1[speed1010]); lcd_wdat(table1[speed1]); lcd_wdat(37); lcd_pos(3,1);
if(speed2100==0) lcd_wdat(32); else lcd_wdat(table1[speed2100]); if(speed2010==0) lcd_wdat(32); else lcd_wdat(table1[speed2010]); lcd_wdat(table1[speed2]); lcd_wdat(37);
if(aa==10&&(X_ANGLE>10||Y_ANGLE>10))箭头部分显示 {
if(FLAG_ANGLE) {
if(X_SIGN)
18
{
lcd_pos(1,5); lcd_wdat(32); lcd_pos(3,5); lcd_wdat(31);
if(speed1>speed2) {lcd_pos(2,4); lcd_wdat(32);lcd_pos(2,6);
lcd_wdat(16);}
else if(speed1 lcd_wdat(17);} } else { lcd_pos(1,5); lcd_wdat(30); lcd_pos(3,5); lcd_wdat(32); if(speed1 lcd_wdat(16);} else if(speed1>speed2) {lcd_pos(2,6); lcd_wdat(32);lcd_pos(2,4); lcd_wdat(17);} } } } ******************按键扫描********************* ********************************************************************** if(KEY_LED==0) 扫描灯光控制按键 { delay(20); if(KEY_LED==0) { 19 } } LED_FLAG=~LED_FLAG; if(LED_FLAG) LED_FLAG=0;如果按键按下标志的值取反 else if(LED_FLAG==0) LED_FLAG=1; while(KEY_LED==0); delay(20); while(KEY_LED==0); ***************控制模式************** break; switch(CONTROL_MODE_FLAG) { case 0: if(KEY_CONTROL_MODE==0) { } delay(20); if(KEY_CONTROL_MODE==0) { } while(KEY_CONTROL_MODE==0); delay(20); while(KEY_CONTROL_MODE==0); CONTROL_MODE_FLAG=1; play(0,2,dis2);显示按键模式 case 1: 20