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

📄 rt12864.lst

📁 RT12864-3M液晶图片显示程序
💻 LST
字号:
A51 MACRO ASSEMBLER  RT12864                                                              08/30/2008 08:07:20 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN RT12864.OBJ
ASSEMBLER INVOKED BY: D:\Program Files\KEIL\C51\BIN\A51.EXE RT12864.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  00B0                 1              RS  EQU P3.0           ;
  00B1                 2              RW  EQU P3.1           ;
  00B2                 3              E   EQU P3.2           ;
  00B5                 4              REST EQU P3.5          ;
                       5     ;----------------------------------------------
  0030                 6          LCD_X  EQU 30H
  0031                 7          LCD_Y  EQU 31H
  0032                 8          COUNT  EQU 32H
  0033                 9          COUNT1 EQU 33H
  0034                10          COUNT2 EQU 34H
  0035                11          COUNT3 EQU 35H
0000                  12          ORG 00H
0000 020030           13              LJMP MAIN
0030                  14              ORG 0030H
0030                  15     MAIN:
0030 758160           16          MOV SP,#60H
0033                  17     START:
0033 120041           18          LCALL INIT                 ;调用初始化
                      19     ;******************************
0036                  20     TU_PLAY1:
0036 900593           21          MOV  DPTR,#TU_TAB2       ;显示图形
0039 1200DB           22          LCALL PHO_DISP
003C 120179           23              LCALL DELAY3
003F 80FE             24              SJMP $
                      25     
                      26     ;************************************
                      27     ;   ***********初始化***********
                      28     ;*************************************
0041                  29     INIT:
0041 C0E0             30          PUSH ACC
0043 C2B5             31          CLR REST           ; 复位
0045 00               32              NOP
0046 D2B5             33              SETB REST            
0048 7408             34          MOV  A,#08H       ;关闭显示
004A 120073           35          LCALL WRITE_COM
004D 120186           36          LCALL  DELAY5
0050 740C             37          MOV  A,#0CH       ;开显示,关光标,不闪烁
0052 120073           38          LCALL WRITE_COM
0055 120186           39          LCALL  DELAY5
0058 7408             40          MOV  A,#08H       ;关闭显示
005A 120073           41          LCALL WRITE_COM
005D 120186           42          LCALL  DELAY5
0060 740C             43          MOV  A,#0CH        ;开显示,关光标,不闪烁
0062 120073           44          LCALL WRITE_COM
0065 120186           45          LCALL  DELAY5
0068 7408             46          MOV  A,#08H        ;关闭显示
006A 120073           47          LCALL WRITE_COM
006D 120186           48          LCALL  DELAY5
0070 D0E0             49              POP ACC
0072 22               50              RET
                      51     ;*************************
                      52     ;  ********写指令*******
                      53     ;*************************
0073                  54     WRITE_COM:
0073 C0E0             55          PUSH ACC
0075 1200B6           56          LCALL BUSY          ;判别是否忙?
0078 C2B0             57              CLR RS
007A C2B1             58              CLR RW
A51 MACRO ASSEMBLER  RT12864                                                              08/30/2008 08:07:20 PAGE     2

007C F580             59              MOV P0,A               ;将示菟腿胧据口
007E D2B2             60              SETB E
0080 00               61              NOP
0081 C2B2             62              CLR E
0083 D0E0             63              POP ACC
0085 22               64              RET
                      65     ;****************************
                      66     ;   *******写资料*******
                      67     ;****************************
0086                  68     WRITE_DATA:
0086 C0E0             69          PUSH ACC
0088 C083             70              PUSH DPH
008A C082             71              PUSH DPL
008C 1200B6           72              LCALL BUSY
008F D2B0             73              SETB RS
0091 C2B1             74              CLR RW
0093 F580             75              MOV P0,A
0095 D2B2             76              SETB E
0097 00               77              NOP
0098 C2B2             78              CLR E
009A D082             79              POP DPL
009C D083             80              POP DPH
009E D0E0             81              POP ACC
00A0 22               82              RET
                      83     ;*******************************
                      84     ;
                      85     ;*******************************
00A1                  86     WR_ZB:
00A1 7434             87          MOV A,#34H           ;扩充功能设定(00110100)
00A3 120073           88          LCALL WRITE_COM  ;
00A6 E531             89          MOV A,LCD_Y          ;
00A8 120073           90          LCALL WRITE_COM  ;
00AB E530             91          MOV A,LCD_X          ;
00AD 120073           92          LCALL WRITE_COM  ;
00B0 7430             93          MOV A,#30H           ;基本功能设定
00B2 120073           94          LCALL WRITE_COM  ;
00B5 22               95          RET
                      96     ;******************************
                      97     ;  *******判别是否忙********
                      98     ;******************************
00B6 C0E0             99     BUSY:PUSH ACC
00B8 7580FF          100     BY:  MOV P0,#0FFH
00BB C2B0            101              CLR RS
00BD D2B1            102              SETB RW
00BF D2B2            103              SETB E
00C1 00              104              NOP
00C2 2087F3          105              JB P0.7,BY
00C5 C2B2            106              CLR E
00C7 D0E0            107              POP ACC
00C9 22              108              RET
                     109     ;**********************************
                     110     ;  *********显示子程序*********
                     111     ;       一个汉字占两个字节
                     112     ;**********************************
00CA                 113     DISP: 
00CA 7B08            114          MOV R3,#08H                         ;8个字
00CC E4              115     DISP1:CLR A
00CD 93              116          MOVC A,@A+DPTR                      ;
00CE A3              117              INC DPTR                        
00CF 120086          118              LCALL WRITE_DATA
00D2 E4              119              CLR A
00D3 93              120              MOVC A,@A+DPTR
00D4 120086          121              LCALL WRITE_DATA
                     122             ; LCALL DELAY
00D7 A3              123              INC DPTR 
00D8 DBF2            124              DJNZ R3,DISP1                   ;判断是否是8个汉字
A51 MACRO ASSEMBLER  RT12864                                                              08/30/2008 08:07:20 PAGE     3

00DA 22              125              RET
                     126     ;**********************************
                     127     ;  ******全屏显示图形子程序******
                     128     ;**********************************
00DB                 129     PHO_DISP:
00DB 753502          130          MOV  COUNT3,#02H   ;2行
00DE 753080          131          MOV  LCD_X,#80H
00E1                 132     PHO_DISP1:
00E1 753180          133          MOV  LCD_Y,#80H
00E4 753420          134          MOV  COUNT2,#20H  ;32位
00E7                 135     PHO_DISP2:
00E7 753310          136          MOV  COUNT1,#10H  ;16个字节
00EA 1200A1          137          LCALL WR_ZB
00ED                 138     PHO_DISP3:
00ED E4              139          CLR A
00EE 93              140          MOVC A,@A+DPTR
00EF 120086          141          LCALL WRITE_DATA
00F2 A3              142          INC DPTR
00F3 D533F7          143          DJNZ COUNT1,PHO_DISP3 ;判断是否写完16个字节
00F6 0531            144          INC LCD_Y
00F8 D534EC          145          DJNZ COUNT2,PHO_DISP2 ;判断是否写完32位
00FB 753088          146          MOV LCD_X,#88H
00FE D535E0          147          DJNZ COUNT3,PHO_DISP1;判断两行是否写完
                     148     
0101 7436            149          MOV A,#36H            ;扩充功能设定(00110110)绘图显示ON
0103 120073          150          LCALL WRITE_COM
0106 7430            151          MOV A,#30H            ;基本功能设定
0108 120073          152          LCALL WRITE_COM
010B 22              153          RET
                     154     
                     155     ;********************************
                     156     ;
                     157     ;********************************
010C 20202020        158     TAB0:DB"    昔我往矣    " 
0110 CEF4CED2                
0114 CDF9D2D3                
0118 20202020                
011C 20202020        159     TAB1:DB"    杨柳依依    "
0120 D1EEC1F8                
0124 D2C0D2C0                
0128 20202020                
012C 20202020        160     TAB2:DB"    今我来思    "
0130 BDF1CED2                
0134 C0B4CBBC                
0138 20202020                
013C 20202020        161          DB"    今我来思    "
0140 BDF1CED2                
0144 C0B4CBBC                
0148 20202020                
014C 20202020        162     TAB3:DB"    雨雪霏霏    "
0150 D3EAD1A9                
0154 F6ADF6AD                
0158 20202020                
015C 20202020        163              DB"    雨雪霏霏    "
0160 D3EAD1A9                
0164 F6ADF6AD                
0168 20202020                
                     164     ;******************************
                     165     ;   ********延时***********
                     166     ;******************************
016C 7D02            167     DELAY: MOV    R5,   #2         
016E 7EC8            168     DD1:   MOV    R6,   #200       
0170 7FF8            169     DD2:   MOV    R7,   #248         
0172 DFFE            170            DJNZ   R7,   $                                                                      
                                                                      
0174 DEFA            171            DJNZ   R6,   DD2           
A51 MACRO ASSEMBLER  RT12864                                                              08/30/2008 08:07:20 PAGE     4

0176 DDF6            172            DJNZ   R5,   DD1           
0178 22              173            RET
0179                 174     DELAY3:
0179 7D16            175           MOV R5,#16H
017B 7E64            176     DEL31:MOV R6,#100
017D 7FFF            177     DEL32:MOV R7,#0FFH
017F DFFE            178     DEL33:DJNZ R7,DEL33
0181 DEFA            179           DJNZ R6,DEL32
0183 DDF6            180           DJNZ R5,DEL31
0185 22              181           RET
0186                 182     DELAY5:
0186 7D05            183           MOV R5,#05H
0188 7E64            184     DEL51:MOV R6,#100
018A 7FFF            185     DEL52:MOV R7,#0FFH
018C DFFE            186     DEL53: DJNZ R7,DEL53
018E DEFA            187            DJNZ R6,DEL52
0190 DDF6            188            DJNZ R5,DEL51
0192 22              189            RET
                     190     
0193                 191     TU_TAB1:                                   ; 示荼

⌨️ 快捷键说明

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