power.c
上传用户:shyuanyi
上传日期:2008-05-24
资源大小:69k
文件大小:2k
源码类别:

RFID编程

开发平台:

C/C++

  1. #include  "my_head.h"
  2. /*******************************************/
  3. #define   POWER_CK1   P2_3
  4. #define   POWER_CK2   P2_4
  5. #define   CELL_CHARGE_STATUS     0x00
  6. #define   EXTERN_POWER_STATUS    0x01
  7. #define   CELL_ALARM_STATUS      0x02
  8. #define   CELL_POWRER_STATUS      0x03
  9. static  BYTE  idata  save_power_status=0xFF;
  10. void  Check_Power_Event(void)
  11. {
  12.    BYTE  power=0;
  13.    power |= POWER_CK1;
  14.    power<<=1;
  15.    power |= POWER_CK2;
  16.    if(save_power_status==power)return;
  17.    save_power_status=power;
  18.    switch(power)
  19.    {
  20.     case  CELL_CHARGE_STATUS:
  21.       Equip_CurStatus=CELL_CHARGE_CODE;
  22.   break;
  23. case  EXTERN_POWER_STATUS:
  24.   Dis_Cellpower_Led(FALSE);  //0-close;1--open.
  25.   do_buzzer(BUZZER_SUCCESS);
  26.   Equip_CurStatus=EXTERN_POWER_CODE;
  27.   break;
  28.     case  CELL_ALARM_STATUS:
  29.           Save_My_All_Data();  //must!!!!!
  30.           Equip_CurStatus=CELL_ALARM_CODE;
  31.          Dis_Err(Equip_CurStatus);
  32.   //PostMessage(CELL_ALARM_Event);//for uart...
  33.   //SetCurState(ALARM_STATUS);
  34.   while(TRUE)
  35.   {
  36.    do_buzzer(BUZZER_BUSY);
  37.    delay_ms(1000);
  38.            power  = 0;
  39.    power |= POWER_CK1;
  40.    power<<= 1;
  41.    power |= POWER_CK2;
  42.    if(power != CELL_ALARM_STATUS)break;
  43.   }
  44.   break;
  45. case  CELL_POWRER_STATUS:
  46.       Equip_CurStatus=CELL_POWRER_CODE;
  47.   Dis_Cellpower_Led(TRUE);  //0-close;1--open.
  48.   break;
  49. default: break;
  50.    }
  51.   Dis_Err(Equip_CurStatus);
  52.   Stop_Timer(DISPLAY_DELAYEVENT_Tevent);//msut!!
  53.   Set_TimerEvent(DISPLAY_DELAYEVENT_Tevent,DISPLAY_DELAYEVENT_TIME);
  54.   //Do_DisLed_Flash(0x00,0x00,200);
  55.   //Set_TimerEvent(WAIT_CARD_Tevent,WAIT_CARDCONSUME_TIME);//(1)
  56.   //SetCurState(IDEL_STATUS);//ActiveState(INIT_STATUS);
  57.   do_buzzer(BUZZER_SUCCESS);
  58. }