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 + -
显示快捷键?