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

📄 drv_lampv0.c.bak

📁 CC1000 Rf modem C codes for philips sLpc213X ARM MCU.
💻 BAK
📖 第 1 页 / 共 4 页
字号:
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | Minus_30V0;
			break;		
			
		case Minus_32V5:
			Rel_DK_toON();
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | Minus_32V5;
			break;
			
		case Minus_35V0:
			Rel_DK_toON();		
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | Minus_35V0;
			break;
 
		case Minus_37V5:
			Rel_DK_toON();
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();
			Rel_DK_toOFF();
						
			StateValue 	 = (StateValue & 0xff00) | Minus_37V5;
			break;
			
///////////////////////////////////////////////////////////////
#ifndef  VOLTAGE_ADJ_MINUS_PLUS

		case Plus_00V0:		//only for test of advertising board
		case Plus_02V5:
		case Plus_05V0:
		case Plus_07V5:
		case Plus_10V0:		//		case Plus_vMAX:

			Rel_DK_toON();
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();	
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | DriveValue;			
			break;

///////////////////////////////////////////////////////////////
#else	//#ifdef  VOLTAGE_ADJ_MINUS_PLUS
		case Plus_00V0:
			Rel_DK_toON();
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();	
			Rel_DK_toOFF();
						
			StateValue   = (StateValue & 0xff00) | Plus_00V0;
			break;
			
		case Plus_02V5:
			Rel_DK_toON();		
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | Plus_02V5;
			break;
			
		case Plus_05V0:
			Rel_DK_toON();		
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();	
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | Plus_05V0;
			break;
			
		case Plus_07V5:
			Rel_DK_toON();		
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();	
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | Plus_07V5;
			break;
			
		case Plus_10V0:
			Rel_DK_toON();		
			Rel_DQ_toOFF();
			SCR_DH_toON();			//set Q3 on
			
			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);
			
			SCR_DH_toOFF();			//set Q3 off
			Rel_DQ_toON();		
			Rel_DK_toOFF();
			
			StateValue   = (StateValue & 0xff00) | Plus_10V0;
			break;
#endif
/////////////////////////////////////////////////////////////////////
// turn light on
		case Light_toON:

			Rel_DQ_toON();			//开通KQ
			Rel_DK_toOFF();

			break;

////////////////////////////////////////////////////////////////////
//turn oFF light
		case Light_toOFF:			//turn light off
			Rel_DK_toOFF();
			Rel_DQ_toOFF();
			SCR_DH_toOFF();

			AutoLightCntMode=0;		//for auto control
			
			StateValue   = (StateValue & 0x0000) | Light_toOFF;
			break;

///////////////////////////////////////////////////////////////////
		default:
			Uart0SendString("Cancel unsupported case.");
			break;
	}
	sprintf(dbuffer,"execute:ForceLampState(): Change state to 0x%x",StateValue); 
	Uart0SendString(dbuffer);	
}

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

	IO1SET=DK__P1_24;			//relay DK turn OFF	
	IO0SET=DL__P0_28;			//set Q4 off	
	IO1SET=DH__P1_16 ;			//set Q3 off
	StateValue = StateValue|LIGHT_ON_FLG_BIT;
	
	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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_00V0;
			break;
			
		case Minus_02V5:				
			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
			
			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_02V5;
			break;
			
		case Minus_05V0:				
			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
			
			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_05V0;
			break;
			
		case Minus_07V5:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_07V5;
			break;
			
		case Minus_10V0:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_10V0;
			break;
			
		case Minus_12V5:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_12V5;
			break;
			
		case Minus_15V0:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_15V0;
			break;
			
		case Minus_17V5:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_17V5;
			break;
			
		case Minus_20V0:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_20V0;
			break;
			
		case Minus_22V5:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_22V5;
			break;
			
		case Minus_25V0:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_25V0;
			break;	
			
		case Minus_27V5:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_27V5;
			break;
			
		case Minus_30V0:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_30V0;
			break;		
			
		case Minus_32V5:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_32V5;
			break;
			
		case Minus_35V0:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | Minus_35V0;
			break;
 
		case Minus_37V5:				
			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

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue 	 = (StateValue & 0xff00) | Minus_37V5;
			break;

//////////////////////////////////////////////////////////////
#ifndef  VOLTAGE_ADJ_MINUS_PLUS

		case Plus_00V0:	 // only for test of advertising board
		case Plus_02V5:
		case Plus_05V0:
		case Plus_07V5:
		case Plus_10V0:	 // case Plus_vMAX:
			
			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	??

			IO0CLR=DQ__P0_07;			//set KQ  on
			StateValue   = (StateValue & 0xff00) | DriveValue;			
			break;
			
//////////////////////////////////////////////////////////////
#else	//#ifdef  VOLTAGE_ADJ_MINUS_PLUS
		case Plus_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

⌨️ 快捷键说明

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