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

📄 drv_lamp.c

📁 CC1000 Rf modem C codes for philips sLpc213X ARM MCU.
💻 C
📖 第 1 页 / 共 4 页
字号:
				LampStateAbs(TestDrvState);

	else if((TestDrvState>Minus_vMAX)&&(TestDrvState<=Minus_vMAX*2))
				LampStateAbs(Minus_vMAX*2-TestDrvState);

	sprintf(dbuffer,"TestDrvState=%d",TestDrvState);	RF_SendString(dbuffer);

	TestDrvState++;
	TestSecondTick=1;	//state stay time

	if(TestDrvState>(Minus_vMAX*2)){
		Uart0SendString("Test over");
		RF_SendString("Test over");
	}
	
}

///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
void Rel_DQ_toOFF(void)						//control DQ off
{
	SynZeroPoint();		//set DK on

	IO0CLR=DL__P0_28;		//set DL on
	DelayMS_(SCR_toON_DELAY_TIME);

	IO0SET=DQ__P0_07;		//set DQ off
	DelayMS_(SWITCH_DELAY_TIME);

	IO0SET=DL__P0_28;		//set DL off
	DelayMS_(SCR_toOFF_DELAY_TIME);

	IO1SET=DK__P1_24;		//set DK off

	StateValue = StateValue & (~LIGHT_ON_FLG_BIT);
}
///////////////////////////////////////////////////////////////
//////////////////////////////////////// QS is complex switch
void Rel_DQ_toON(void)
{
	SynZeroPoint();			//set DK on
	
	IO0CLR=DL__P0_28;			//set DL on
	DelayMS_(SCR_toON_DELAY_TIME);

	IO0CLR=DQ__P0_07;			//set DQ  on
	DelayMS_(SWITCH_DELAY_TIME);

	IO0SET=DL__P0_28;			//set DL off
	DelayMS_(SCR_toOFF_DELAY_TIME);
	
	IO1SET=DK__P1_24;			//set DK off
	
	StateValue = StateValue|LIGHT_ON_FLG_BIT;	
}

//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
void Cha_DQ_toOFF(void)					//change DQ off
{
	IO1CLR=DK__P1_24;		//set DK on
	DelayMS_(SWITCH_DELAY_TIME);
	
	IO0CLR=DL__P0_28;		//set DL on
	DelayMS_(SCR_toON_DELAY_TIME);

	IO0SET=DQ__P0_07;		//set DQ off
	DelayMS_(SWITCH_DELAY_TIME);

	SynZeroPoint();
	IO1CLR=DH__P1_16;		//set DH on
	IO0SET=DL__P0_28;		//set DL off
	DelayMS_(SCR_toON_DELAY_TIME);
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////// QS is complex switch
void Cha_DQ_toON(void)
{
	SynZeroPoint();				//set DK on
	IO0CLR=DL__P0_28;			//set DL on
	IO1SET=DH__P1_16;			//set DH off
	DelayMS_(SCR_toON_DELAY_TIME);
	
	IO0CLR=DQ__P0_07;			//set DQ  on
	DelayMS_(SWITCH_DELAY_TIME);

	IO0SET=DL__P0_28;			//set DL off
	DelayMS_(SCR_toOFF_DELAY_TIME);

	IO1SET=DK__P1_24;			//set DK off
}

//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
void SCR_DH_toON(void)		//set DH on	
{
	IO1CLR=DH__P1_16;		//set DH on
	DelayMS_(SCR_toON_DELAY_TIME);
}

//////////////////////////////////////////////////////////////
void SCR_DH_toOFF(void)		//set Q3 off
{
	IO1SET=DH__P1_16;		//set Q3 off
	DelayMS_(SCR_toOFF_DELAY_TIME);
}	

//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
void Rel_DK_toON(void)
{
	IO1CLR=DK__P1_24;		//relay DK turn ON
	DelayMS_(SWITCH_DELAY_TIME);
}

//////////////////////////////////////////////////////////////
void Rel_DK_toOFF(void)
{
	IO1SET=DK__P1_24;		//relay DK turn OFF
	DelayMS_(SWITCH_DELAY_TIME);
}

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

	switch(DriveValue){

		case Minus_00V0:
			Cha_DQ_toOFF();

			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);
			
			Cha_DQ_toON();

			StateValue   = (StateValue & 0xff00) | Minus_00V0;
			break;
			
		case Minus_02V0:
			Cha_DQ_toOFF();
						
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_02V0;
			break;
			
		case Minus_04V0:
			Cha_DQ_toOFF();

			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_04V0;
			break;
			
		case Minus_06V0:
			Cha_DQ_toOFF();

			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_06V0;
			break;
			
		case Minus_08V0:
			Cha_DQ_toOFF();
						
			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_08V0;
			break;
			
		case Minus_10V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_10V0;
			break;
			
		case Minus_12V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_12V0;
			break;
			
		case Minus_14V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_14V0;
			break;
			
		case Minus_16V0:
			Cha_DQ_toOFF();
				
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_16V0;
			break;
			
		case Minus_18V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
							
			StateValue   = (StateValue & 0xff00) | Minus_18V0;
			break;
			
		case Minus_20V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
								
			StateValue   = (StateValue & 0xff00) | Minus_20V0;
			break;	
			
		case Minus_22V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
						
			StateValue   = (StateValue & 0xff00) | Minus_22V0;
			break;
			
		case Minus_24V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_24V0;
			break;		
			
		case Minus_26V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_26V0;
			break;
			
		case Minus_28V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_28V0;
			break;
 
		case Minus_30V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
						
			StateValue 	 = (StateValue & 0xff00) | Minus_30V0;
			break;
			
///////////////////////////////////////////////////////////////

		case Minus_32V0:
			Cha_DQ_toOFF();

			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);
			
			Cha_DQ_toON();

			StateValue   = (StateValue & 0xff00) | Minus_32V0;
			break;
			
		case Minus_34V0:
			Cha_DQ_toOFF();
						
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_34V0;
			break;
			
		case Minus_36V0:
			Cha_DQ_toOFF();

			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_36V0;
			break;
			
		case Minus_38V0:
			Cha_DQ_toOFF();

			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_38V0;
			break;
			
		case Minus_40V0:
			Cha_DQ_toOFF();
						
			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_40V0;
			break;
			
		case Minus_42V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_42V0;
			break;
			
		case Minus_44V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();	
			
			StateValue   = (StateValue & 0xff00) | Minus_44V0;
			break;
			
		case Minus_46V0:
			Cha_DQ_toOFF();
			
			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);
			
			Cha_DQ_toON();
			
			StateValue   = (StateValue & 0xff00) | Minus_46V0;
			break;
			
		case Minus_48V0:
			Cha_DQ_toOFF();
				

⌨️ 快捷键说明

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