📄 keyboard.lst
字号:
A51 MACRO ASSEMBLER KEYBOARD 06/11/2004 10:38:15 PAGE 1
MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN keyboard.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE keyboard.a51 NOMOD51 SET(LARGE) DEBUG EP
LOC OBJ LINE SOURCE
1 ;$include (reg_c51.INC)
+1 2 +1 $save
+1 210 +1 $restore
211
212
213 ;/*_____ D E C L A R A T I O N ______________________________________________*/
0010 214 keypressed DATA 10H; /* key pressed value */
0020 215 key_flag BIT 20H; /* software flag */
216
0000 217 org 000h
0000 020100 218 ljmp begin
219
003B 220 org 3Bh
003B 020120 221 ljmp keyboard_it
222
223
224 ;/**
225 ; * FUNCTION_PURPOSE:this function setup keyboard.
226 ; * A key set idle mode and an other set the power-down mode
227 ; * In this two mode the microcontoleur wake up at keyboard event
228 ; * FUNCTION_INPUTS:void
229 ; * FUNCTION_OUTPUTS:void
230 ; */
0100 231 org 0100h
232
0100 233 begin:
234
0100 D2AF 235 SETB EA; /* enable interrupts */
236
237 ;/* init keyboard */
0102 759DFF 238 MOV KBE,#0FFh; /*Enable all P1 I/O as keyboard IO */
0105 759E00 239 MOV KBF,#00; /* Clear all keyboard flags */
0108 43B101 240 ORL IEN1,#01h; /* Enable keyboard interupt */
241
010B 242 loop:
243
010B 302010 244 JNB key_flag,end_if_key_flag
010E AF10 245 MOV R7, keypressed;
0110 BF1003 246 CJNE R7,#10h,end_if_key0x10; /*enter Idle mode */
247 ; /* Entering Idle Mode */
0113 438701 248 ORL PCON,#01h;
249 ; /* Wake up by keypressed value */
0116 250 end_if_key0x10:
251
0116 BF2003 252 CJNE R7,#20h,end_if_key0x20; /* enter powerdown mode */
253 ; /* Entering PowerDown Mode */
0119 438702 254 ORL PCON,#02h;
255 ; /* Wake up by keypressed value */
011C 256 end_if_key0x20:
257
011C C220 258 CLR key_flag; /* reset softaware flag */
011E 259 end_if_key_flag:
260
011E 80EB 261 JMP loop
262
263 ;/**
264 ;* FUNCTION_PURPOSE:keyboard_interrupt. Save pressed key
265 ;* FUNCTION_INPUTS:void
A51 MACRO ASSEMBLER KEYBOARD 06/11/2004 10:38:15 PAGE 2
266 ;* FUNCTION_OUTPUTS:void
267 ;*/
0120 268 keyboard_it:
269
0120 859E10 270 MOV keypressed,KBF; /* save pressed key */
0123 D220 271 SETB key_flag; /* set the software flag */
0125 759E00 272 MOV KBF,#00h; /* clear keyboard flags */
0128 32 273 RETI
274
275 end
A51 MACRO ASSEMBLER KEYBOARD 06/11/2004 10:38:15 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
AC . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . D ADDR 00E0H A
AUXR . . . . . . . D ADDR 008EH A
AUXR1. . . . . . . D ADDR 00A2H A
B. . . . . . . . . D ADDR 00F0H A
BDRCON . . . . . . D ADDR 009BH A
BEGIN. . . . . . . C ADDR 0100H A
BRL. . . . . . . . D ADDR 009AH A
CCAP0H . . . . . . D ADDR 00FAH A
CCAP0L . . . . . . D ADDR 00EAH A
CCAP1H . . . . . . D ADDR 00FBH A
CCAP1L . . . . . . D ADDR 00EBH A
CCAP2H . . . . . . D ADDR 00FCH A
CCAP2L . . . . . . D ADDR 00ECH A
CCAP3H . . . . . . D ADDR 00FDH A
CCAP3L . . . . . . D ADDR 00EDH A
CCAP4H . . . . . . D ADDR 00FEH A
CCAP4L . . . . . . D ADDR 00EEH A
CCAPM0 . . . . . . D ADDR 00DAH A
CCAPM1 . . . . . . D ADDR 00DBH A
CCAPM2 . . . . . . D ADDR 00DCH A
CCAPM3 . . . . . . D ADDR 00DDH A
CCAPM4 . . . . . . D ADDR 00DEH A
CCF0 . . . . . . . B ADDR 00D8H.0 A
CCF1 . . . . . . . B ADDR 00D8H.1 A
CCF2 . . . . . . . B ADDR 00D8H.2 A
CCF3 . . . . . . . B ADDR 00D8H.3 A
CCF4 . . . . . . . B ADDR 00D8H.4 A
CCON . . . . . . . D ADDR 00D8H A
CF . . . . . . . . B ADDR 00D8H.7 A
CH . . . . . . . . D ADDR 00F9H A
CKCON0 . . . . . . D ADDR 008FH A
CKCON1 . . . . . . D ADDR 00AFH A
CKRL . . . . . . . D ADDR 0097H A
CKSEL. . . . . . . D ADDR 0085H A
CL . . . . . . . . D ADDR 00E9H A
CMOD . . . . . . . D ADDR 00D9H A
CP_RL2 . . . . . . B ADDR 00C8H.0 A
CR . . . . . . . . B ADDR 00D8H.6 A
CY . . . . . . . . B ADDR 00D0H.7 A
C_T2 . . . . . . . B ADDR 00C8H.1 A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
EA . . . . . . . . B ADDR 00A8H.7 A
EC . . . . . . . . B ADDR 00A8H.6 A
EECON. . . . . . . D ADDR 00D2H A
END_IF_KEY0X10 . . C ADDR 0116H A
END_IF_KEY0X20 . . C ADDR 011CH A
END_IF_KEY_FLAG. . C ADDR 011EH A
ES . . . . . . . . B ADDR 00A8H.4 A
ET0. . . . . . . . B ADDR 00A8H.1 A
ET1. . . . . . . . B ADDR 00A8H.3 A
ET2. . . . . . . . B ADDR 00A8H.5 A
EX0. . . . . . . . B ADDR 00A8H.0 A
EX1. . . . . . . . B ADDR 00A8H.2 A
EXEN2. . . . . . . B ADDR 00C8H.3 A
EXF2 . . . . . . . B ADDR 00C8H.6 A
F0 . . . . . . . . B ADDR 00D0H.5 A
FCON . . . . . . . D ADDR 00D1H A
IE0. . . . . . . . B ADDR 0088H.1 A
A51 MACRO ASSEMBLER KEYBOARD 06/11/2004 10:38:15 PAGE 4
IE1. . . . . . . . B ADDR 0088H.3 A
IEN0 . . . . . . . D ADDR 00A8H A
IEN1 . . . . . . . D ADDR 00B1H A
INT0 . . . . . . . B ADDR 00B0H.2 A
INT1 . . . . . . . B ADDR 00B0H.3 A
IPH0 . . . . . . . D ADDR 00B7H A
IPH1 . . . . . . . D ADDR 00B3H A
IPL0 . . . . . . . D ADDR 00B8H A
IPL1 . . . . . . . D ADDR 00B2H A
IT0. . . . . . . . B ADDR 0088H.0 A
IT1. . . . . . . . B ADDR 0088H.2 A
KBE. . . . . . . . D ADDR 009DH A
KBF. . . . . . . . D ADDR 009EH A
KBLS . . . . . . . D ADDR 009CH A
KEYBOARD_IT. . . . C ADDR 0120H A
KEYPRESSED . . . . D ADDR 0010H A
KEY_FLAG . . . . . B ADDR 0024H.0 A
LOOP . . . . . . . C ADDR 010BH A
OSCCON . . . . . . D ADDR 0086H A
OV . . . . . . . . B ADDR 00D0H.2 A
P. . . . . . . . . B ADDR 00D0H.0 A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
P4 . . . . . . . . D ADDR 00C0H A
P5 . . . . . . . . D ADDR 00E8H A
PCON . . . . . . . D ADDR 0087H A
PI2. . . . . . . . D ADDR 00F8H A
PI2_1. . . . . . . B ADDR 00F8H.1 A
PI2_O. . . . . . . B ADDR 00F8H.0 A
PPCL . . . . . . . B ADDR 00B8H.6 A
PSL. . . . . . . . B ADDR 00B8H.4 A
PSW. . . . . . . . D ADDR 00D0H A
PT0L . . . . . . . B ADDR 00B8H.1 A
PT1L . . . . . . . B ADDR 00B8H.3 A
PT2L . . . . . . . B ADDR 00B8H.5 A
PX0L . . . . . . . B ADDR 00B8H.0 A
PX1L . . . . . . . B ADDR 00B8H.2 A
RB8. . . . . . . . B ADDR 0098H.2 A
RCAP2H . . . . . . D ADDR 00CBH A
RCAP2L . . . . . . D ADDR 00CAH A
RCLK . . . . . . . B ADDR 00C8H.5 A
RD . . . . . . . . B ADDR 00B0H.7 A
REN. . . . . . . . B ADDR 0098H.4 A
RI . . . . . . . . B ADDR 0098H.0 A
RS0. . . . . . . . B ADDR 00D0H.3 A
RS1. . . . . . . . B ADDR 00D0H.4 A
RXD. . . . . . . . B ADDR 00B0H.0 A
SADDR. . . . . . . D ADDR 00A9H A
SADEN. . . . . . . D ADDR 00B9H A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
SM0. . . . . . . . B ADDR 0098H.7 A
SM1. . . . . . . . B ADDR 0098H.6 A
SM2. . . . . . . . B ADDR 0098H.5 A
SP . . . . . . . . D ADDR 0081H A
SPCON. . . . . . . D ADDR 00C3H A
SPDAT. . . . . . . D ADDR 00C5H A
SPSTA. . . . . . . D ADDR 00C4H A
SSADR. . . . . . . D ADDR 0096H A
SSCON. . . . . . . D ADDR 0093H A
SSCS . . . . . . . D ADDR 0094H A
SSDAT. . . . . . . D ADDR 0095H A
T0 . . . . . . . . B ADDR 00B0H.4 A
T1 . . . . . . . . B ADDR 00B0H.5 A
A51 MACRO ASSEMBLER KEYBOARD 06/11/2004 10:38:15 PAGE 5
T2CON. . . . . . . D ADDR 00C8H A
T2MOD. . . . . . . D ADDR 00C9H A
TB8. . . . . . . . B ADDR 0098H.3 A
TCLK . . . . . . . B ADDR 00C8H.4 A
TCON . . . . . . . D ADDR 0088H A
TF0. . . . . . . . B ADDR 0088H.5 A
TF1. . . . . . . . B ADDR 0088H.7 A
TF2. . . . . . . . B ADDR 00C8H.7 A
TH0. . . . . . . . D ADDR 008CH A
TH1. . . . . . . . D ADDR 008DH A
TH2. . . . . . . . D ADDR 00CDH A
TI . . . . . . . . B ADDR 0098H.1 A
TL0. . . . . . . . D ADDR 008AH A
TL1. . . . . . . . D ADDR 008BH A
TL2. . . . . . . . D ADDR 00CCH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . B ADDR 0088H.6 A
TR2. . . . . . . . B ADDR 00C8H.2 A
TXD. . . . . . . . B ADDR 00B0H.1 A
WDTPRG . . . . . . D ADDR 00A7H A
WDTRST . . . . . . D ADDR 00A6H A
WR . . . . . . . . B ADDR 00B0H.6 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -