📄 keypad.lst
字号:
192 1 if (Key == KEYPAD_NO_NEW_DATA)
193 1 {
194 2 // No key pressed (or just a function key)
195 2 Old_Key = KEYPAD_NO_NEW_DATA;
196 2 Last_valid_key_G = KEYPAD_NO_NEW_DATA;
197 2
198 2 return 0; // No new data
199 2 }
200 1
201 1 // A key has been pressed: debounce by checking twice
202 1 if (Key == Old_Key)
203 1 {
204 2 // A valid (debounced) key press has been detected
205 2
206 2 // Must be a new key to be valid - no 'auto repeat'
207 2 if (Key != Last_valid_key_G)
208 2 {
209 3 // New key!
210 3 *pKey = Key;
211 3 Last_valid_key_G = Key;
212 3
213 3 // Is the function key pressed too?
214 3 if (Fn_key)
215 3 {
216 4 // Function key *is* pressed with another key
217 4 *pFuncKey = Fn_key;
218 4 }
219 3 else
220 3 {
221 4 *pFuncKey = (char) 0x00;
222 4 }
223 3
224 3 return 1;
225 3 }
226 2 }
227 1
228 1 // No new data
229 1 Old_Key = Key;
230 1 return 0;
231 1 }
232
233 /*------------------------------------------------------------------*-
234 ---- END OF FILE -------------------------------------------------
235 -*------------------------------------------------------------------*/
C51 COMPILER V6.10 KEYPAD 04/18/2001 16:17:11 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
T2I0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
T2I1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
R1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FEH 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
R2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FDH 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
P4 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
R3 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FCH 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
P5 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00F8H 1
R4 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FBH 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
BD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DFH 1
tLong. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
_KEYPAD_Scan . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
pKey . . . . . . . . . . . . . . . . AUTO DATA PTR 0001H 3
pFuncKey . . . . . . . . . . . . . . AUTO DATA PTR 0003H 3
Old_Key. . . . . . . . . . . . . . . STATIC DATA CHAR 0000H 1
Key. . . . . . . . . . . . . . . . . * REG * DATA CHAR 0007H 1
Fn_key . . . . . . . . . . . . . . . * REG * DATA CHAR 0006H 1
KEYPAD_Update. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Key. . . . . . . . . . . . . . . . . AUTO DATA CHAR 0000H 1
FnKey. . . . . . . . . . . . . . . . AUTO DATA CHAR 0001H 1
T2R0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
T2R1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
tByte. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
IEN0 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
EADC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
IEN1 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
IADC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C0H 1
tWord. . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
I2FR . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
I3FR . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C7H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
T2CM . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
ADCON0 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D8H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IEX2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C1H 1
IEX3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C2H 1
IEX4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C3H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
IEX5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C4H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
IEX6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C5H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
INT2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
INT3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
INT4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
INT5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
INT6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
ADEX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DDH 1
INT8 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EDH 1
C51 COMPILER V6.10 KEYPAD 04/18/2001 16:17:11 PAGE 6
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
T2PS . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
ADST . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00E8H 1
SCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00E9H 1
KEYPAD_recv_buffer . . . . . . . . . . STATIC DATA ARRAY 0001H 14
RXDC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EFH 1
_KEYPAD_Get_Data_From_Buffer . . . . . PUBLIC CODE PROC 0000H -----
pKey . . . . . . . . . . . . . . . . AUTO DATA PTR 0001H 3
pFuncKey . . . . . . . . . . . . . . AUTO DATA PTR 0003H 3
TXDC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EEH 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
KEYPAD_Init. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
SWDT . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BEH 1
KEYPAD_Clear_Buffer. . . . . . . . . . PUBLIC CODE PROC 0000H -----
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C6H 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
KEYPAD_in_waiting_index. . . . . . . . STATIC DATA U_CHAR 000FH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
EX2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
EX3. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
EX4. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
ADM. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DBH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
EX5. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
EAL. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
EX6. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
CLKOUT . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
MX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D8H 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
MX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D9H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
MX2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DAH 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
CLK. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DEH 1
Last_valid_key_G . . . . . . . . . . . STATIC DATA CHAR 0010H 1
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BFH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
SRI. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EAH 1
C51 COMPILER V6.10 KEYPAD 04/18/2001 16:17:11 PAGE 7
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
BSY. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DCH 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
WDT. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AEH 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
SLS. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ECH 1
KEYPAD_in_read_index . . . . . . . . . STATIC DATA U_CHAR 0011H 1
C1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00F8H 1
C2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00F9H 1
C3 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FAH 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
STO. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EBH 1
F1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D1H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
IRCON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 244 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 14
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -