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

📄 ocm4x8c.lst

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


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN Ocm4x8C.OBJ
ASSEMBLER INVOKED BY: C:\tools\Keil\C51\BIN\A51.EXE Ocm4x8C.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     COUNT   EQU     32H
  0033                11     COUNT1  EQU     33H
  0034                12     COUNT2  EQU     34H
  0035                13     COUNT3  EQU     35H
  0036                14     LCD_DATA        EQU     36H
  0037                15     LCD_DATA1       EQU     37H
  0038                16     LCD_DATA2       EQU     38H
  0039                17     STORE           EQU     39H
                      18     ;***********************************************
0000                  19                     ORG     0000H
0000 020100           20                     LJMP    MAIN
0100                  21                     ORG     0100H
0100 00               22     MAIN:           NOP
0101 00               23                     NOP
0102 75815F           24                     MOV     SP,#5FH
0105 D2A0             25                     SETB    RST
0107 00               26                     NOP
0108 D2A2             27                     SETB    PSB
                      28     ;********************初始化**********************
010A 7434             29     LGS0:           MOV     A,#34H                  ;34H--扩充指令操作
010C 120232           30                     LCALL   SEND_I
010F 7430             31                     MOV     A,#30H                  ;30H--基本指令操作
0111 120232           32                     LCALL   SEND_I
0114 7401             33                     MOV     A,#01H                  ;清除显示
0116 120232           34                     LCALL   SEND_I
0119 7406             35                     MOV     A,#06H                  ;指定在资料写入或读取时,光标的移动方向
011B 120232           36                     LCALL   SEND_I
011E 740C             37                     MOV     A,#0CH                  ;开显示,关光标,不闪烁
0120 120232           38                     LCALL   SEND_I
                      39     ;***********************************************
0123 900281           40     LGS1:           MOV     DPTR,#TAB1              ;显示汉字和字符
0126 753240           41                     MOV     COUNT,#40H
0129 7480             42                     MOV     A,#80H
012B 120232           43                     LCALL   SEND_I
012E E4               44     LGS11:          CLR     A
012F 93               45                     MOVC    A,@A+DPTR
0130 120222           46                     LCALL   SEND_D
0133 A3               47                     INC     DPTR
0134 D532F7           48                     DJNZ    COUNT,LGS11
0137 120262           49                     LCALL   DELAY3
                      50     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
013A 7401             51     LGS2:           MOV     A,#01H
013C 120232           52                     LCALL   SEND_I
                      53     
013F 7537CC           54                     MOV     LCD_DATA1,#0CCH         ;显示点阵
0142 7538CC           55                     MOV     LCD_DATA2,#0CCH
0145 1201CE           56                     LCALL   LAT_DISP
0148 120262           57                     LCALL   DELAY3
                      58     ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
A51 MACRO ASSEMBLER  OCM4X8C                                                              12/29/2007 13:47:28 PAGE     2

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

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

⌨️ 快捷键说明

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