keyenvent.lst
来自「电能表源码」· LST 代码 · 共 123 行
LST
123 行
C51 COMPILER V7.50 KEYENVENT 08/07/2008 09:01:15 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE KEYENVENT
OBJECT MODULE PLACED IN keyenvent.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE bottom\keyenvent.c LARGE OPTIMIZE(9,SIZE) BROWSE NOAREGS MODDP2 INCDIR(C:\D
-OCUMENTS AND SETTINGS\ADMINISTRATOR.LENOVO-80B42371\桌面\VANGO\程序\var\) DEBUG OBJECTEXTEND PRINT(.\keyenvent.lst) OBJE
-CT(keyenvent.obj)
line level source
1 /*************************************************************************************
2
3 文件类型:按键操作
4 文件作用:
5 修改权限:
6 文件相关:
7
8 创 建 人:chenbo
9 创建日期:2007.06.21
10 当前版本:Ver0.1
11
12 版本信息:Ver0.1 GeminiKQ
13
14 **************************************************************************************/
15 #include "Tiger.h"
16
17 //==================================================================
18 //函数功能:初始化按键状态
19 //
20 //==================================================================
21 void init_keyevent(void)
22 {
23 1 time_keypag_on=0; //按键持续时间清零
24 1 // time_keyup_on=0;
25 1 sta_keypag=key_upstation; //按键处于未按下状态
26 1 // sta_keyup=key_upstation;
27 1 flag_keypag.byte=0xff; //扫描状态初始化
28 1 // flag_keyup.byte=0xff;
29 1 }
30
31
32 //========================================================================
33 //函数功能:停电时扫描按键事件
34 //备注:返回1:按键按下,返回0:按键没按下
35 //========================================================================
36 unsigned char key_scantindian(void)
37 { EXTERN union byte_define temp_keysta;
38 1 uint8 value;
39 1 /* flag_keypag.byte=flag_keypag.byte<<1;
40 1 if((Key_pag&0x10)==0x10)
41 1 key_pag_1=1;
42 1 else
43 1 key_pag_1=0;
44 1 if((key_pag_1==key_up_2)&&(key_pag_1==key_up_3)&&(key_pag_1==key_on))
45 1 value=1;
46 1 else
47 1 value=0;
48 1 */
49 1 return value;
50 1 }
51
52 //===============================================================================
53 //函数功能:读按键状态
C51 COMPILER V7.50 KEYENVENT 08/07/2008 09:01:15 PAGE 2
54 //
55 //===============================================================================
56 void read_keysta(void)
57 { DISENOUT_dn; //禁止输出
58 1 OPEN_keypag; //允许输入
59 1 flag_keypag.byte=flag_keypag.byte<<1;
60 1 if((Key_pag&0x10)==0x10)
61 1 key_pag_1=1;
62 1 else
63 1 key_pag_1=0;
64 1 // key_pro_1=Key_pro;
65 1 // key_up_1=Key_up;
66 1 }
67 //=================================================================================
68 //函数功能:按键处理
69 //备注:10ms扫描一次
70 //==================================================================================
71 void keymode(void)
72 { read_keysta(); //读按键状态
73 1 if(key_pag_1==key_pag_2) //pro键有事情发生
74 1 { if(key_pag_1==key_on) //pro键按下
75 2 { if(sta_keypag==key_upstation) //如果是未按状态
76 3 { sta_keypag=key_dnstation; //按键状态变为按下状态
77 4 }
78 3 }
79 2 else if(key_pag_1==key_off) //如果按键松开
80 2 { if(sta_keypag!=key_upstation) //如果是在按键按下的情况下松开
81 3 { sta_keypag=key_upstation; //置当前状态为松开
82 4 type_dispevent=keyup_envent; //pro键按下事件发生
83 4 sta_meterrun=run_prosta; //进入编程模式
84 4 time_runprosta=0; //编程维持时间清零
85 4 }
86 3 }
87 2 }
88 1
89 1 }
-
-
-
-
-
-
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 126 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 1
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?