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

📄 12864zk.lst

📁 51单片机实验例程
💻 LST
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  12864ZK                                                              08/02/2009 18:45:31 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN 12864ZK.OBJ
ASSEMBLER INVOKED BY: C:\Program Files\Keil\C51\BIN\A51.EXE 12864ZK.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;/********************************************************************************
                       2     ;*  标题:  xl系列单片机实验仪演示程序   12864带字库演示                         *
                       3     ;*  文件:   12864zk.asm                                                         *
                       4     ;*  日期:  2006-1-5                                                             *
                       5     ;*  版本:  3.0 (试验通过版)可用xl600-xl1000单片机综合试验仪试验               *
                       6     ;*  邮箱:  sxj1974@163.com                                                      *
                       7     ;*  网站: http://www.51c51.com    www.8951.com
                       8     ;********************************************************************************
                       9     ;*  描述:                                                                       *
                      10     ;*      12864标准字库液晶演示 数据p0,控制p2                                     *
                      11     ;*                                                                              *
                      12     ;*                                                                              *
                      13     ;********************************************************************************
                      14     ;* 【版权】 Copyright(C)深圳市学林电子有限公司 www.51c51.com                    *
                      15     ;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
                      16     ;*  【技术支持】请访问http://www.51c51.com/bbs/index.asp  官方论坛              *
                      17     ;********************************************************************************/
                      18                     
                      19     
  00A6                20               RS EQU P2.6
  00A5                21               RW EQU P2.5
  00A7                22               E  EQU P2.7
  00B2                23               PSB EQU P3.2
  00B7                24               RST EQU P3.7
                      25     ;-----------------------------------------------
  0030                26               LCD_X  EQU 30H
  0031                27               LCD_Y  EQU 31H
  0032                28               COUNT  EQU 32H
  0033                29               COUNT1 EQU 33H
  0034                30               COUNT2 EQU 34H
  0035                31               COUNT3 EQU 35H
                      32     ;-----------------------------------------------
  0036                33            LCD_DATA  EQU 36H
  0037                34            LCD_DATA1 EQU 37H
  0038                35            LCD_DATA2 EQU 38H
  0039                36               STORE  EQU 39H
                      37     
                      38     ;-----------------------------------------------
0000                  39       ORG 0000H
0000 020100           40       LJMP MAIN
0100                  41       ORG 0100H
                      42     ;-----------------------------------------------
0100                  43     MAIN:
0100 75815F           44          MOV SP,#5FH
0103 C2B7             45                 CLR  RST             ;复位
0105 1202DB           46                 LCALL DELAY4
0108 D2B7             47                 SETB RST
010A 00               48          NOP
010B D2B2             49                 SETB PSB             ;通讯方式为8位数据并口
                      50     
                      51     ;********************初始化**********************
010D 7434             52     LGS0:     MOV A,#34H  ;34H--扩充指令操作
010F 12028C           53          LCALL SEND_I
0112 7430             54          MOV A,#30H  ;30H--基本指令操作
0114 12028C           55          LCALL SEND_I
0117 7401             56          MOV A,#01H  ;清除显示
0119 12028C           57          LCALL SEND_I
011C 7406             58                 MOV A,#06H  ;指定在资料写入或读取时,光标的移动方向
A51 MACRO ASSEMBLER  12864ZK                                                              08/02/2009 18:45:31 PAGE     2

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

0190 7401            125                 MOV A,#01H         ;清屏
0192 12028C          126                 LCALL SEND_I
0195 7537CC          127          MOV LCD_DATA1,#0CCH  ;显示点阵
0198 7538CC          128          MOV LCD_DATA2,#0CCH
019B 1201E2          129          LCALL LAT_DISP
019E 1202BC          130          LCALL DELAY3
01A1 12025F          131                 LCALL CLEAR_P
                     132     
01A4                 133     KU_PLAY2:
                     134     
01A4 020126          135                 LJMP  TU_PLAY1
                     136           
                     137     ;===============================================
                     138     ;全屏显示图形子程序
                     139     ;===============================================
01A7                 140     PHO_DISP:
01A7 753502          141              MOV  COUNT3,#02H
01AA 753080          142          MOV  LCD_X,#80H
01AD                 143     PHO_DISP1:
01AD 753180          144              MOV  LCD_Y,#80H
01B0 753420          145          MOV  COUNT2,#20H
01B3                 146     PHO_DISP2:
01B3 753310          147              MOV  COUNT1,#10H
01B6 120221          148          LCALL WR_ZB
01B9                 149     PHO_DISP3:
01B9 E4              150                 CLR A
01BA 93              151          MOVC A,@A+DPTR
01BB 12027C          152          LCALL SEND_D
01BE A3              153          INC DPTR
01BF D533F7          154          DJNZ COUNT1,PHO_DISP3
01C2 0531            155          INC LCD_Y
01C4 D534EC          156          DJNZ COUNT2,PHO_DISP2
01C7 753088          157          MOV LCD_X,#88H
01CA D535E0          158          DJNZ COUNT3,PHO_DISP1
                     159     
01CD 7436            160          MOV A,#36H
01CF 12028C          161          LCALL SEND_I
01D2 7430            162          MOV A,#30H
01D4 12028C          163          LCALL SEND_I
01D7 22              164                 RET
                     165     ;----------------------------------------------
01D8                 166     CLRRAM:
01D8 753700          167               MOV LCD_DATA1,#00H  ;GDRAM写0子程序
01DB 753800          168          MOV LCD_DATA2,#00H
01DE 1201E2          169          LCALL LAT_DISP
01E1 22              170          RET
                     171     ;==============================================
                     172     ;显示点阵子程序
                     173     ;==============================================
01E2                 174     LAT_DISP:
01E2 753502          175              MOV COUNT3,#02H
01E5 753080          176          MOV LCD_X,#80H
01E8                 177     LAT_DISP1:
01E8 753180          178              MOV LCD_Y,#80H
01EB C2D5            179          CLR F0
01ED 753420          180          MOV COUNT2,#20H
01F0                 181     LAT_DISP2:
01F0 753310          182              MOV COUNT1,#10H
01F3 120221          183          LCALL WR_ZB
01F6                 184     LAT_DISP3:
01F6 20D505          185              JB F0,LAT_DISP32
01F9 853736          186          MOV LCD_DATA,LCD_DATA1
01FC 4101            187          AJMP LAT_DISP31
01FE                 188     LAT_DISP32:
01FE 853836          189              MOV LCD_DATA,LCD_DATA2
0201                 190     LAT_DISP31:
A51 MACRO ASSEMBLER  12864ZK                                                              08/02/2009 18:45:31 PAGE     4

0201 E536            191              MOV A,LCD_DATA
0203 12027C          192          LCALL SEND_D
0206 D533F8          193          DJNZ COUNT1,LAT_DISP31
0209 0531            194          INC LCD_Y
020B B2D5            195          CPL F0
020D D534E0          196          DJNZ COUNT2,LAT_DISP2
0210 753088          197          MOV LCD_X,#88H
0213 D535D2          198          DJNZ COUNT3,LAT_DISP1
                     199     
0216 7436            200          MOV A,#36H
0218 12028C          201          LCALL SEND_I
021B 7430            202          MOV A,#30H
021D 12028C          203          LCALL SEND_I
0220 22              204          RET
                     205     ;---------------------------------------------
0221                 206     WR_ZB:
0221 7434            207              MOV A,#34H
0223 12028C          208          LCALL SEND_I
0226 E531            209          MOV A,LCD_Y
0228 12028C          210          LCALL SEND_I
022B E530            211          MOV A,LCD_X
022D 12028C          212          LCALL SEND_I
0230 7430            213          MOV A,#30H
0232 12028C          214          LCALL SEND_I
0235 22              215          RET
                     216     
                     217     ;===============================================
0236                 218     FLASH:
0236 7408            219                 MOV  A,#08H       ;关闭显示
0238 12028C          220                 LCALL SEND_I
023B 1202E4          221                 LCALL  DELAY5
023E 740C            222                 MOV  A,#0CH   ;开显示,关光标,不闪烁
0240 12028C          223          LCALL SEND_I
0243 1202E4          224                 LCALL  DELAY5
0246 7408            225                 MOV  A,#08H       ;关闭显示
0248 12028C          226                 LCALL SEND_I
024B 1202E4          227                 LCALL  DELAY5
024E 740C            228                 MOV  A,#0CH   ;开显示,关光标,不闪烁
0250 12028C          229          LCALL SEND_I
0253 1202E4          230                 LCALL  DELAY5
0256 7408            231                 MOV  A,#08H       ;关闭显示
0258 12028C          232                 LCALL SEND_I
025B 1202E4          233                 LCALL  DELAY5
025E 22              234                     RET

⌨️ 快捷键说明

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