当前位置:文档之家› 按键中断程序

按键中断程序

void EXTI15_10_IRQHandler(void)//按键中断处理函数
{

if (EXTI_GetITStatus(EXTI_Line12) != RESET)//
{
EXTI_ClearITPendingBit(EXTI_Line12); //
KEY1_FLAG = 1;//
KEY2_FLAG = 0;//
KEY3_FLAG = 0;
KEY4_FLAG = 0;
}

if (EXTI_GetITStatus(EXTI_Line13) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line13);
KEY1_FLAG = 0;
KEY2_FLAG = 1;
KEY3_FLAG = 0;
KEY4_FLAG = 0;
}

if (EXTI_GetITStatus(EXTI_Line14) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line14);
KEY1_FLAG = 0;
KEY2_FLAG = 0;
KEY3_FLAG = 1;
KEY4_FLAG = 0;
}

if (EXTI_GetITStatus(EXTI_Line15) != RESET)
{
EXTI_ClearITPendingBit(EXTI_Line15);
KEY1_FLAG = 0;
KEY2_FLAG = 0;
KEY3_FLAG = 0;
KEY4_FLAG = 1;
}
}



void Light_Time_Mode(void)///按键中断响应函数
{

if(KEY1_FLAG == 1)
{
ROUT1_LEDONOFF(Bit_SET);
ROUT2_LEDONOFF(Bit_RESET);
ROUT3_LEDONOFF(Bit_RESET);
ROUT4_LEDONOFF(Bit_RESET);
/*if(minute <= 5)
{
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_2,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_11,Bit_SET);
}
if(minute > 5 & minute <= 11)
{
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_2,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_11,Bit_RESET);
}
if(minute > 11 & minute <= 18)
{
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_2,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_11,Bit_RESET);
}
if(minute > 18 & minute <= 24)
{
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_2,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_11,Bit_SET);
}*/
}
if(KEY2_FLAG == 1)
{
ROUT1_LEDONOFF(Bit_RESET);
ROUT2_LEDONOFF(Bit_SET);
ROUT3_LEDONOFF(Bit_RESET);
ROUT4_LEDONOFF(Bit_RESET);
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_2,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_11,Bit_SET);
}
if(KEY3_FLAG == 1)
{
ROUT1_LEDONOFF(Bit_RESET);
ROUT2_LEDONOFF(Bit_RESET);
ROUT3_LEDONOFF(Bit_SET);
ROUT4_LEDONOFF(Bit_RESET);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_11,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_2,Bit_RESET);
}
if(KEY4_FL

AG == 1)//close
{
ROUT1_LEDONOFF(Bit_RESET);
ROUT2_LEDONOFF(Bit_RESET);
ROUT3_LEDONOFF(Bit_RESET);
ROUT4_LEDONOFF(Bit_SET);
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_2,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_10,Bit_SET);
Delay_ms(400);
GPIO_WriteBit(GPIOB,GPIO_Pin_11,Bit_SET);
}

}





相关主题
文本预览
相关文档 最新文档