1603a4.lst
来自「STN ST7920 TEST CODE AND SPEC.」· LST 代码 · 共 252 行
LST
252 行
A51 MACRO ASSEMBLER 1603A4 10/09/2004 09:43:13 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN 1603A4.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 1603A4.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;30H IS DISPLAY DATE BUFFER
00B6 2 RS EQU P3.6
00B0 3 RW EQU P3.0
00B5 4 E EQU P3.5
00B7 5 REST EQU P3.7
0000 6 ORG 0000H
0000 0102 7 AJMP MAIN
0002 8 MAIN:
0002 1200F9 9 LCALL INITIAL
0005 120076 10 LCALL CGRAMWR
0008 12000C 11 LCALL DISPLAY
000B 22 12 RET
13 ;*********DISPLAY SUBPROGRAM********
14
000C 15 DISPLAY:
000C 900195 16 MOV DPTR,#LINE1A
000F 120021 17 LCALL SCREENWRITE
18 ;MOV 30H,#4BH
19 ;LCALL SCREENWRITE
20 ;MOV 30H,#20H
21 ;LCALL SCREENWRITE
0012 7C0A 22 MOV R4,#0AH
0014 753000 23 MOV 30H,#00H
0017 24 DIS1L1:
0017 120021 25 LCALL SCREENWRITE
001A 0530 26 INC 30H
001C DCF9 27 DJNZ R4,DIS1L1
001E 010C 28 AJMP DISPLAY
0020 22 29 RET
30
31 ;*******ONE SCREEN DATE WRITE********
0021 32 SCREENWRITE:
0021 7430 33 MOV A,#30H ;RE=0
0023 12015A 34 LCALL WRITE_S ;0011 0000B
0026 120170 35 LCALL BUSYCHECK
0029 7408 36 MOV A,#08H ;DISPLAY OFF
002B 12015A 37 LCALL WRITE_S ;0000 1000B
002E 120170 38 LCALL BUSYCHECK
0031 7480 39 MOV A,#80H ;SET DDRAM ADDRESS IS 00H
0033 12015A 40 LCALL WRITE_S ;1000 0000B
0036 120170 41 LCALL BUSYCHECK
0039 120069 42 LCALL LINEWRITE ;FIRST LINE WRITE
003C 7490 43 MOV A,#090H ;SET DDRAM ADDRESS IS 20H
003E 12015A 44 LCALL WRITE_S ;1010 0000B
0041 120170 45 LCALL BUSYCHECK
0044 120069 46 LCALL LINEWRITE ;SECOND LINE WRITE
0047 74A0 47 MOV A,#0A0H ;SET DDRAM ADDRESS IS 40H
0049 12015A 48 LCALL WRITE_S ;1100 0000B
004C 120170 49 LCALL BUSYCHECK
004F 120069 50 LCALL LINEWRITE ;THIRD LINE WRITE
0052 74B0 51 MOV A,#0B0H ;SET DDRAM ADRESS IS 60H
0054 12015A 52 LCALL WRITE_S ;1110 0000B
0057 120170 53 LCALL BUSYCHECK
005A 120069 54 LCALL LINEWRITE ;FORTH LINE WRITE
005D 740C 55 MOV A,#0CH ;DISPLAY ON
005F 12015A 56 LCALL WRITE_S ;0000 1100B
0062 120170 57 LCALL BUSYCHECK
0065 12018C 58 LCALL DELAY2S
A51 MACRO ASSEMBLER 1603A4 10/09/2004 09:43:13 PAGE 2
0068 22 59 RET
60
61 ;*****WRITE DATE TO ONE LINE******
0069 62 LINEWRITE:
0069 7D14 63 MOV R5,#20
006B 64 LI1L1:
006B E530 65 MOV A,30H
006D 120165 66 LCALL WRITE_D
0070 120170 67 LCALL BUSYCHECK
0073 DDF6 68 DJNZ R5,LI1L1
0075 22 69 RET
70
71 ;******WRITE DATE TO CGRAM*******
0076 72 CGRAMWR:
0076 7440 73 MOV A,#40H
0078 12015A 74 LCALL WRITE_S
007B 120170 75 LCALL BUSYCHECK
007E 7540AA 76 MOV 40H,#0AAH
0081 1200D7 77 LCALL CG1WRITE
0084 7448 78 MOV A,#48H
0086 12015A 79 LCALL WRITE_S
0089 120170 80 LCALL BUSYCHECK
008C 754055 81 MOV 40H,#055H
008F 1200D7 82 LCALL CG1WRITE
0092 7450 83 MOV A,#50H
0094 12015A 84 LCALL WRITE_S
0097 120170 85 LCALL BUSYCHECK
009A 754100 86 MOV 41H,#00H
009D 7542FF 87 MOV 42H,#0FFH
00A0 1200E4 88 LCALL CG2WRITE
00A3 7458 89 MOV A,#58H
00A5 12015A 90 LCALL WRITE_S
00A8 120170 91 LCALL BUSYCHECK
00AB 7541FF 92 MOV 41H,#0FFH
00AE 754200 93 MOV 42H,#00H
00B1 1200E4 94 LCALL CG2WRITE
00B4 7460 95 MOV A,#60H
00B6 12015A 96 LCALL WRITE_S
00B9 120170 97 LCALL BUSYCHECK
00BC 7541AA 98 MOV 41H,#0AAH
00BF 754255 99 MOV 42H,#55H
00C2 1200E4 100 LCALL CG2WRITE
00C5 7468 101 MOV A,#68H
00C7 12015A 102 LCALL WRITE_S
00CA 120170 103 LCALL BUSYCHECK
00CD 754155 104 MOV 41H,#055H
00D0 7542AA 105 MOV 42H,#0AAH
00D3 1200E4 106 LCALL CG2WRITE
00D6 22 107 RET
108 ;********CGRAM DATE WRITE 1********
00D7 109 CG1WRITE:
00D7 7C08 110 MOV R4,#08H
00D9 111 CG1L1:
00D9 E540 112 MOV A,40H
00DB 120165 113 LCALL WRITE_D
00DE 120170 114 LCALL BUSYCHECK
00E1 DCF6 115 DJNZ R4,CG1L1
00E3 22 116 RET
117
118 ;********CGRAMDATE WRITE 2*********
00E4 119 CG2WRITE:
00E4 7C04 120 MOV R4,#04H
00E6 121 CG2L1:
00E6 E541 122 MOV A,41H
00E8 120165 123 LCALL WRITE_D
00EB 120170 124 LCALL BUSYCHECK
A51 MACRO ASSEMBLER 1603A4 10/09/2004 09:43:13 PAGE 3
00EE E542 125 MOV A,42H
00F0 120165 126 LCALL WRITE_D
00F3 120170 127 LCALL BUSYCHECK
00F6 DCEE 128 DJNZ R4,CG2L1
00F8 22 129 RET
130
131 ;*********INITIALIZING SUBPROGRAM***
00F9 132 INITIAL:
00F9 120175 133 LCALL DELAY20mS
00FC 120175 134 LCALL DELAY20mS
00FF C2B7 135 CLR REST
0101 120175 136 LCALL DELAY20ms
0104 D2B7 137 SETB REST
0106 120175 138 LCALL DELAY20ms
139
0109 7430 140 MOV A,#30H
010B 12015A 141 LCALL WRITE_S
010E 12017E 142 LCALL DELAY4mS
0111 7430 143 MOV A,#30H
0113 12015A 144 LCALL WRITE_S
0116 120187 145 LCALL DELAY100uS
0119 7430 146 MOV A,#30H
011B 12015A 147 LCALL WRITE_S
011E 120170 148 LCALL BUSYCHECK
0121 7430 149 MOV A,#30H ;RE=0
0123 12015A 150 LCALL WRITE_S ;0011 0000B
0126 120170 151 LCALL BUSYCHECK
0129 7408 152 MOV A,#08H ;DISPLAY OFF
012B 12015A 153 LCALL WRITE_S ;0000 1000B
012E 120170 154 LCALL BUSYCHECK
0131 7401 155 MOV A,#01H ;CLEAR DISPLAY
0133 12015A 156 LCALL WRITE_S ;0000 0001B
0136 120170 157 LCALL BUSYCHECK
0139 7406 158 MOV A,#06H ;I/D=1 S=0
013B 12015A 159 LCALL WRITE_S ;0000 0110
013E 120170 160 LCALL BUSYCHECK
0141 7434 161 MOV A,#34H ;RE=1
0143 12015A 162 LCALL WRITE_S ;0011 0100B
0146 120170 163 LCALL BUSYCHECK
0149 7409 164 MOV A,#09H
014B 12015A 165 LCALL WRITE_S
014E 120170 166 LCALL BUSYCHECK
0151 7409 167 MOV A,#09H ;4 LINES DISPLAY(5*8DOT)
0153 12015A 168 LCALL WRITE_S ;0000 1001B
0156 120170 169 LCALL BUSYCHECK
0159 22 170 RET
171
172 ;********WRITE STATUS DATE TO IC****
015A 173 WRITE_S:
015A C2B6 174 CLR RS
015C C2B0 175 CLR RW
015E D2B5 176 SETB E
0160 F590 177 MOV P1,A
0162 C2B5 178 CLR E
0164 22 179 RET
180
181 ;********WRITE DISPLAY DATE TO IC****
0165 182 WRITE_D:
0165 D2B6 183 SETB RS
0167 C2B0 184 CLR RW
0169 D2B5 185 SETB E
016B F590 186 MOV P1,A
016D C2B5 187 CLR E
016F 22 188 RET
189
190 ;********BUSY CHECK SUBPROGRAM******
A51 MACRO ASSEMBLER 1603A4 10/09/2004 09:43:13 PAGE 4
0170 191 BUSYCHECK:
0170 7F28 192 MOV R7,#40
0172 DFFE 193 DJNZ R7,$
194 ; MOV P1,#0FFH
195 ; CLR RS
196 ; SETB RW
197 ;BULP:
198 ; SETB E
199 ; NOP
200 ; MOV A,P1
201 ; CLR E
202 ; JB ACC.7,BULP
0174 22 203 RET
204
205 ;*************DELAY 20ms************
0175 206 DELAY20mS:
0175 7F32 207 MOV R7,#50
0177 208 DE1L1:
0177 7EC8 209 MOV R6,#200
0179 DEFE 210 DJNZ R6,$
017B DFFA 211 DJNZ R7,DE1L1
017D 22 212 RET
213
214 ;************DELAY 5ms**************
017E 215 DELAY4mS:
017E 7F32 216 MOV R7,#50
0180 217 DE2L1:
0180 7E32 218 MOV R6,#50
0182 DEFE 219 DJNZ R6,$
0184 DFFA 220 DJNZ R7,DE2L1
0186 22 221 RET
222
223 ;**********DELAY 100uS**************
0187 224 DELAY100uS:
0187 7F3C 225 MOV R7,#60
0189 DFFE 226 DJNZ R7,$
018B 22 227 RET
228
229 ;*********DELAY 2S******************
018C 230 DELAY2S:
018C 7D0A 231 MOV R5,#0AH
018E 232 DE3L1:
018E DFFE 233 DJNZ R7,$
0190 DEFC 234 DJNZ R6,$-2
0192 DDFA 235 DJNZ R5,DE3L1
0194 22 236 RET
0195 A7DAAC4F 237 LINE1A:DB"и琌
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?