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

📄 main.lst

📁 C51驱动标准PC键盘的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1      =1  #ifndef __KB_H__
   2      =1  #define __KB_H__
   3      =1  
   4      =1  
   5      =1  void init_kb(void);
   6      =1  void decode(unsigned char sc);
   7      =1  void put_kbbuff(unsigned char c);
   8      =1  int getchar(void);
   9      =1  
  10      =1  
  11      =1  #endif // __KB_H__
  12      =1  
   6          
   7          
   8          int __low_level_init(void)
   9          {
  10   1      	/*UBRR = 12;	// 19200bps@4MHz
  11   1      	UCR = 0x08;	// TX enable
  12   1      	GIMSK= 0x40;	// Enable INT0 interrupt
  13   1      	*/
  14   1      	EA = 0;		//disable interrupt
  15   1      
  16   1      	PX0 = 1;	//high priority
  17   1      	EX0 = 1;	//enable INT0
  18   1      	IT0 = 1;	//falling edge triger	
  19   1      	INT0 = 1;	//software reset, kbd clock
  20   1      
  21   1      	ET0 = 1;	//enable T0
  22   1      	PT0 = 0;	//low priority
  23   1      
  24   1      	PIND = 1;	//data reset, kbd data
  25   1      	TMOD = 0x01;	
  26   1      	TH0 = 0;
  27   1      	TL0 = 0;
  28   1      	TR0 = 0;
  29   1      	EA = 1;
  30   1      	return 1;
  31   1      }
  32          
  33          
  34          void clr(void)
  35          {
  36   1      	P1 = 0xFF;
  37   1      }
  38          
  39          
  40          void main(void)
  41          {
  42   1      	unsigned char key;
  43   1      
  44   1      	__low_level_init();
  45   1      	//init_uart();	// Initializes the UART transmit buffer
  46   1      	init_kb();	// Initialize keyboard reception
  47   1      
  48   1      	while(1)
  49   1      	{
  50   2      		P1 = key=getchar();
  51   2      		delay(10);
C51 COMPILER V6.12  MAIN                                                                   03/03/2007 18:29:42 PAGE 6   

  52   2      	}
  53   1      }
C51 COMPILER V6.12  MAIN                                                                   03/03/2007 18:29:42 PAGE 7   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION __low_level_init (BEGIN)
                                           ; SOURCE LINE # 8
                                           ; SOURCE LINE # 9
                                           ; SOURCE LINE # 14
0000 C2AF              CLR     EA
                                           ; SOURCE LINE # 16
0002 D2B8              SETB    PX0
                                           ; SOURCE LINE # 17
0004 D2A8              SETB    EX0
                                           ; SOURCE LINE # 18
0006 D288              SETB    IT0
                                           ; SOURCE LINE # 19
0008 D2B2              SETB    INT0
                                           ; SOURCE LINE # 21
000A D2A9              SETB    ET0
                                           ; SOURCE LINE # 22
000C C2B9              CLR     PT0
                                           ; SOURCE LINE # 24
000E D2A3              SETB    P2_3
                                           ; SOURCE LINE # 25
0010 758901            MOV     TMOD,#01H
                                           ; SOURCE LINE # 26
0013 E4                CLR     A
0014 F58C              MOV     TH0,A
                                           ; SOURCE LINE # 27
0016 F58A              MOV     TL0,A
                                           ; SOURCE LINE # 28
0018 C28C              CLR     TR0
                                           ; SOURCE LINE # 29
001A D2AF              SETB    EA
                                           ; SOURCE LINE # 30
001C FE                MOV     R6,A
001D 7F01              MOV     R7,#01H
                                           ; SOURCE LINE # 31
001F         ?C0001:
001F 22                RET     
             ; FUNCTION __low_level_init (END)

             ; FUNCTION clr (BEGIN)
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 35
                                           ; SOURCE LINE # 36
0000 7590FF            MOV     P1,#0FFH
                                           ; SOURCE LINE # 37
0003 22                RET     
             ; FUNCTION clr (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
                                           ; SOURCE LINE # 44
0000 1100        R     ACALL   __low_level_init
                                           ; SOURCE LINE # 46
0002 1100        E     ACALL   init_kb
0004         ?C0003:
                                           ; SOURCE LINE # 48
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 50
0004 1100        E     ACALL   getchar
C51 COMPILER V6.12  MAIN                                                                   03/03/2007 18:29:42 PAGE 8   

0006 8F00        R     MOV     key,R7
0008 8F90              MOV     P1,R7
                                           ; SOURCE LINE # 51
000A 7F0A              MOV     R7,#0AH
000C 1100        E     ACALL   _delay
                                           ; SOURCE LINE # 52
000E 80F4              SJMP    ?C0003
             ; FUNCTION main (END)

C51 COMPILER V6.12  MAIN                                                                   03/03/2007 18:29:42 PAGE 9   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
P0_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0080H  1
P1_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
P0_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0081H  1
FL . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D1H  1
P2_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
P1_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
P0_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0082H  1
P3_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
P2_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
P1_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
P0_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0083H  1
P3_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
P2_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A2H  1
P1_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
P0_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0084H  1
P3_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
P2_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A3H  1
P1_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
P0_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0085H  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
P3_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
P2_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A4H  1
P1_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
P0_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0086H  1
P3_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
P2_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A5H  1
P1_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
P0_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0087H  1
P3_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
P2_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A6H  1
P1_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
P3_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
P2_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A7H  1
P3_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
__low_level_init . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  key. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
C51 COMPILER V6.12  MAIN                                                                   03/03/2007 18:29:42 PAGE 10  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
clr. . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
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      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
getchar. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
init_kb. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_delay . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     52    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   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 + -