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

📄 4x8c.lst

📁 单片机开发板源程序适合初学者 第三部分 LCD_中文
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  4X8C                                                                 12/29/2007 12:42:27 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN 4x8C.OBJ
ASSEMBLER INVOKED BY: C:\tools\Keil\C51\BIN\A51.EXE 4x8C.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;******************OCM4x8C并口******************
  00A5                 2     RS      EQU     P2.5
  00A4                 3     RW      EQU     P2.4
  00A3                 4     E       EQU     P2.3
  00A2                 5     PSB     EQU     P2.2
  00A0                 6     RST     EQU     P2.0
                       7     
  0030                 8     LCD_X   EQU     30H
  0031                 9     LCD_Y   EQU     31H
  0032                10     LCD_X1  EQU     32H
  0033                11     LCD_Y1  EQU     33H
  0034                12     COUNT   EQU     34H
  0035                13     COUNT1  EQU     35H
  0036                14     COUNT2  EQU     36H
  0037                15     COUNT3  EQU     37H
  0038                16     LCD_DATA        EQU     38H
  0039                17     LCD_DATA1       EQU     39H
  003A                18     LCD_DATA2       EQU     3AH
                      19     ;***********************************************
0000                  20                     ORG     0000H
0000 020100           21                     LJMP    MAIN
0100                  22                     ORG     0100H
0100 75815F           23     MAIN:           MOV     SP,#5FH
0103 120262           24                     LCALL   DELAY2
0106 D2A2             25                     SETB    PSB
0108 D2A0             26                     SETB    RST
                      27     ;********************初始化**********************
010A 7434             28     LGS0:           MOV     A,#34H                  ;34H--扩充指令操作
010C 120235           29                     LCALL   SEND_I
010F 7430             30                     MOV     A,#30H                  ;30H--基本指令操作
0111 120235           31                     LCALL   SEND_I
0114 7401             32                     MOV     A,#01H                  ;清除显示
0116 120235           33                     LCALL   SEND_I
                      34     ;               LCALL   DELAY2
                      35     ;               LCALL   DELAY2
0119 7406             36                     MOV     A,#06H                  ;指定在资料写入或读取时,光标的移动方向
011B 120235           37                     LCALL   SEND_I
011E 740C             38                     MOV     A,#0CH                  ;开显示,关光标,不闪烁
0120 120235           39                     LCALL   SEND_I
                      40     ;***********************************************
0123 900274           41     LGS1:           MOV     DPTR,#TAB1              ;显示汉字和字符
0126 753440           42                     MOV     COUNT,#40H
0129 7480             43                     MOV     A,#80H
012B 120235           44                     LCALL   SEND_I
012E E4               45     LGS11:          CLR     A
012F 93               46                     MOVC    A,@A+DPTR
0130 120221           47                     LCALL   SEND_D
0133 A3               48                     INC     DPTR
0134 D534F7           49                     DJNZ    COUNT,LGS11
0137 120255           50                     LCALL   DELAY3
                      51     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
013A 7401             52     LGS2:           MOV     A,#01H
013C 120235           53                     LCALL   SEND_I
                      54     ;               LCALL   DELAY2
                      55     ;               LCALL   DELAY2
                      56                     
                      57     ;               MOV     LCD_DATA1,#0AAH         ;显示点阵
                      58     ;               MOV     LCD_DATA2,#0AAH
A51 MACRO ASSEMBLER  4X8C                                                                 12/29/2007 12:42:27 PAGE     2

                      59     ;               LCALL   WRLATTICE
                      60     ;               LCALL   DELAY3
                      61     ;               MOV     LCD_DATA1,#55H          ;显示点阵
                      62     ;               MOV     LCD_DATA2,#55H
                      63     ;               LCALL   WRLATTICE
                      64     ;               LCALL   DELAY3
                      65     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
013F                  66     LGS3:           ;MOV    A,#34H
                      67                     ;LCALL  SEND_I
                      68                     ;MOV    A,#30H
                      69                     ;LCALL  SEND_I
                      70                     
013F 9002B4           71                     MOV     DPTR,#TAB3              ;显示汉字和字符
0142 753440           72                     MOV     COUNT,#40H
0145 7480             73                     MOV     A,#80H
0147 120235           74                     LCALL   SEND_I
014A E4               75     LGS31:          CLR     A
014B 93               76                     MOVC    A,@A+DPTR
014C 120221           77                     LCALL   SEND_D
014F A3               78                     INC     DPTR
0150 D534F7           79                     DJNZ    COUNT,LGS31
0153 120255           80                     LCALL   DELAY3
                      81     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
0156 7401             82     LGS4:           MOV     A,#01H
0158 120235           83                     LCALL   SEND_I
                      84     ;               LCALL   DELAY2
                      85     ;               LCALL   DELAY2
                      86                     
                      87     ;               MOV     LCD_DATA1,#0FFH         ;显示点阵
                      88     ;               MOV     LCD_DATA2,#00H
                      89     ;               LCALL   WRLATTICE
                      90     ;               LCALL   DELAY3
                      91     ;               MOV     LCD_DATA1,#00H          ;显示点阵
                      92     ;               MOV     LCD_DATA2,#0FFH
                      93     ;               LCALL   WRLATTICE
                      94     ;               LCALL   DELAY3
                      95     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
015B 9002F4           96     LGS5:           MOV     DPTR,#TAB5              ;显示图形
015E 120171           97                     LCALL   PHO_DISP
0161 120255           98                     LCALL   DELAY3
                      99     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
0164 7434            100                     MOV     A,#34H
0166 120235          101                     LCALL   SEND_I
0169 7430            102                     MOV     A,#30H
016B 120235          103                     LCALL   SEND_I
016E 020123          104                     LJMP    LGS1
                     105     ;***********************************************
0171 753080          106     PHO_DISP:       MOV     LCD_X,#80H              ;全屏显示图形子程序
0174 753380          107                     MOV     LCD_Y1,#80H
0177 753702          108                     MOV     COUNT3,#02H
017A 853032          109     PHO_DISP1:      MOV     LCD_X1,LCD_X
017D 753620          110                     MOV     COUNT2,#20H
0180 753508          111     PHO_DISP2:      MOV     COUNT1,#08H
0183 12020C          112     PHO_DISP3:      LCALL   WR_ZB
0186 E4              113                     CLR     A
0187 93              114                     MOVC    A,@A+DPTR
0188 120221          115                     LCALL   SEND_D
018B A3              116                     INC     DPTR
018C E4              117                     CLR     A
018D 93              118                     MOVC    A,@A+DPTR
018E 120221          119                     LCALL   SEND_D
0191 A3              120                     INC     DPTR
0192 0532            121                     INC     LCD_X1
0194 D535EC          122                     DJNZ    COUNT1,PHO_DISP3
0197 853032          123                     MOV     LCD_X1,LCD_X
019A 0533            124                     INC     LCD_Y1
A51 MACRO ASSEMBLER  4X8C                                                                 12/29/2007 12:42:27 PAGE     3

019C D536E1          125                     DJNZ    COUNT2,PHO_DISP2
019F 753088          126                     MOV     LCD_X,#88H
01A2 753380          127                     MOV     LCD_Y1,#80H
01A5 D537D2          128                     DJNZ    COUNT3,PHO_DISP1
                     129                     
01A8 7436            130                     MOV     A,#36H
01AA 120235          131                     LCALL   SEND_I
                     132     ;               LCALL   DELAY1
01AD 7430            133                     MOV     A,#30H
01AF 120235          134                     LCALL   SEND_I
01B2 22              135                     RET
                     136     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
01B3 753900          137     CLRRAM:         MOV     LCD_DATA1,#00H          ;GDRAM写0子程序
01B6 753A00          138                     MOV     LCD_DATA2,#00H
01B9 1201BD          139                     LCALL   WRLATTICE
01BC 22              140                     RET
                     141     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
01BD 753080          142     WRLATTICE:      MOV     LCD_X,#80H              ;显示点阵子程序
01C0 753380          143                     MOV     LCD_Y1,#80H
01C3 753702          144                     MOV     COUNT3,#02H
01C6 C2D5            145     WRLAT1:         CLR     F0
01C8 853032          146                     MOV     LCD_X1,LCD_X
01CB 753620          147                     MOV     COUNT2,#20H
01CE 753508          148     WRLAT2:         MOV     COUNT1,#08H
01D1 20D505          149     WRLAT3:         JB      F0,WRLAT32
01D4 853938          150                     MOV     LCD_DATA,LCD_DATA1
01D7 21DC            151                     AJMP    WRLAT31
01D9 853A38          152     WRLAT32:        MOV     LCD_DATA,LCD_DATA2
01DC 12020C          153     WRLAT31:        LCALL   WR_ZB
01DF E538            154                     MOV     A,LCD_DATA
01E1 120221          155                     LCALL   SEND_D
01E4 E538            156                     MOV     A,LCD_DATA
01E6 120221          157                     LCALL   SEND_D
01E9 0532            158                     INC     LCD_X1
01EB D535E3          159                     DJNZ    COUNT1,WRLAT3
01EE 853032          160                     MOV     LCD_X1,LCD_X
01F1 0533            161                     INC     LCD_Y1
01F3 B2D5            162                     CPL     F0
01F5 D536D6          163                     DJNZ    COUNT2,WRLAT2
01F8 753088          164                     MOV     LCD_X,#88H
01FB 753380          165                     MOV     LCD_Y1,#80H
01FE D537C5          166                     DJNZ    COUNT3,WRLAT1
                     167                     
0201 7436            168                     MOV     A,#36H
0203 120235          169                     LCALL   SEND_I
                     170     ;               LCALL   DELAY1
0206 7430            171                     MOV     A,#30H
0208 120235          172                     LCALL   SEND_I
020B 22              173                     RET
                     174     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
020C 7434            175     WR_ZB:          MOV     A,#34H
020E 120235          176                     LCALL   SEND_I
                     177     ;               LCALL   DELAY1
0211 E533            178                     MOV     A,LCD_Y1
0213 120235          179                     LCALL   SEND_I
0216 E532            180                     MOV     A,LCD_X1
0218 120235          181                     LCALL   SEND_I
021B 7430            182                     MOV     A,#30H
021D 120235          183                     LCALL   SEND_I
0220 22              184                     RET
                     185     ;***********************************************
0221 120249          186     SEND_D:         LCALL   CHK_BUSY                ;写数据子程序
0224 D2A5            187                     SETB    RS
0226 C2A4            188                     CLR     RW
0228 F580            189                     MOV     P0,A
022A D2A3            190                     SETB    E
A51 MACRO ASSEMBLER  4X8C                                                                 12/29/2007 12:42:27 PAGE     4

022C 00              191                     NOP
022D 00              192                     NOP
022E C2A3            193                     CLR     E
0230 00              194                     NOP
0231 7580FF          195                     MOV     P0,#0FFH

⌨️ 快捷键说明

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