📄 kbd_task.lst
字号:
245 2 }
246 1 else key_flag = Low;
247 1 ref_mode_task(); /* Key operation 处理*/
248 1 }
249 /*F**************************************************************************
250 * NAME: kbd_process
251 *----------------------------------------------------------------------------
252 * PARAMS:
253 *
254 * return:
255 *----------------------------------------------------------------------------
256 * PURPOSE:
257 * Keyboard task
258 *----------------------------------------------------------------------------
259 * EXAMPLE:
260 *----------------------------------------------------------------------------
261 * NOTE:
262 *----------------------------------------------------------------------------
C51 COMPILER V8.01 KBD_TASK 08/07/2006 11:16:10 PAGE 13
263 * REQUIREMENTS:
264 *****************************************************************************/
265 bit kbd_process (void) /*键盘时间间隔状态判断子程序*/
266 {
267 1 if((key_flag == Low)&&(gl_key_repeat == TRUE)){ /* KEY is up ,can not process */
268 2 gl_key_repeat = FALSE; /* key up, Clr key keep flag */
269 2 return(0);
270 2 }
271 1
272 1 if((key_flag == High)&&(gl_key_repeat == FALSE)){ /* KEY is keep ,can process */
273 2 return(1);
274 2 }
275 1 else return(0);
276 1 }
277
278
C51 COMPILER V8.01 KBD_TASK 08/07/2006 11:16:10 PAGE 14
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION kbd_task_init (BEGIN)
; SOURCE LINE # 37
; SOURCE LINE # 38
; SOURCE LINE # 42
0000 020000 E LJMP kbd_init
; FUNCTION kbd_task_init (END)
; FUNCTION ref_mode_task (BEGIN)
; SOURCE LINE # 68
; SOURCE LINE # 69
; SOURCE LINE # 70
0000 120000 R LCALL kbd_process
; SOURCE LINE # 75
0003 7800 E MOV R0,#LOW gl_key
0005 E6 MOV A,@R0
0006 120000 E LCALL ?C?CCASE
0009 0000 R DW ?C0012
000B 07 DB 07H
000C 0000 R DW ?C0006
000E 0B DB 0BH
000F 0000 R DW ?C0022
0011 0D DB 0DH
0012 0000 R DW ?C0018
0014 0E DB 0EH
0015 0000 R DW ?C0003
0017 13 DB 013H
0018 0000 R DW ?C0015
001A 15 DB 015H
001B 0000 R DW ?C0034
001D 16 DB 016H
001E 0000 R DW ?C0038
0020 19 DB 019H
0021 0000 R DW ?C0036
0023 1A DB 01AH
0024 0000 R DW ?C0030
0026 1B DB 01BH
0027 0000 R DW ?C0026
0029 1C DB 01CH
002A 0000 DW 00H
002C 0000 R DW ?C0041
; SOURCE LINE # 76
; SOURCE LINE # 77
002E ?C0003:
; SOURCE LINE # 78
002E 120000 R LCALL kbd_process
0031 4003 JC $ + 5H
0033 020000 R LJMP ?C0041
; SOURCE LINE # 80
0036 300003 E JNB vol_flag,$ + 6H
0039 020000 R LJMP ?C0041
003C ?C0005:
; SOURCE LINE # 81
003C 120000 E LCALL dts_AutoScan
; SOURCE LINE # 82
; SOURCE LINE # 83
; SOURCE LINE # 84
; SOURCE LINE # 85
003F 020000 R LJMP ?C0051
; SOURCE LINE # 87
C51 COMPILER V8.01 KBD_TASK 08/07/2006 11:16:10 PAGE 15
0042 ?C0006:
; SOURCE LINE # 88
0042 120000 R LCALL kbd_process
0045 4003 JC $ + 5H
0047 020000 R LJMP ?C0041
; SOURCE LINE # 89
004A 300003 E JNB vol_flag,$ + 6H
004D 020000 R LJMP ?C0041
0050 ?C0008:
; SOURCE LINE # 90
0050 209703 JB P1_7,$ + 6H
0053 020000 R LJMP ?C0041
; SOURCE LINE # 91
0056 20000C E JB DtsMen_flag,?C0010
; SOURCE LINE # 92
0059 120000 E LCALL dts_FerInc
; SOURCE LINE # 93
005C 120000 E LCALL dts_GetFer
; SOURCE LINE # 94
005F 750001 E MOV disp_state,#01H
; SOURCE LINE # 95
0062 ?C0050:
; SOURCE LINE # 96
; SOURCE LINE # 97
0062 020000 R LJMP ?C0051
0065 ?C0010:
; SOURCE LINE # 98
; SOURCE LINE # 100
0065 020000 E LJMP dts_MemWriteFer
; SOURCE LINE # 101
; SOURCE LINE # 102
; SOURCE LINE # 103
; SOURCE LINE # 104
; SOURCE LINE # 106
0068 ?C0012:
; SOURCE LINE # 107
0068 120000 R LCALL kbd_process
006B 4003 JC $ + 5H
006D 020000 R LJMP ?C0041
; SOURCE LINE # 109
0070 300003 E JNB vol_flag,$ + 6H
0073 020000 R LJMP ?C0041
0076 ?C0014:
; SOURCE LINE # 110
0076 120000 E LCALL dts_FerDec
; SOURCE LINE # 111
0079 120000 E LCALL dts_GetFer
; SOURCE LINE # 112
; SOURCE LINE # 113
; SOURCE LINE # 114
; SOURCE LINE # 115
; SOURCE LINE # 116
007C 8012 SJMP ?C0052
; SOURCE LINE # 118
007E ?C0015:
; SOURCE LINE # 119
007E 120000 R LCALL kbd_process
0081 4003 JC $ + 5H
0083 020000 R LJMP ?C0041
; SOURCE LINE # 120
0086 B2B1 CPL P3_1
; SOURCE LINE # 121
C51 COMPILER V8.01 KBD_TASK 08/07/2006 11:16:10 PAGE 16
0088 30B103 JNB P3_1,?C0017
008B 120000 E LCALL sch_scheduler_init
008E ?C0017:
; SOURCE LINE # 122
008E C200 E CLR vol_flag
; SOURCE LINE # 123
0090 ?C0052:
0090 750001 E MOV disp_state,#01H
; SOURCE LINE # 124
; SOURCE LINE # 125
; SOURCE LINE # 126
; SOURCE LINE # 127
0093 807A SJMP ?C0053
; SOURCE LINE # 129
0095 ?C0018:
; SOURCE LINE # 130
0095 E500 E MOV A,gl_kbd_tick
0097 D3 SETB C
0098 941E SUBB A,#01EH
009A 4020 JC ?C0019
; SOURCE LINE # 131
009C E500 E MOV A,vol_value
009E 9420 SUBB A,#020H
00A0 501A JNC ?C0019
; SOURCE LINE # 132
00A2 0500 E INC vol_value
; SOURCE LINE # 133
00A4 E500 E MOV A,vol_value
00A6 900000 E MOV DPTR,#VOL_Step_Map
00A9 93 MOVC A,@A+DPTR
00AA FD MOV R5,A
00AB 7F88 MOV R7,#088H
00AD 120000 E LCALL _I2c_WriteByte
; SOURCE LINE # 134
00B0 E4 CLR A
00B1 F500 E MOV gl_kbd_tick,A
; SOURCE LINE # 135
00B3 F500 E MOV vol_tick,A
00B5 F500 E MOV vol_tick+01H,A
; SOURCE LINE # 136
00B7 750001 E MOV disp_state,#01H
; SOURCE LINE # 137
00BA D200 E SETB vol_flag
; SOURCE LINE # 138
; SOURCE LINE # 139
00BC ?C0019:
; SOURCE LINE # 140
00BC E500 E MOV A,vol_value
00BE B42008 CJNE A,#020H,?C0021
00C1 200061 E JB vol_flag,?C0056
; SOURCE LINE # 141
00C4 D200 E SETB vol_flag
; SOURCE LINE # 142
00C6 750001 E MOV disp_state,#01H
; SOURCE LINE # 143
00C9 ?C0021:
; SOURCE LINE # 144
; SOURCE LINE # 145
00C9 807B SJMP ?C0059
; SOURCE LINE # 147
00CB ?C0022:
; SOURCE LINE # 148
C51 COMPILER V8.01 KBD_TASK 08/07/2006 11:16:10 PAGE 17
00CB E500 E MOV A,gl_kbd_tick
00CD D3 SETB C
00CE 941E SUBB A,#01EH
00D0 4021 JC ?C0023
; SOURCE LINE # 149
00D2 E500 E MOV A,vol_value
00D4 D3 SETB C
00D5 9400 SUBB A,#00H
00D7 401A JC ?C0023
; SOURCE LINE # 150
00D9 1500 E DEC vol_value
; SOURCE LINE # 151
00DB E500 E MOV A,vol_value
00DD 900000 E MOV DPTR,#VOL_Step_Map
00E0 93 MOVC A,@A+DPTR
00E1 FD MOV R5,A
00E2 7F88 MOV R7,#088H
00E4 120000 E LCALL _I2c_WriteByte
; SOURCE LINE # 152
00E7 E4 CLR A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -