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

📄 12864_chs.lst

📁 12864测试时间温度18b20
💻 LST
📖 第 1 页 / 共 4 页
字号:
A51 MACRO ASSEMBLER  12864_CHS                                                            03/16/2008 03:20:22 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN 12864_chs.OBJ
ASSEMBLER INVOKED BY: d:\Keil\C51\BIN\A51.EXE 12864_chs.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     
                       2        
                       3                                    
                       4     ;****************TS12864A-3 并口****************
                       5                                        
  00A5                 6               RS    EQU     P2.5       
  00A6                 7               RW    EQU     P2.6
  00A7                 8               E     EQU     P2.7
  00B7                 9               PSB   EQU     P3.7
  00A5                10               RST   EQU     P2.5
                      11     ;-----------------------------------------------
  0030                12               LCD_X  EQU    30H
  0031                13               LCD_Y  EQU    31H
  0032                14               COUNT  EQU    32H
  0033                15               COUNT1 EQU    33H
  0034                16               COUNT2 EQU    34H
  0035                17               COUNT3 EQU    35H
                      18     ;-----------------------------------------------
  0036                19            LCD_DATA  EQU    36H
  0037                20            LCD_DATA1 EQU    37H
  0038                21            LCD_DATA2 EQU    38H
  0039                22               STORE  EQU    39H
                      23     
                      24     ;-----------------------------------------------
0000                  25                     ORG     0000H
0000 020100           26                     LJMP    MAIN
0100                  27                     ORG     0100H
                      28     ;-----------------------------------------------
0100                  29     MAIN:
0100 C2A6             30                clr P2.6
0102 C2A7             31                clr P2.7
0104 75815F           32                 MOV SP,#5FH
0107 C2A5             33                 CLR  RST             ;复位
0109 120331           34                 LCALL DELAY4
010C D2A5             35                 SETB RST
010E 00               36                 NOP
010F D2B7             37                 SETB PSB             ;通讯方式为8位数据并口
                      38     
                      39     ;********************初始化**********************
0111 7434             40     LGS0:       MOV A,#34H          ;34H--扩充指令操作
0113 1202E2           41                 LCALL SEND_I
0116 7430             42                 MOV A,#30H          ;30H--基本指令操作
0118 1202E2           43                 LCALL SEND_I
011B 7401             44                 MOV A,#01H          ;清除显示
011D 1202E2           45                 LCALL SEND_I
0120 7406             46                 MOV A,#06H          ;指定在资料写入或读取时,光标的移动方向
0122 1202E2           47                 LCALL SEND_I        ;DDRAM 的地址计数器(AC)加1
0125 740C             48                 MOV A,#0CH          ;开显示,关光标,不闪烁
0127 1202E2           49                 LCALL SEND_I
                      50     ;===============================================
012A                  51     TU_PLAY1:
012A 9003C1           52                 MOV  DPTR,#TU_TAB3       ;显示图形
012D 1201FD           53                 LCALL PHO_DISP
0130 120312           54                 LCALL DELAY3
                      55                 
                      56     ;===============================================
                      57     ;显示汉字和字符
                      58     ;加入80ms的延时,使你能够看清楚显示的过程
A51 MACRO ASSEMBLER  12864_CHS                                                            03/16/2008 03:20:22 PAGE     2

                      59     ;根据汉字显示坐标写入 (隔行写入)
                      60     ;===============================================
0133                  61     HAN_WR1:
0133 1202B5           62                 LCALL CLEAR_P
0136 900347           63                 MOV DPTR,#TAB1      ;显示汉字和字符
0139 753240           64                 MOV COUNT,#40H      ;地址计数器设为最大值 64。
013C 7480             65                 MOV A,#80H          ;起始地址
013E 1202E2           66                 LCALL SEND_I
0141 1202C5           67                 LCALL QUSHU
0144 120312           68                 LCALL DELAY3
0147 12028C           69                 LCALL FLASH
                      70     ;=================================================
                      71     ;;显示汉字和字符
                      72     ;加入80ms的延时,使你能够看清楚显示的过程
                      73     ;根据汉字显示坐标分段写入(顺序写入)
                      74     ;=================================================
014A                  75     HAN_WR2:
014A 1202B5           76                 LCALL CLEAR_P
014D                  77     HAN_WR2A:
014D 900347           78                 MOV DPTR,#TAB1A     ;显示汉字和字符
0150 753210           79                 MOV COUNT,#10H      ;地址计数器设为16。
0153 7480             80                 MOV A,#80H          ;第一行起始地址
0155 1202E2           81                 LCALL SEND_I
0158 1202C5           82                 LCALL   QUSHU
015B                  83     HAN_WR2B:
015B 900369           84                 MOV DPTR,#TAB1B     ;显示汉字和字符
015E 753210           85                 MOV COUNT,#10H      ;地址计数器设为16。
0161 7490             86                 MOV A,#90H          ;第二行起始地址
0163 1202E2           87                 LCALL SEND_I
0166 1202C5           88                 LCALL QUSHU
0169                  89     HAN_WR2C:
0169 900359           90                 MOV DPTR,#TAB1C     ;显示汉字和字符
016C 753210           91                 MOV COUNT,#10H      ;地址计数器设为16。
016F 7488             92                 MOV A,#88H          ;第三行起始地址
0171 1202E2           93                 LCALL SEND_I
0174 1202C5           94                 LCALL QUSHU
0177                  95     HAN_WR2D:
0177 900378           96                 MOV DPTR,#TAB1D      ;显示汉字和字符
017A 753210           97                 MOV COUNT,#10H       ;地址计数器设为16。
017D 7498             98                 MOV A,#98H           ;第四行起始地址
017F 1202E2           99                 LCALL SEND_I
0182 1202C5          100                 LCALL QUSHU
0185 120312          101                 LCALL DELAY3
0188 12028C          102                 LCALL FLASH
018B 1202B5          103                 LCALL CLEAR_P
018E 8009            104                 JMP  TU_PLAY2
                     105     ;----------------------------------------------
                     106     ;TU_PLAY1:
0190 9007C1          107                 MOV  DPTR,#TU_TAB4       ;显示图形
0193 1201FD          108                 LCALL PHO_DISP
0196 120312          109                 LCALL DELAY3
                     110                 ;LCALL   FLASH
                     111     ;----------------------------------------------
0199                 112     TU_PLAY2:
0199 9003C1          113                 MOV DPTR,#TU_TAB3   ;显示图形
019C 1201FD          114                 LCALL PHO_DISP
019F 120312          115                 LCALL DELAY3
                     116                 ;LCALL   FLASH
                     117     ;----------------------------------------------
01A2                 118     TU_PLAY3:
01A2 9007C1          119                 MOV DPTR,#TU_TAB4   ;显示图形
01A5 1201FD          120                 LCALL PHO_DISP
01A8 120312          121                 LCALL DELAY3
                     122                 ;LCALL   FLASH
                     123     ;-----------------------------------------------
                     124     ;显示点阵
A51 MACRO ASSEMBLER  12864_CHS                                                            03/16/2008 03:20:22 PAGE     3

                     125     ;-----------------------------------------------
01AB                 126     LATPLAY1:
01AB 7401            127                 MOV A,#01H         ;清屏
01AD 1202E2          128                 LCALL SEND_I
01B0 7537CC          129                 MOV LCD_DATA1,#0CCH  ;显示点阵
01B3 7538CC          130                 MOV LCD_DATA2,#0CCH
01B6 120238          131                 LCALL LAT_DISP
01B9 120312          132                 LCALL DELAY3
01BC 1202B5          133                 LCALL CLEAR_P
                     134                 ;LJMP  TU_PLAY1
                     135     ;===============================================
                     136     ;调字库半角字符显示
                     137     ;===============================================
01BF                 138     KU_PLAY1:
01BF 1202B5          139                 LCALL  CLEAR_P
01C2 753240          140                 MOV  COUNT,#40H
01C5 7480            141                 MOV  A,#80H
01C7 1202E2          142                 LCALL SEND_I
01CA 7910            143                 MOV  R1,#10H
01CC                 144     LATPLAY11:
01CC E9              145                 MOV  A,R1
01CD 1202D2          146                 LCALL  SEND_D
01D0 09              147                 INC  R1
01D1 D532F8          148                 DJNZ  COUNT,LATPLAY11
01D4 120312          149                 LCALL  DELAY3
01D7 1202B5          150                 LCALL  CLEAR_P
                     151                 ;LJMP  TU_PLAY1
                     152     
                     153     ;===============================================
                     154     ;调字库汉字显示
                     155     ;从 B9F3 “贵”字处开始显示
                     156     ;===============================================
01DA                 157     KU_PLAY2:
01DA 1202B5          158                 LCALL  CLEAR_P
01DD 753240          159                 MOV  COUNT,#40H
01E0 7480            160                 MOV  A,#80H
01E2 1202E2          161                 LCALL SEND_I
01E5 79F3            162                 MOV  R1,#0F3H
01E7                 163     KU_PLAY21:
01E7 74B9            164                 MOV  A,#0B9H
01E9 1202D2          165                 LCALL  SEND_D        ;写入第一字节数据(高位)
01EC E9              166                 MOV  A,R1
01ED 1202D2          167                 LCALL  SEND_D        ;写入第二字节数据(低位)
01F0 09              168                 INC  R1
01F1 D532F3          169                 DJNZ  COUNT,KU_PLAY21
01F4 120312          170                 LCALL  DELAY3
01F7 1202B5          171                 LCALL  CLEAR_P
01FA 02012A          172                 LJMP  TU_PLAY1
                     173                 ;JMP  $
                     174     ;===============================================
                     175     ;全屏显示图形子程序
                     176     ;===============================================
01FD                 177     PHO_DISP:
01FD 753502          178                 MOV  COUNT3,#02H
0200 753080          179                 MOV  LCD_X,#80H
0203                 180     PHO_DISP1:
0203 753180          181                 MOV  LCD_Y,#80H
0206 753420          182                 MOV  COUNT2,#20H
0209                 183     PHO_DISP2:
0209 753310          184                 MOV  COUNT1,#10H
020C 120277          185                 LCALL WR_ZB
020F                 186     PHO_DISP3:
020F E4              187                 CLR A
0210 93              188                 MOVC A,@A+DPTR
0211 1202D2          189                 LCALL SEND_D
0214 A3              190                 INC DPTR
A51 MACRO ASSEMBLER  12864_CHS                                                            03/16/2008 03:20:22 PAGE     4

0215 D533F7          191                 DJNZ COUNT1,PHO_DISP3
0218 0531            192                 INC LCD_Y
021A D534EC          193                 DJNZ COUNT2,PHO_DISP2
021D 753088          194                 MOV LCD_X,#88H
0220 D535E0          195                 DJNZ COUNT3,PHO_DISP1
                     196     
0223 7436            197                 MOV A,#36H
0225 1202E2          198                 LCALL SEND_I
0228 7430            199                 MOV A,#30H
022A 1202E2          200                 LCALL SEND_I
022D 22              201                 RET
                     202     ;----------------------------------------------
022E                 203     CLRRAM:
022E 753700          204                 MOV LCD_DATA1,#00H          ;GDRAM写0子程序
0231 753800          205                 MOV LCD_DATA2,#00H
0234 120238          206                 LCALL LAT_DISP
0237 22              207                 RET
                     208     ;==============================================
                     209     ;显示点阵子程序
                     210     ;==============================================
0238                 211     LAT_DISP:
0238 753502          212                 MOV COUNT3,#02H
023B 753080          213                 MOV LCD_X,#80H
023E                 214     LAT_DISP1:
023E 753180          215                 MOV LCD_Y,#80H
0241 C2D5            216                 CLR F0
0243 753420          217                 MOV COUNT2,#20H
0246                 218     LAT_DISP2:
0246 753310          219                 MOV COUNT1,#10H
0249 120277          220                 LCALL WR_ZB
024C                 221     LAT_DISP3:
024C 20D505          222                 JB  F0,LAT_DISP32
024F 853736          223                 MOV LCD_DATA,LCD_DATA1
0252 4157            224                 AJMP LAT_DISP31
0254                 225     LAT_DISP32:
0254 853836          226                 MOV LCD_DATA,LCD_DATA2
0257                 227     LAT_DISP31:
0257 E536            228                 MOV A,LCD_DATA
0259 1202D2          229                 LCALL SEND_D
025C D533F8          230                 DJNZ COUNT1,LAT_DISP31
025F 0531            231                 INC LCD_Y
0261 B2D5            232                 CPL F0
0263 D534E0          233                 DJNZ COUNT2,LAT_DISP2
0266 753088          234                 MOV LCD_X,#88H
0269 D535D2          235                 DJNZ COUNT3,LAT_DISP1
                     236     
026C 7436            237                 MOV A,#36H
026E 1202E2          238                 LCALL SEND_I
0271 7430            239                 MOV A,#30H
0273 1202E2          240                 LCALL SEND_I
0276 22              241                 RET
                     242     ;---------------------------------------------
0277                 243     WR_ZB:
0277 7434            244                 MOV A,#34H
0279 1202E2          245                 LCALL SEND_I
027C E531            246                 MOV A,LCD_Y
027E 1202E2          247                 LCALL SEND_I
0281 E530            248                 MOV A,LCD_X
0283 1202E2          249                 LCALL SEND_I
0286 7430            250                 MOV A,#30H
0288 1202E2          251                 LCALL SEND_I
028B 22              252                 RET
                     253     
                     254     ;===============================================
028C                 255     FLASH:
028C 7408            256                 MOV  A,#08H       ;关闭显示

⌨️ 快捷键说明

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