⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv_lamp.c

📁 CC1000 Rf modem C codes for philips sLpc213X ARM MCU.
💻 C
📖 第 1 页 / 共 4 页
字号:
/*			
		case Minus_60V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on

			IO0CLR=DQ__P0_07;			//set DQ  on
			StateValue   = (StateValue & 0xff00) | Minus_60V0;
			break;
 
		case Minus_62V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on

			IO0CLR=DQ__P0_07;			//set DQ  on
			StateValue 	 = (StateValue & 0xff00) | Minus_62V0;
			break;
*/	
/////////////////////////////////////////////////////////////
		case Light_toON:
		
			IO0CLR=DQ__P0_07;		//set DQ  on
			break;
			
/////////////////////////////////////////////////////////////			
		case Light_toOFF:			//turn light off
		default:
		
			IO0SET=DQ__P0_07;		//set DQ  off
			
			IO0SET=DK1_P0_06;		//set K1  off
			IO0SET=DK2_P0_05;		//set K2  off
			IO1SET=DK3_P1_25;		//set K3  off
			IO0SET=DK4_P0_04;		//set K4  off
			IO1SET=DK5_P1_26;		//set K5  off
						
			StateValue   = Light_toOFF;
			break;
	}

//	sprintf(dbuffer,"Fast recover light state to 0x%x",StateValue);
//	Uart0SendString(dbuffer);
}

///////////////////////////////////////////////////////////////////
void PreForceDKxState(uint16 DriveValue)
{
char dbuffer[100];

	IO1SET=DK__P1_24;			//set DK off	
	IO0SET=DL__P0_28;			//set DL off	
	IO1SET=DH__P1_16 ;			//set DH off
	StateValue   = (StateValue & 0xff00) | DriveValue;

	switch(DriveValue){

		case Minus_00V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0SET=DK2_P0_05;			//set K2  off
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_02V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_04V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_06V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_08V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_10V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_12V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_14V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_16V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_18V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_20V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;	
			
		case Minus_22V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_24V0:				
			IO0SET=DK1_P0_06;			//set K1  off	
			IO0SET=DK2_P0_05;			//set K2  off	
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;		
			
		case Minus_26V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_28V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;
 
		case Minus_30V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1SET=DK5_P1_26;			//set K5  off
			DelayMS_(SWITCH_DELAY_TIME);
			break;

/////////////////////////////////////////////////////////////////////
		case Minus_32V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0SET=DK2_P0_05;			//set K2  off
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_34V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_36V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_38V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_40V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_42V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_44V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_46V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0SET=DK4_P0_04;			//set K4  off
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_48V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_50V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off		
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_52V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;	
			
		case Minus_54V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1SET=DK3_P1_25;			//set K3  off
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
			
		case Minus_56V0:				
			IO0SET=DK1_P0_06;			//set K1  off	
			IO0SET=DK2_P0_05;			//set K2  off	
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;		
			
		case Minus_58V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0SET=DK2_P0_05;			//set K2  off
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
/*			
		case Minus_60V0:				
			IO0SET=DK1_P0_06;			//set K1  off
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
 
		case Minus_62V0:				
			IO0CLR=DK1_P0_06;			//set K1  on
			IO0CLR=DK2_P0_05;			//set K2  on
			IO1CLR=DK3_P1_25;			//set K3  on
			IO0CLR=DK4_P0_04;			//set K4  on
			IO1CLR=DK5_P1_26;			//set K5  on
			DelayMS_(SWITCH_DELAY_TIME);
			break;
*/
/////////////////////////////////////////////////////////////////////
		default:
			Uart0SendString("Unsupported case.");
			break;
	}
	sprintf(dbuffer,"PreForceDKxState changes DKx state to 0x%x",StateValue); 
	Uart0SendString(dbuffer);	
}

///////////////////////////////////////////////////////////////////
void PreToLightOn(void)
{
int32 databuff;
int32 V_AdjustStep;
char  dbuffer[100];

////
		V_AdjustStep=(CurInput_UU*TransferKKK)/2200;	// standard Voltage = 220V, *10V
////
		Uart0SendEnter();											// hint the current time firstly
		sprintf(dbuffer,"[!!] Current time: %4d.%2d.%2d.%2d.%2d.%2d",CurrentTime.xYEAR,CurrentTime.xMONTH,
		CurrentTime.xDOM,CurrentTime.xHOUR,CurrentTime.xMIN,CurrentTime.xSEC);	Uart0SendString(dbuffer);

		sprintf(dbuffer,"Preset DK relay: Input(V)=%4d, Output(V)=%4d, Target(V)=%4d, V_Step(V)=%4d",
										  CurInput_UU,  CurOutput_U,   TargetVoltage, V_AdjustStep);
		Uart0SendString(dbuffer);
		Uart0SendString("Open loop Mode.");

////
#ifdef U_MAIN_ADJUST_DECREASE
		databuff=(int16)CurInput_UU-(int16)TargetVoltage;	// adjust voltage in decreasing mode
#else
		databuff=(int16)TargetVoltage-(int16)CurInput_UU;	// adjust voltage in increasing mode
#endif

////// decreasing the output voltage
		if(databuff>=0){	// if positive
			if(databuff >= V_AdjustStep){

#ifdef U_MAIN_ADJUST_DECREASE
				databuff= (databuff+(V_AdjustStep>>1)) / V_AdjustStep;
#else
				databuff= (databuff-(V_AdjustStep>>1)) / V_AdjustStep;
#endif
					
				if(databuff>Minus_vMAX){			// if Voltage too high, force -37.5V
					PreForceDKxState(Minus_vMAX);	// this is the max negative adjust
				}else{								// if TransferKKK< xxxx < Minus_37V5, adjust voltage.
					PreForceDKxState((uint16)databuff);
				}
			}else{									//databuff < TransferKKK
				PreForceDKxState(Minus_00V0);		//this is the max negative adjust

			}
		}

////// increasing the output voltage
		else{									// if negative
				PreForceDKxState(Minus_00V0);	//this is the max negative adjust
		}

}

//////////////////////////////////////////////////////////////////////
void OutputPinTest(void)
{
//
	Uart0SendString("OutputPinTest");	
	RF_SendString  ("OutputPinTest");

//
	IO0SET = DQ__P0_07;
	IO1SET = DK__P1_24;
	IO0SET = DK1_P0_06;
	IO0SET = DK2_P0_05;
	IO1SET = DK3_P1_25;
	IO0SET = DK4_P0_04;
	IO1SET = DK5_P1_26;
	IO1SET = DT__P1_31;
	IO1SET = DH__P1_16;
	IO0SET = DL__P0_28;
	IO1SET = DL1_P1_17;
//	IO0SET =_PWM_P0_21;

//
	IO0CLR = DQ__P0_07;		DelayMS_(400);
	IO0SET = DQ__P0_07;
	
	IO1CLR = DK__P1_24;		DelayMS_(400);
	IO1SET = DK__P1_24;
	
	IO0CLR = DK1_P0_06;		DelayMS_(400);
	IO0SET = DK1_P0_06;
	
	IO0CLR = DK2_P0_05;		DelayMS_(400);
	IO0SET = DK2_P0_05;
	
	IO1CLR = DK3_P1_25;		DelayMS_(400);
	IO1SET = DK3_P1_25;
	
	IO0CLR = DK4_P0_04;		DelayMS_(400);
	IO0SET = DK4_P0_04;
	
	IO1CLR = DK5_P1_26;		DelayMS_(400);
	IO1SET = DK5_P1_26;
	
	IO1CLR = DT__P1_31;		DelayMS_(400);
	IO1SET = DT__P1_31;
	
	IO1CLR = DH__P1_16;		DelayMS_(400);
	IO1SET = DH__P1_16;
	
	IO0CLR = DL__P0_28;		DelayMS_(400);
	IO0SET = DL__P0_28;
	
	IO1CLR = DL1_P1_17;		DelayMS_(400);
	IO1SET = DL1_P1_17;

//	IO0CLR = _PWM_P0_21;	DelayMS_(400);
//	IO0SET = _PWM_P0_21;
	TestADC();		//adc test.
}

//////////////////////////////////////////////////////////////////////
/*
void InputPinTest(void)
{
//
	if((IO0PIN&VINT1_P0_10)&&(IO0PIN&VINT2_P0_11)&&
	   (IO0PIN&VINT3_P0_12)&&(IO0PIN&VINT4_P0_13)){
		IO0SET = _PWM_P0_21;
//		IO0SET = DL2_P0_27;	//turn on led display on the test platform
	}else{
//		IO0CLR = DL2_P0_27;	//turn off led display on the test platform
		IO0CLR = _PWM_P0_21;
	}
}

*/

//////////////////////////////////////////////////////////////////////
// end of file

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -