📄 yjasm.lst
字号:
A51 MACRO ASSEMBLER YJASM 11/22/2004 11:48:22 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN yjasm.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE yjasm.a51 SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ; SMC1602????(MCS51????)
2 ;***************************************************************************
3 ;* Title : Accessing to LCD-CONTROLLER *
4 ;* Date : 2000.4.27 *
5 ;* Support telephone: 0731-4167806,4167808(CHANGSHA SUNMAN) *
6 ;* Support fax :0731-4167807 Support E-mail:sunman@public.cs.hn.cn *
7 ;* Create by :???(chujianjun),???(zhuchangchun) *
8 ;* DESCRIPTION:This subroutine shows how to write data to LCD-CONTROLLER *
9 ;***************************************************************************
10 ;???: *LCM---8031* *LCM---8031* *LCM------------8031*
11 ; *DB0---P0.0* *DB4---P0.4* *RS-------------P2.4*
12 ; *DB1---P0.1* *DB5---P0.5* *RW-------------P2.5*
13 ; *DB2---P0.2* *DB6---P0.6* *E--NAND GATE---P2.6* (?????)
14 ; *DB3---P0.3* *DB7---P0.7* *VLCD?10K?????GND*
15 ;?:8031??????12MHz
16 ;**************************************************************************
9000 17 RSADDR EQU 09000H
A000 18 RWADDR EQU 0a000H
C000 19 CSADDR EQU 0c000H
0020 20 XPOS EQU 20H ;???????(??LCDPOS???)
0021 21 YPOS EQU 21H ;???????(??LCDPOS???)
22
0000 23 ORG 0000H
0000 8000 24 JMP START
0002 758160 25 START: MOV SP,#60H
0005 26 MAIN:
0005 7F30 27 MOV R7,#'0' ;?????
0007 28 MN_PA: ;??????"0"?"9"???
0007 1157 29 CALL LCDRESET
0009 EF 30 MOV A,R7
000A 111B 31 CALL LCDFILL
000C 11A5 32 CALL DELAY400MS
000E 0F 33 INC R7
000F EF 34 MOV A,R7
0010 B43AF4 35 CJNE A,#'9'+1,MN_PA
0013 7420 36 MOV A,#' '
0015 111B 37 CALL LCDFILL
0017 11A5 38 CALL DELAY400MS
0019 80EA 39 JMP MAIN
001B 40 LCDFILL:
001B F5F0 41 MOV B,A
001D 752100 42 MOV YPOS,#0
0020 752000 43 LFL_PB: MOV XPOS,#0 ;????A??????
0023 E5F0 44 LFL_PA: MOV A,B
0025 1152 45 CALL LCDWRITE
0027 0520 46 INC XPOS
0029 E520 47 MOV A,XPOS
002B B410F5 48 CJNE A,#16,LFL_PA
002E 0521 49 INC YPOS
0030 E521 50 MOV A,YPOS
0032 B402EB 51 CJNE A,#2,LFL_PB
0035 22 52 RET
53
0036 54 LCDPOS: ;???(XPOS,YPOS)????DDRAM??
0036 C0E0 55 PUSH ACC
0038 53200F 56 ANL XPOS,#0FH ;X????(0?15)
003B 532101 57 ANL YPOS,#01H ;Y????(0?1)
003E E521 58 MOV A,YPOS ;(XPOS,YPOS)??DDRAM??
A51 MACRO ASSEMBLER YJASM 11/22/2004 11:48:22 PAGE 2
0040 B40004 59 CJNE A,#00,LPS_LAY ;(???)X: ?0----15???
0043 E520 60 MOV A,XPOS ; DDRAM: 0----0FH
0045 8004 61 JMP LPS_LAX
0047 E520 62 LPS_LAY:MOV A,XPOS ;(???)X: ?0----15???
0049 2440 63 ADD A,#40H ; DDRAM: 40----4FH
004B 4480 64 LPS_LAX:ORL A,#80H ;??DDRAM??
004D 1182 65 CALL LCDWC
004F D0E0 66 POP ACC
0051 22 67 RET
68
0052 69 LCDWRITE: ;????????
0052 1136 70 CALL LCDPOS ;??????
0054 1189 71 CALL LCDWD ;???
0056 22 72 RET
73
0057 74 LCDRESET: ;?????
0057 119C 75 CALL DELAY5MS ;??15MS
0059 119C 76 CALL DELAY5MS
005B 119C 77 CALL DELAY5MS
005D 7438 78 MOV A,#38H ;??????(??????)
005F 1184 79 CALL LCDWCN ;???
0061 119C 80 CALL DELAY5MS
0063 7438 81 MOV A,#38H
0065 1184 82 CALL LCDWCN
0067 119C 83 CALL DELAY5MS
0069 7438 84 MOV A,#38H
006B 1184 85 CALL LCDWCN
86
006D 7438 87 MOV A,#38H ;??????(????????)
006F 1182 88 CALL LCDWC
0071 7408 89 MOV A,#08H ;????
0073 1182 90 CALL LCDWC
0075 7401 91 MOV A,#01H ;????
0077 1182 92 CALL LCDWC
0079 7406 93 MOV A,#06H ;????????
007B 1182 94 CALL LCDWC
007D 740C 95 MOV A,#0CH ;????????
007F 1182 96 CALL LCDWC
0081 22 97 RET
0082 98 LCDWC: ;???????(?????)
0082 1190 99 CALL WAITIDLE
0084 100 LCDWCN: ;???????(??????)
0084 90C000 101 MOV DPTR,#CSADDR ;CS=1 RS=0 RW=0
0087 F0 102 MOVX @DPTR,A
0088 22 103 RET
0089 104 LCDWD: ;??????
0089 1190 105 CALL WAITIDLE
008B 905000 106 MOV DPTR,#CSADDR+RSADDR ;CS=1 RS=1 RW=0
008E F0 107 MOVX @DPTR,A
008F 22 108 RET
0090 109 WAITIDLE:
0090 C0E0 110 PUSH ACC ;????????????LCD?????
0092 906000 111 MOV DPTR,#CSADDR+RWADDR ;CS=1 RS=0 RW=1
0095 E0 112 WTD_PA: MOVX A,@DPTR ;DB7: 0 LCD?????
0096 20E7FC 113 JB ACC.7,WTD_PA ; 1 LCD????
0099 D0E0 114 POP ACC
009B 22 115 RET
009C 116 DELAY5MS:
009C 7919 117 MOV R1,#25 ;?????(5MS)
009E 7A64 118 DL5_PA: MOV R2,#100
00A0 DAFE 119 DJNZ R2,$
00A2 D9FA 120 DJNZ R1,DL5_PA
00A4 22 121 RET
00A5 122 DELAY400MS:
00A5 7814 123 MOV R0,#20 ;?????(400MS)
00A7 7964 124 DL4_PA: MOV R1,#100
A51 MACRO ASSEMBLER YJASM 11/22/2004 11:48:22 PAGE 3
00A9 7A64 125 DL4_PB: MOV R2,#100
00AB DAFE 126 DJNZ R2,$
00AD D9FA 127 DJNZ R1,DL4_PB
00AF D8F6 128 DJNZ R0,DL4_PA
00B1 22 129 RET
130 END
A51 MACRO ASSEMBLER YJASM 11/22/2004 11:48:22 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
B. . . . . . . . . D ADDR 00F0H A
CSADDR . . . . . . N NUMB C000H A
DELAY400MS . . . . C ADDR 00A5H A
DELAY5MS . . . . . C ADDR 009CH A
DL4_PA . . . . . . C ADDR 00A7H A
DL4_PB . . . . . . C ADDR 00A9H A
DL5_PA . . . . . . C ADDR 009EH A
LCDFILL. . . . . . C ADDR 001BH A
LCDPOS . . . . . . C ADDR 0036H A
LCDRESET . . . . . C ADDR 0057H A
LCDWC. . . . . . . C ADDR 0082H A
LCDWCN . . . . . . C ADDR 0084H A
LCDWD. . . . . . . C ADDR 0089H A
LCDWRITE . . . . . C ADDR 0052H A
LFL_PA . . . . . . C ADDR 0023H A
LFL_PB . . . . . . C ADDR 0020H A
LPS_LAX. . . . . . C ADDR 004BH A
LPS_LAY. . . . . . C ADDR 0047H A
MAIN . . . . . . . C ADDR 0005H A
MN_PA. . . . . . . C ADDR 0007H A
RSADDR . . . . . . N NUMB 9000H A
RWADDR . . . . . . N NUMB A000H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0002H A
WAITIDLE . . . . . C ADDR 0090H A
WTD_PA . . . . . . C ADDR 0095H A
XPOS . . . . . . . N NUMB 0020H A
YPOS . . . . . . . N NUMB 0021H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -