⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboard.lst

📁 at89C51 keyboard example
💻 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 + -