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

📄 12864zk.lst

📁 基于51单片机的12864液晶显示源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  12864ZK                                                              12/17/2008 10:10:49 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\12864zk.obj
ASSEMBLER INVOKED BY: F:\Hardware Develop\Develop Tools\Keil uVision v2.0\KEIL\C51\BIN\A51.EXE C:\Documents and Settings
                      \Administrator\桌面\2b5701bd-be29-4030-bf91-eec2ebbe4aa1\12864zk.asm SET(SMALL) DEBUG PRINT(.\1286
                      4zk.lst) OBJECT(.\12864zk.obj) EP

LOC  OBJ            LINE     SOURCE

                       1     ;12864(带字库汉字显示演示程序)
                       2     ;***************************************************************************
                       3     ;*  sxj1974@163.com                  (51c51 test web)     www.8951.com     *
                       4     ;*  Create by :石学军      www.51c51.com 更多例程请登陆网站                *
                       5     ;***************************************************************************
                       6     
  00A7                 7     RS EQU P2.7
  00A6                 8               RW EQU P2.6
  00A5                 9               E  EQU P2.5
  00A4                10               PSB EQU P2.4
  00A5                11               RST EQU P2.5
                      12     ;---------------------2-------------------------
  0030                13               LCD_X  EQU 30H
  0031                14               LCD_Y  EQU 31H
  0032                15               COUNT  EQU 32H
  0033                16               COUNT1 EQU 33H
  0034                17               COUNT2 EQU 34H
  0035                18               COUNT3 EQU 35H
                      19     ;-----------------------------------------------
  0036                20            LCD_DATA  EQU 36H
  0037                21            LCD_DATA1 EQU 37H
  0038                22            LCD_DATA2 EQU 38H
  0039                23               STORE  EQU 39H
                      24     
                      25     ;-----------------------------------------------
0000                  26       ORG 0000H
0000 020100           27       LJMP MAIN
0100                  28       ORG 0100H
                      29     ;-----------------------------------------------
0100                  30     MAIN:
0100 75815F           31          MOV SP,#5FH
0103 C2A5             32                 CLR  RST             ;复位
0105 1202DB           33                 LCALL DELAY4
0108 D2A5             34                 SETB RST
010A 00               35          NOP
010B D2A4             36                 SETB PSB             ;通讯方式为8位数据并口
                      37     
                      38     ;********************初始化**********************
010D 7434             39     LGS0:     MOV A,#34H  ;34H--扩充指令操作
010F 12028C           40          LCALL SEND_I
0112 7430             41          MOV A,#30H  ;30H--基本指令操作
0114 12028C           42          LCALL SEND_I
0117 7401             43          MOV A,#01H  ;清除显示
0119 12028C           44          LCALL SEND_I
011C 7406             45                 MOV A,#06H  ;指定在资料写入或读取时,光标的移动方向
011E 12028C           46          LCALL SEND_I        ;DDRAM 的地址计数器(AC)加1
0121 740C             47          MOV A,#0CH  ;开显示,关光标,不闪烁
0123 12028C           48          LCALL SEND_I
                      49     ;===============================================
0126                  50     TU_PLAY1:
0126 900331           51                 MOV  DPTR,#TU_TAB1      ;显示图形
0129 1201A7           52          LCALL PHO_DISP
012C 1202BC           53          LCALL DELAY3
                      54     
                      55     ;=================================================
                      56     ;;显示汉字和字符
A51 MACRO ASSEMBLER  12864ZK                                                              12/17/2008 10:10:49 PAGE     2

                      57     ;加入80ms的延时,使你能够看清楚显示的过程
                      58     ;根据汉字显示坐标分段写入(顺序写入)
                      59     ;=================================================
012F                  60     HAN_WR2:
012F 12025F           61                 LCALL CLEAR_P
0132                  62     HAN_WR2A:
0132 9002F1           63                 MOV DPTR,#TAB1A ;显示汉字和字符
0135 753210           64          MOV COUNT,#10H      ;地址计数器设为16。
0138 7480             65          MOV A,#80H          ;第一行起始地址
013A 12028C           66          LCALL SEND_I
013D 12026F           67                 LCALL   QUSHU
0140                  68     HAN_WR2B:
0140 900311           69                 MOV DPTR,#TAB1B ;显示汉字和字符
0143 753210           70          MOV COUNT,#10H      ;地址计数器设为16。
0146 7490             71          MOV A,#90H          ;第二行起始地址
0148 12028C           72          LCALL SEND_I
014B 12026F           73                 LCALL QUSHU
014E                  74     HAN_WR2C:
014E 900301           75                 MOV DPTR,#TAB1C ;显示汉字和字符
0151 753210           76          MOV COUNT,#10H      ;地址计数器设为16。
0154 7488             77          MOV A,#88H          ;第三行起始地址
0156 12028C           78          LCALL SEND_I
0159 12026F           79                 LCALL QUSHU
015C                  80     HAN_WR2D:
015C 900321           81                 MOV DPTR,#TAB1D  ;显示汉字和字符
015F 753210           82          MOV COUNT,#10H       ;地址计数器设为16。
0162 7498             83          MOV A,#98H           ;第四行起始地址
0164 12028C           84          LCALL SEND_I
0167 12026F           85                 LCALL QUSHU
016A 1202BC           86                 LCALL DELAY3
016D 120236           87                 LCALL FLASH
0170 12025F           88                 LCALL CLEAR_P
0173 8009             89                 JMP  TU_PLAY2
                      90     ;----------------------------------------------
                      91     ;TU_PLAY1:
0175 900331           92                 MOV  DPTR,#TU_TAB1      ;显示图形
0178 1201A7           93          LCALL PHO_DISP
017B 1202BC           94          LCALL DELAY3
                      95                
                      96     ;----------------------------------------------
017E                  97     TU_PLAY2:
017E 900731           98          MOV DPTR,#TU_TAB2   ;显示图形
0181 1201A7           99          LCALL PHO_DISP
0184 1202BC          100          LCALL DELAY3
                     101              
                     102     ;----------------------------------------------
0187                 103     TU_PLAY3:
0187 900B31          104          MOV DPTR,#TU_TAB4   ;显示图形
018A 1201A7          105          LCALL PHO_DISP
018D 1202BC          106          LCALL DELAY3
                     107              
                     108     ;-----------------------------------------------
                     109     ;显示点阵
                     110     ;-----------------------------------------------
0190                 111     LATPLAY1:
0190 7401            112                 MOV A,#01H         ;清屏
0192 12028C          113                 LCALL SEND_I
0195 7537CC          114          MOV LCD_DATA1,#0CCH  ;显示点阵
0198 7538CC          115          MOV LCD_DATA2,#0CCH
019B 1201E2          116          LCALL LAT_DISP
019E 1202BC          117          LCALL DELAY3
01A1 12025F          118                 LCALL CLEAR_P
                     119     
01A4                 120     KU_PLAY2:
                     121     
01A4 020126          122                 LJMP  TU_PLAY1
A51 MACRO ASSEMBLER  12864ZK                                                              12/17/2008 10:10:49 PAGE     3

                     123           
                     124     ;===============================================
                     125     ;全屏显示图形子程序
                     126     ;===============================================
01A7                 127     PHO_DISP:
01A7 753502          128              MOV  COUNT3,#02H
01AA 753080          129          MOV  LCD_X,#80H
01AD                 130     PHO_DISP1:
01AD 753180          131              MOV  LCD_Y,#80H
01B0 753420          132          MOV  COUNT2,#20H
01B3                 133     PHO_DISP2:
01B3 753310          134              MOV  COUNT1,#10H
01B6 120221          135          LCALL WR_ZB
01B9                 136     PHO_DISP3:
01B9 E4              137                 CLR A
01BA 93              138          MOVC A,@A+DPTR
01BB 12027C          139          LCALL SEND_D
01BE A3              140          INC DPTR
01BF D533F7          141          DJNZ COUNT1,PHO_DISP3
01C2 0531            142          INC LCD_Y
01C4 D534EC          143          DJNZ COUNT2,PHO_DISP2
01C7 753088          144          MOV LCD_X,#88H
01CA D535E0          145          DJNZ COUNT3,PHO_DISP1
                     146     
01CD 7436            147          MOV A,#36H
01CF 12028C          148          LCALL SEND_I
01D2 7430            149          MOV A,#30H
01D4 12028C          150          LCALL SEND_I
01D7 22              151                 RET
                     152     ;----------------------------------------------
01D8                 153     CLRRAM:
01D8 753700          154               MOV LCD_DATA1,#00H  ;GDRAM写0子程序
01DB 753800          155          MOV LCD_DATA2,#00H
01DE 1201E2          156          LCALL LAT_DISP
01E1 22              157          RET
                     158     ;==============================================
                     159     ;显示点阵子程序
                     160     ;==============================================
01E2                 161     LAT_DISP:
01E2 753502          162              MOV COUNT3,#02H
01E5 753080          163          MOV LCD_X,#80H
01E8                 164     LAT_DISP1:
01E8 753180          165              MOV LCD_Y,#80H
01EB C2D5            166          CLR F0
01ED 753420          167          MOV COUNT2,#20H
01F0                 168     LAT_DISP2:
01F0 753310          169              MOV COUNT1,#10H
01F3 120221          170          LCALL WR_ZB
01F6                 171     LAT_DISP3:
01F6 20D505          172              JB F0,LAT_DISP32
01F9 853736          173          MOV LCD_DATA,LCD_DATA1
01FC 4101            174          AJMP LAT_DISP31
01FE                 175     LAT_DISP32:
01FE 853836          176              MOV LCD_DATA,LCD_DATA2
0201                 177     LAT_DISP31:
0201 E536            178              MOV A,LCD_DATA
0203 12027C          179          LCALL SEND_D
0206 D533F8          180          DJNZ COUNT1,LAT_DISP31
0209 0531            181          INC LCD_Y
020B B2D5            182          CPL F0
020D D534E0          183          DJNZ COUNT2,LAT_DISP2
0210 753088          184          MOV LCD_X,#88H
0213 D535D2          185          DJNZ COUNT3,LAT_DISP1
                     186     
0216 7436            187          MOV A,#36H
0218 12028C          188          LCALL SEND_I
A51 MACRO ASSEMBLER  12864ZK                                                              12/17/2008 10:10:49 PAGE     4

021B 7430            189          MOV A,#30H
021D 12028C          190          LCALL SEND_I
0220 22              191          RET
                     192     ;---------------------------------------------
0221                 193     WR_ZB:
0221 7434            194              MOV A,#34H
0223 12028C          195          LCALL SEND_I
0226 E531            196          MOV A,LCD_Y
0228 12028C          197          LCALL SEND_I
022B E530            198          MOV A,LCD_X
022D 12028C          199          LCALL SEND_I
0230 7430            200          MOV A,#30H
0232 12028C          201          LCALL SEND_I
0235 22              202          RET
                     203     
                     204     ;===============================================
0236                 205     FLASH:
0236 7408            206                 MOV  A,#08H       ;关闭显示
0238 12028C          207                 LCALL SEND_I
023B 1202E4          208                 LCALL  DELAY5
023E 740C            209                 MOV  A,#0CH   ;开显示,关光标,不闪烁
0240 12028C          210          LCALL SEND_I
0243 1202E4          211                 LCALL  DELAY5
0246 7408            212                 MOV  A,#08H       ;关闭显示
0248 12028C          213                 LCALL SEND_I
024B 1202E4          214                 LCALL  DELAY5
024E 740C            215                 MOV  A,#0CH   ;开显示,关光标,不闪烁
0250 12028C          216          LCALL SEND_I
0253 1202E4          217                 LCALL  DELAY5
0256 7408            218                 MOV  A,#08H       ;关闭显示
0258 12028C          219                 LCALL SEND_I
025B 1202E4          220                 LCALL  DELAY5
025E 22              221                     RET
                     222     ;==================================================
                     223     ;清屏
                     224     ;==================================================
025F                 225     CLEAR_P:
025F 7401            226                 MOV A,#01H           ;清屏
0261 12028C          227          LCALL SEND_I
0264 7434            228                 MOV A,#34H
0266 12028C          229          LCALL SEND_I
0269 7430            230          MOV A,#30H
026B 12028C          231          LCALL SEND_I
026E 22              232                 RET
                     233     ;==================================================
                     234     ;查表取数据送显示

⌨️ 快捷键说明

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