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

📄 s18-4.lst

📁 市面上很流行的《手把手教你单片机》的光盘资料
💻 LST
字号:
A51 MACRO ASSEMBLER  S18_4                                                                02/29/2004 10:46:46 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\S18-4.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE .\S18-4.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;********89C51引脚定义********
  00B3                 2             RS BIT P3.3
  00B4                 3             R_W BIT P3.4
  00B5                 4             E BIT P3.5
  0090                 5             DB0_DB7 EQU P1
                       6     ;*******程序开始********
0000                   7             ORG 0000H
0000 020030            8             LJMP MAIN
                       9     ;*******主程序*******
0030                  10             ORG 0030H
0030 758170           11     MAIN:   MOV SP,#70H
0033 7800             12             MOV R0,#00H
0035 12008E           13             LCALL INITIAL
0038 1200D5           14     AGAIN:  LCALL CLS
003B 7480             15             MOV A,#10000000B
003D 48               16             ORL A,R0
003E B48F04           17             CJNE A,#10001111B,NEXT1
0041 7800             18             MOV R0,#00H
0043 80F3             19             SJMP AGAIN
0045 1200B5           20     NEXT1:  LCALL WRITE_COM
0048 90006C           21             MOV DPTR,#LINE1
004B 1200E4           22             LCALL DISP
004E 74C0             23             MOV A,#11000000B
0050 48               24             ORL A,R0
0051 B4CF04           25             CJNE A,#11001111B,NEXT2
0054 7800             26             MOV R0,#00H
0056 80E0             27             SJMP AGAIN
0058 1200B5           28     NEXT2:  LCALL WRITE_COM
005B 90007D           29             MOV DPTR,#LINE2
005E 1200E4           30             LCALL DISP
0061 08               31             INC R0
0062 79FF             32             MOV R1,#255
0064 1200DB           33     DEL_LOOP:       LCALL DEL
0067 D9FB             34             DJNZ R1, DEL_LOOP
0069 020038           35             LJMP AGAIN
                      36     ;*****LCM第一、二行显示字符串*****
006C 5368616E         37     LINE1:  DB "Shanghai        ",00H
0070 67686169                
0074 20202020                
0078 20202020                
007C 00                      
007D 4368696E         38     LINE2:  DB "China           ",00H
0081 61202020                
0085 20202020                
0089 20202020                
008D 00                      
                      39     ;****** 启动LCM子程序******
008E 7438             40     INITIAL:MOV A,#00111000B
0090 1200B5           41             LCALL WRITE_COM
0093 740E             42             MOV A,#00001110B 
0095 1200B5           43             LCALL WRITE_COM 
0098 7406             44             MOV A,#00000110B 
009A 1200B5           45             LCALL WRITE_COM 
009D 22               46             RET
                      47     ;*******查询忙碌标志信号子程序********
009E C0E0             48     CHECK_BUSY:     PUSH ACC
00A0 C2B5             49     BUSY_LOOP:      CLR E
00A2 D2B4             50             SETB R_W
A51 MACRO ASSEMBLER  S18_4                                                                02/29/2004 10:46:46 PAGE     2

00A4 C2B3             51             CLR RS
00A6 D2B5             52             SETB E
00A8 E590             53             MOV A, DB0_DB7
00AA C2B5             54             CLR E
00AC 20E7F1           55             JB ACC.7,BUSY_LOOP
00AF D0E0             56             POP ACC
00B1 1200DB           57             LCALL DEL
00B4 22               58             RET
                      59     ;****** 写指令到LCM子程序*******
00B5 12009E           60     WRITE_COM:      LCALL CHECK_BUSY
00B8 C2B5             61             CLR E
00BA C2B3             62             CLR RS 
00BC C2B4             63             CLR R_W
00BE D2B5             64             SETB E
00C0 F590             65             MOV  DB0_DB7,A
00C2 C2B5             66             CLR E
00C4 22               67             RET
                      68     ;****** 写数据到LCM子程序******
00C5 12009E           69     WRITE_DATA:     LCALL CHECK_BUSY
00C8 C2B5             70             CLR E
00CA D2B3             71             SETB RS 
00CC C2B4             72             CLR R_W
00CE D2B5             73             SETB E
00D0 F590             74             MOV  DB0_DB7,A
00D2 C2B5             75             CLR E
00D4 22               76             RET
                      77     ;*******清除LCM子程序*******
00D5 7401             78     CLS:    MOV A,#00000001B
00D7 1200B5           79             LCALL WRITE_COM
00DA 22               80             RET
                      81     ;****延时子程序****
00DB 7E05             82     DEL:    MOV R6,#5
00DD 7FF8             83     L1:     MOV R7,#248
00DF DFFE             84             DJNZ R7,$
00E1 DEFA             85             DJNZ R6,L1
00E3 22               86             RET
                      87     ;*******显示字符串到LCM子程序********
00E4 C0E0             88     DISP:   PUSH ACC
00E6 E4               89     DISP_LOOP:      CLR A
00E7 93               90             MOVC A,@A+DPTR
00E8 6006             91             JZ END_DISP
00EA 1200C5           92             LCALL WRITE_DATA
00ED A3               93             INC DPTR
00EE 80F6             94             SJMP DISP_LOOP
00F0 D0E0             95     END_DISP:       POP ACC
00F2 22               96             RET
                      97     ;*************************
                      98             END
                                     
A51 MACRO ASSEMBLER  S18_4                                                                02/29/2004 10:46:46 PAGE     3

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
AGAIN. . . . . . .  C ADDR   0038H   A   
BUSY_LOOP. . . . .  C ADDR   00A0H   A   
CHECK_BUSY . . . .  C ADDR   009EH   A   
CLS. . . . . . . .  C ADDR   00D5H   A   
DB0_DB7. . . . . .  D ADDR   0090H   A   
DEL. . . . . . . .  C ADDR   00DBH   A   
DEL_LOOP . . . . .  C ADDR   0064H   A   
DISP . . . . . . .  C ADDR   00E4H   A   
DISP_LOOP. . . . .  C ADDR   00E6H   A   
E. . . . . . . . .  B ADDR   00B0H.5 A   
END_DISP . . . . .  C ADDR   00F0H   A   
INITIAL. . . . . .  C ADDR   008EH   A   
L1 . . . . . . . .  C ADDR   00DDH   A   
LINE1. . . . . . .  C ADDR   006CH   A   
LINE2. . . . . . .  C ADDR   007DH   A   
MAIN . . . . . . .  C ADDR   0030H   A   
NEXT1. . . . . . .  C ADDR   0045H   A   
NEXT2. . . . . . .  C ADDR   0058H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
RS . . . . . . . .  B ADDR   00B0H.3 A   
R_W. . . . . . . .  B ADDR   00B0H.4 A   
SP . . . . . . . .  D ADDR   0081H   A   
WRITE_COM. . . . .  C ADDR   00B5H   A   
WRITE_DATA . . . .  C ADDR   00C5H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -