C51 COMPILER V9.53.0.0 KEYS 09/30/2018 11:45:29 PAGE 1 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE KEYS OBJECT MODULE PLACED IN .\Output\Keys.obj COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\..\Code\User\Driver\Keys.c LARGE OPTIMIZE(0,SPEED) BROWSE INCDIR(../. -./Code/Include;../../Code/User;../../Code/User/Common;../../Code/User/Driver) DEFINE(FOSC_160000=1) DEBUG OBJECTEXTEND P -RINT(.\Output\LST\Keys.lst) TABS(2) OBJECT(.\Output\Keys.obj) line level source 1 /** 2 * @File: Keys.c 3 * @Author: Kinve JQ 4 * @Version: V0.1 5 * @Date: 2018.09.30 6 * @Brief: 7 * @Modify: 8 2018.09.30.Kinve:1.创建文件 9 **/ 10 11 #include "Keys.h" 12 13 /********************************方式2*******************************/ 14 u8 GetKey_CS(void) 15 { 16 1 return !P17; //按下 17 1 } 18 19 20 volatile pKey Keys[KEY_MAX] = 21 { 22 {KEY_CS, GetKey_CS, KEY_UP_FLAG, 0, 0, 0, NO_KEY_FLAG}, 23 }; 24 25 void Keys_Even(void) //20ms 26 { 27 1 u8 i; 28 1 for ( i = 0; i < KEY_MAX; i++ ) 29 1 { 30 2 if ( Keys[i].GetKey() ) 31 2 { 32 3 Keys[i].DnTime++; 33 3 34 3 if ( Keys[i].DnTime == CANCEL_KEY_DOWN ) //80ms 35 3 { 36 4 Keys[i].Res = ONE_HITS_KEY_FLAG; 37 4 } 38 3 else if ( Keys[i].DnTime == LONG_KEY_DOWN ) //3秒,长按 39 3 { 40 4 Keys[i].Res = LONG_KEY_FLAG; 41 4 } 42 3 } 43 2 else 44 2 { 45 3 Keys[i].DnTime = 0; 46 3 } 47 2 } 48 1 49 1 } 50 51 52 void Key_CS_Hanlder(void); 53 void Key_CS_Long_Hanlder(void); C51 COMPILER V9.53.0.0 KEYS 09/30/2018 11:45:29 PAGE 2 54 void Key_JS_Hanlder(void); 55 void Key_JS_Long_Hanlder(void); 56 void Keys_All_Handler(void) 57 { 58 1 if(Keys[KEY_CS].Res == ONE_HITS_KEY_FLAG) 59 1 { 60 2 Keys[KEY_CS].Res = NO_KEY_FLAG; 61 2 Key_CS_Hanlder(); 62 2 } 63 1 else if(Keys[KEY_CS].Res == LONG_KEY_FLAG) 64 1 { 65 2 Keys[KEY_CS].Res = NO_KEY_FLAG; 66 2 Key_CS_Long_Hanlder(); 67 2 } 68 1 } 69 70 71 /****************************按键处理***********************************/ 72 void Key_JS_Hanlder ( void ) 73 { 74 1 #if 0 if ( SysRunType == SysRun_Norm ) { StopBeep(); } #endif 81 1 } 82 83 #if 0 void soft_reset(void) { ((void (code *) (void)) 0x0000) (); } #endif 89 void Key_CS_Hanlder ( void ) 90 { 91 1 #if 0 switch ( SysRunType ) { case SysRun_Norm: SysRunType = SysRun_Test; sysLed_Set ( LED_MODE_TEST_RUN ); break; case SysRun_Test: SysRunType = SysRun_Norm; sysLed_Set ( LED_MODE_WORK_RUN ); break; } Fas_Param_Of_Mode_Change ( SysRunType ); #endif 107 1 108 1 } 109 110 void Key_JS_Long_Hanlder ( void ) 111 { 112 1 113 1 } 114 115 void Key_CS_Long_Hanlder ( void) C51 COMPILER V9.53.0.0 KEYS 09/30/2018 11:45:29 PAGE 3 116 { 117 1 } 118 119 void WaitKey_GotoTest ( void ) 120 { 121 1 #if 0 static bool Can_enter_Factory = TRUE; if ( sys_rtc_time <= 10 ) //启动10秒内,按下Key_CS { if ( Can_enter_Factory ) { Can_enter_Factory = FALSE; SysRunType = SysRun_Test; sysLed_Set ( LED_MODE_TEST_RUN ); } } #endif 135 1 } 136 137 /********************* (C) COPYRIGHT Kinve JQ *******END OF FILE ********/ 138 139 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 274 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = 12 ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)