#include "MyDefine.h"
#include "ExternRAM.h"
void Scan_Key()
{
//-----开关机键-------
if(KeyPower_flag==0)
{
if(Key_Power_ON==Key_ON) Key1_Debounce++;
else Key1_Debounce=0;
if(Key1_Debounce>=8)
{
Key1_Debounce = 0; Key_Buzzer_flag=1;
KeyPower_flag = 1;
if(Power_flag==0)
{
Power_flag = 1;
Enter_Halt_3s_DaoJiShi_flag = 0;
u16_Enter_Halt_Count = 0;
LED_G_Pin = LED_ON; LED_R_Pin = LED_OFF;
LED_B_Pin = LED_OFF; Laser_no10K_ON
}
else
{
Power_flag = 0;
KeyCZ_flag = 0; ALM_flag = 0; Power_VDD_Index = 0; //关机,清零状态标志
PWM_flag = 0;
Laser_no10K_OFF
LED_R_Pin = LED_G_Pin = LED_B_Pin = LED_OFF;
BZ_OFF
Yes_Halt_flag = 0;
Enter_Halt_3s_DaoJiShi_flag = 1;
}
}
}
else
{
if(Key_Power_ON==Key_OFF) Key1_Debounce++;
else Key1_Debounce=0;
if(Key1_Debounce>=8)
{
Key1_Debounce = 0; KeyPower_flag = 0;
}
}
if(Power_flag==1) //开机状态,才处理其他按键
{
if(Mode_flag==0) //松开自锁开关时,才执行PWM和ALM
{
if( (ALM_flag==0) && (Power_VDD_Index!=2) ) //低电压情况下,也不进来
{
//-----PWM波形键-------
if(KeyPWM_flag==0)
{
if(Key_PWM_Pin==Key_ON) Key2_Debounce++;
else Key2_Debounce=0;
if(Key2_Debounce>=8)
{
Key2_Debounce = 0; KeyPWM_flag = 1;
Key_Buzzer_flag=1;
if(PWM_flag==0)
{
PWM_flag=1;
LED_B_Pin = LED_ON;
Laser_10K
}
else
{
PWM_flag = 0;
LED_B_Pin = LED_OFF;
Laser_no10K_ON
}
Backup_pwm_flag = PWM_flag;
}
}
else
{
if(Key_PWM_Pin==Key_OFF) Key2_Debounce++;
else Key2_Debounce=0;
if(Key2_Debounce>=8)
{
Key2_Debounce = 0; KeyPWM_flag = 0;
}
}
}
//------------垂直报警-------------------
if(KeyCZ_flag==0)
{
if(KeyCZ_Pin==1) Key3_Debounce++;
else Key3_Debounce=0;
if (Key3_Debounce>=5)
{
Key3_Debounce = 0; KeyCZ_flag = 1;
Laser_no10K_OFF; LED_B_Pin = LED_OFF; //因为关闭Laser,所以 PWM指示灯也跟着关闭
Backup_pwm_flag = PWM_flag;
PWM_flag = 0;
ALM_Time_Count=0;
CZ_Buzzer_delay= 0;
ALM_flag = 1;
}
}
else
{
if(KeyCZ_Pin==0) Key3_Debounce++;
else Key3_Debounce=0;
if(Key3_Debounce>=8)
{
Key3_Debounce = 0; KeyCZ_flag = 0;
while(CZ_Buzzer_delay<118) //至少鸣叫2声
{
_clrwdt1();
_clrwdt2();
}
ALM_flag = 0;
LED_G_Pin = LED_ON; LED_R_Pin = LED_OFF; //恢复电源指示灯
PWM_flag=Backup_pwm_flag; //恢复PWM状态
if(PWM_flag==1)
{
LED_B_Pin = LED_ON;
Laser_10K
}
else
{
LED_B_Pin = LED_OFF;
Laser_no10K_ON
}
}
}
}
}
//-----自锁模式开关-------
if(KeyMode_flag==0)
{
if(Key_Mode_Pin==Key_ON) Key4_Debounce++;
else Key4_Debounce=0;
if(Key4_Debounce>=8)
{
Key4_Debounce = 0;
if(Power_flag==1) //开机才响应
{
KeyMode_flag = 1;
Mode_flag = 1; //按下
ALM_flag = 0; PWM_flag =0;
Laser_Time_Count = 0;
Laser_no10K_ON;
LED_G_Pin = LED_ON; LED_B_Pin = LED_R_Pin = LED_OFF;
}
}
}
else
{
if(Key_Mode_Pin==Key_OFF) Key4_Debounce++;
else Key4_Debounce=0;
if(Key4_Debounce>=8)
{
Key4_Debounce = 0;
if(Power_flag==1) //开机才响应
{
KeyMode_flag = 0;
Mode_flag = 0; //松开
Laser_no10K_ON;
LED_G_Pin = LED_ON; LED_B_Pin = LED_R_Pin = LED_OFF;
}
}
}
}