接下来是代码:
int main(void)
{
board_init(); // 基本io初始化
delay_init(); // 延时是必需的
if(KEY_POW==0)//电源键有触发
{
delay_ms(1000);//延时,看情况,定义长短
if(KEY_POW==0)// 真的是电源键按下了
POW_ON=1; // 上电,锁定电源输出
while(KEY_POW==0) //等待按键松开
{
delay_ms(100);//
BK_KEYPAD=~BK_KEYPAD;//闪灯,表示电源已正常
}
}
//进入工作状态
RLED=1;
GLED=0;
BK_KEYPAD=1;
while(1) //大循环
{
delay_ms(500);// 工作状态演示
RLED=~RLED;//工作状态演示
GLED=~GLED;//工作状态演示‘
if(KEY_POW==0)//电源键又按下了
{
delay_ms(2000);//延时,老规矩,长按关机
if(KEY_POW==0) // 真的是电源键按下了
{
while(KEY_POW==0) //等松开
{
delay_ms(200);//
BK_KEYPAD=~BK_KEYPAD;// 闪灯表示进入关机
}
///此处插入关机工作,比如保存数据之类的///
/*
*/
POW_ON=0;// 最后取消电源锁定,关闭电源
}
}
}
}
|