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

📄 12864lcd.lst

📁 刚学时编的小程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  12864LCD                                                             03/10/2007 14:55:02 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN .\12864LCD.obj
ASSEMBLER INVOKED BY: d:\Keil 8\C51\BIN\A51.EXE E:\12864LCD.asm SET(SMALL) DEBUG PRINT(.\12864LCD.lst) OBJECT(.\12864LCD
                      .obj) EP

LOC  OBJ            LINE     SOURCE

                       1     ;******************OCM4x8C并口******************
                       2     ;最小系统的P1口接JD5A,P0口接JD6A
  0080                 3     RS      EQU     P0.0
  0081                 4     RW      EQU     P0.1
  0082                 5     E       EQU     P0.2
  0083                 6     PSB     EQU     P0.3
  0084                 7     RST     EQU     P0.4
                       8     
  0030                 9     LCD_X   EQU     30H
  0031                10     LCD_Y   EQU     31H
  0032                11     COUNT   EQU     32H
  0033                12     COUNT1  EQU     33H
  0034                13     COUNT2  EQU     34H
  0035                14     COUNT3  EQU     35H
  0036                15     LCD_DATA        EQU     36H
  0037                16     LCD_DATA1       EQU     37H
  0038                17     LCD_DATA2       EQU     38H
  0039                18     STORE           EQU     39H
                      19     ;***********************************************
0000                  20                     ORG     0000H
0000 020100           21                     LJMP    MAIN
0100                  22                     ORG     0100H
0100 00               23     MAIN:           NOP
0101 00               24                     NOP
0102 75815F           25                     MOV     SP,#5FH
0105 D284             26                     SETB    RST
0107 00               27                     NOP
0108 D283             28                     SETB    PSB
                      29     ;********************初始化**********************
010A 7434             30     LGS0:           MOV     A,#34H                  ;34H--扩充指令操作
010C 120232           31                     LCALL   SEND_I
010F 7430             32                     MOV     A,#30H                  ;30H--基本指令操作
0111 120232           33                     LCALL   SEND_I
0114 7401             34                     MOV     A,#01H                  ;清除显示
0116 120232           35                     LCALL   SEND_I
0119 7406             36                     MOV     A,#06H                  ;指定在资料写入或读取时,光标的移动方向
011B 120232           37                     LCALL   SEND_I
011E 740C             38                     MOV     A,#0CH                  ;开显示,关光标,不闪烁
0120 120232           39                     LCALL   SEND_I
                      40     ;***********************************************
0123 900281           41     LGS1:           MOV     DPTR,#TAB1              ;显示汉字和字符
0126 753240           42                     MOV     COUNT,#40H
0129 7480             43                     MOV     A,#80H
012B 120232           44                     LCALL   SEND_I
012E E4               45     LGS11:          CLR     A
012F 93               46                     MOVC    A,@A+DPTR
0130 120222           47                     LCALL   SEND_D
0133 A3               48                     INC     DPTR
0134 D532F7           49                     DJNZ    COUNT,LGS11
0137 120262           50                     LCALL   DELAY3
                      51     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
013A 7401             52     LGS2:           MOV     A,#01H
013C 120232           53                     LCALL   SEND_I
                      54     
013F 7537CC           55                     MOV     LCD_DATA1,#0CCH         ;显示点阵
0142 7538CC           56                     MOV     LCD_DATA2,#0CCH
0145 1201CE           57                     LCALL   LAT_DISP
A51 MACRO ASSEMBLER  12864LCD                                                             03/10/2007 14:55:02 PAGE     2

0148 120262           58                     LCALL   DELAY3
                      59     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
014B 7434             60     LGS3:           MOV     A,#34H
014D 120232           61                     LCALL   SEND_I
0150 7430             62                     MOV     A,#30H
0152 120232           63                     LCALL   SEND_I
                      64     
0155 9002C2           65                     MOV     DPTR,#TAB3              ;显示汉字和字符
0158 753240           66                     MOV     COUNT,#40H
015B 7480             67                     MOV     A,#80H
015D 120232           68                     LCALL   SEND_I
0160 E4               69     LGS31:          CLR     A
0161 93               70                     MOVC    A,@A+DPTR
0162 120222           71                     LCALL   SEND_D
0165 A3               72                     INC     DPTR
0166 D532F7           73                     DJNZ    COUNT,LGS31
0169 120262           74                     LCALL   DELAY3
                      75     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
016C 7401             76     LGS4:           MOV     A,#01H
016E 120232           77                     LCALL   SEND_I
                      78     
0171 7537FF           79                     MOV     LCD_DATA1,#0FFH         ;显示点阵
0174 753800           80                     MOV     LCD_DATA2,#00H
0177 1201CE           81                     LCALL   LAT_DISP
017A 120262           82                     LCALL   DELAY3
                      83     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
017D 900302           84     LGS5:           MOV     DPTR,#TAB5              ;显示图形
0180 120193           85                     LCALL   PHO_DISP
0183 120262           86                     LCALL   DELAY3
                      87     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
0186 7434             88                     MOV     A,#34H
0188 120232           89                     LCALL   SEND_I
018B 7430             90                     MOV     A,#30H
018D 120232           91                     LCALL   SEND_I
0190 020123           92                     LJMP    LGS1
                      93     ;***********************************************
0193 753502           94     PHO_DISP:       MOV     COUNT3,#02H             ;全屏显示图形子程序
0196 753080           95                     MOV     LCD_X,#80H
0199 753180           96     PHO_DISP1:      MOV     LCD_Y,#80H
019C 753420           97                     MOV     COUNT2,#20H
019F 753310           98     PHO_DISP2:      MOV     COUNT1,#10H
01A2 12020D           99                     LCALL   WR_ZB
01A5 E4              100     PHO_DISP3:      CLR     A
01A6 93              101                     MOVC    A,@A+DPTR
01A7 120222          102                     LCALL   SEND_D
01AA A3              103                     INC     DPTR
01AB D533F7          104                     DJNZ    COUNT1,PHO_DISP3
01AE 0531            105                     INC     LCD_Y
01B0 D534EC          106                     DJNZ    COUNT2,PHO_DISP2
01B3 753088          107                     MOV     LCD_X,#88H
01B6 D535E0          108                     DJNZ    COUNT3,PHO_DISP1
                     109     
01B9 7436            110                     MOV     A,#36H
01BB 120232          111                     LCALL   SEND_I
01BE 7430            112                     MOV     A,#30H
01C0 120232          113                     LCALL   SEND_I
01C3 22              114                     RET
                     115     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
01C4 753700          116     CLRRAM:         MOV     LCD_DATA1,#00H          ;GDRAM写0子程序
01C7 753800          117                     MOV     LCD_DATA2,#00H
01CA 1201CE          118                     LCALL   LAT_DISP
01CD 22              119                     RET
                     120     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
01CE 753502          121     LAT_DISP:       MOV     COUNT3,#02H             ;显示点阵子程序
01D1 753080          122                     MOV     LCD_X,#80H
01D4 753180          123     LAT_DISP1:      MOV     LCD_Y,#80H
A51 MACRO ASSEMBLER  12864LCD                                                             03/10/2007 14:55:02 PAGE     3

01D7 C2D5            124                     CLR     F0
01D9 753420          125                     MOV     COUNT2,#20H
01DC 753310          126     LAT_DISP2:      MOV     COUNT1,#10H
01DF 12020D          127                     LCALL   WR_ZB
01E2 20D505          128     LAT_DISP3:      JB      F0,LAT_DISP32
01E5 853736          129                     MOV     LCD_DATA,LCD_DATA1
01E8 21ED            130                     AJMP    LAT_DISP31
01EA 853836          131     LAT_DISP32:     MOV     LCD_DATA,LCD_DATA2
01ED E536            132     LAT_DISP31:     MOV     A,LCD_DATA
01EF 120222          133                     LCALL   SEND_D
01F2 D533F8          134                     DJNZ    COUNT1,LAT_DISP31
01F5 0531            135                     INC     LCD_Y
01F7 B2D5            136                     CPL     F0
01F9 D534E0          137                     DJNZ    COUNT2,LAT_DISP2
01FC 753088          138                     MOV     LCD_X,#88H
01FF D535D2          139                     DJNZ    COUNT3,LAT_DISP1
                     140     
0202 7436            141                     MOV     A,#36H
0204 120232          142                     LCALL   SEND_I
0207 7430            143                     MOV     A,#30H
0209 120232          144                     LCALL   SEND_I
020C 22              145                     RET
                     146     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
020D 7434            147     WR_ZB:          MOV     A,#34H
020F 120232          148                     LCALL   SEND_I
0212 E531            149                     MOV     A,LCD_Y
0214 120232          150                     LCALL   SEND_I
0217 E530            151                     MOV     A,LCD_X
0219 120232          152                     LCALL   SEND_I
021C 7430            153                     MOV     A,#30H
021E 120232          154                     LCALL   SEND_I
0221 22              155                     RET
                     156     ;***********************************************
0222 120253          157     SEND_D:         LCALL   CHK_BUSY                ;写数据子程序
0225 D280            158                     SETB    RS
0227 C281            159                     CLR     RW                                              
0229 F590            160                     MOV     P1,A
022B D282            161                     SETB    E
022D 00              162                     NOP
022E 00              163                     NOP
022F C282            164                     CLR     E
0231 22              165                     RET
                     166     
0232 120253          167     SEND_I:         LCALL   CHK_BUSY                ;写指令子程序
0235 C280            168                     CLR     RS
0237 C281            169                     CLR     RW
0239 F590            170                     MOV     P1,A
023B D282            171                     SETB    E
023D 00              172                     NOP
023E 00              173                     NOP
023F C282            174                     CLR     E
0241 22              175                     RET
                     176     
0242 120253          177     READ_D:         LCALL   CHK_BUSY                ;读数据子程序
0245 D280            178                     SETB    RS
0247 D281            179                     SETB    RW
0249 D282            180                     SETB    E
024B 00              181                     NOP
024C E590            182                     MOV     A,P1
024E C282            183                     CLR     E
0250 F539            184                     MOV     STORE,A
0252 22              185                     RET
                     186     
0253 7590FF          187     CHK_BUSY:       MOV     P1,#0FFH                ;测忙碌子程序
0256 C280            188                     CLR     RS
0258 D281            189                     SETB    RW

⌨️ 快捷键说明

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