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

📄 parallel port.lst

📁 基于51的DS18B20_1Wire温度控制等C,ASM源程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
A51 MACRO ASSEMBLER  PARALLEL_PORT                                                        12/19/2006 20:55:17 PAGE     1


MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN parallel port.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE parallel port.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;******************************************************************
                       2     ;*                                                                *
                       3     ;* ME500单片机开发系统演示程序 - 12864 图片与文字显示             * 
                       4     ;*                                                                *
                       5     ;* ST7920控制芯片(汉字库),并口模式。                             *
                       6     ;*                                                                *
                       7     ;* 版本: V1.0 (2006/11/20)                                       *
                       8     ;* 作者: gguoqing (Email: gguoqing@willar.com)                   *
                       9     ;* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界)*
                      10     ;* 时间: 2006/12/15                                              *
                      11     ;*                                                                *
                      12     ;*【版权】COPYRIGHT(C)伟纳电子 www.willar.com ALL RIGHTS RESERVED *
                      13     ;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!      *
                      14     ;*                                                                *
                      15     ;******************************************************************
                      16     
  00A0                17               RS     BIT    P2.0
  00A1                18               RW     BIT    P2.1
  00A2                19               E      BIT    P2.2
  00A3                20               PSB    BIT    P2.3
  00A5                21               RST    BIT    P2.5
                      22     
  0030                23               LCD_X  EQU    30H
  0031                24               LCD_Y  EQU    31H
  0032                25               COUNT  EQU    32H
  0033                26               COUNT1 EQU    33H
  0034                27               COUNT2 EQU    34H
  0035                28               COUNT3 EQU    35H
                      29     
  0036                30            LCD_DATA  EQU    36H
  0037                31            LCD_DATA1 EQU    37H
  0038                32            LCD_DATA2 EQU    38H
  0039                33               STORE  EQU    39H
                      34     
                      35     ;**********************************************************
                      36     
0000                  37                 ORG  0000H
0000 020030           38                 LJMP  MAIN
0030                  39                 ORG  0030H
                      40     
                      41     ;**********************************************************
0030                  42     MAIN:
0030 758160           43                 MOV SP,#60H
0033 C2A5             44                 CLR  RST             ;复位
0035 120249           45                 LCALL DELAY4
0038 D2A5             46                 SETB RST
003A 00               47                 NOP
003B D2A3             48                 SETB PSB             ;通讯方式为8位数据并口
                      49     
                      50     ;********************初始化**********************
                      51     
003D 7434             52     LGS0:       MOV A,#34H          ;34H--扩充指令操作
003F 1201FA           53                 LCALL SEND_I
0042 7430             54                 MOV A,#30H          ;30H--基本指令操作
0044 1201FA           55                 LCALL SEND_I
0047 7401             56                 MOV A,#01H          ;清除显示
0049 1201FA           57                 LCALL SEND_I
004C 7406             58                 MOV A,#06H          ;指定在资料写入或读取时,光标的移动方向
A51 MACRO ASSEMBLER  PARALLEL_PORT                                                        12/19/2006 20:55:17 PAGE     2

004E 1201FA           59                 LCALL SEND_I        ;DDRAM 的地址计数器(AC)加1
0051 740C             60                 MOV A,#0CH          ;开显示,关光标,不闪烁
0053 1201FA           61                 LCALL SEND_I
                      62     
                      63     ;**********************************************************
                      64     
                      65     ;显示汉字和字符
                      66     ;加入80ms的延时,使你能够看清楚显示的过程
                      67     ;根据汉字显示坐标写入 (隔行写入)
                      68     
                      69     ;**********************************************************
0056                  70     HAN_WR1:
0056 1201CD           71                 LCALL CLEAR_P
0059 90025F           72                 MOV DPTR,#TAB1      ;显示汉字和字符
005C 753240           73                 MOV COUNT,#40H      ;地址计数器设为最大值 64。
005F 7480             74                 MOV A,#80H          ;起始地址
0061 1201FA           75                 LCALL SEND_I
0064 1201DD           76                 LCALL QUSHU
0067 12022A           77                 LCALL DELAY3
006A 1201A4           78                 LCALL FLASH
                      79     
                      80     ;**********************************************************
                      81     
                      82     ;显示汉字和字符
                      83     ;加入80ms的延时,使你能够看清楚显示的过程
                      84     ;根据汉字显示坐标分段写入(顺序写入)
                      85     
                      86     ;**********************************************************
006D                  87     HAN_WR2:
006D 1201CD           88                 LCALL CLEAR_P
0070                  89     HAN_WR2A:
0070 90025F           90                 MOV DPTR,#TAB1A     ;显示汉字和字符
0073 753210           91                 MOV COUNT,#10H      ;地址计数器设为16。
0076 7480             92                 MOV A,#80H          ;第一行起始地址
0078 1201FA           93                 LCALL SEND_I
007B 1201DD           94                 LCALL   QUSHU
007E                  95     HAN_WR2B:
007E 90027F           96                 MOV DPTR,#TAB1B     ;显示汉字和字符
0081 753210           97                 MOV COUNT,#10H      ;地址计数器设为16。
0084 7490             98                 MOV A,#90H          ;第二行起始地址
0086 1201FA           99                 LCALL SEND_I
0089 1201DD          100                 LCALL QUSHU
008C                 101     HAN_WR2C:
008C 90026F          102                 MOV DPTR,#TAB1C     ;显示汉字和字符
008F 753210          103                 MOV COUNT,#10H      ;地址计数器设为16。
0092 7488            104                 MOV A,#88H          ;第三行起始地址
0094 1201FA          105                 LCALL SEND_I
0097 1201DD          106                 LCALL QUSHU
009A                 107     HAN_WR2D:
009A 90028F          108                 MOV DPTR,#TAB1D      ;显示汉字和字符
009D 753210          109                 MOV COUNT,#10H       ;地址计数器设为16。
00A0 7498            110                 MOV A,#98H           ;第四行起始地址
00A2 1201FA          111                 LCALL SEND_I
00A5 1201DD          112                 LCALL QUSHU
00A8 12022A          113                 LCALL DELAY3
00AB 1201A4          114                 LCALL FLASH
00AE 1201CD          115                 LCALL CLEAR_P
                     116     
                     117     ;**********************************************************
                     118     
                     119     ; 显示图片
                     120     
                     121     ;**********************************************************
00B1                 122     TU_PLAY1:
                     123     
00B1 90029F          124                 MOV  DPTR,#TU_TAB1   ;显示图形
A51 MACRO ASSEMBLER  PARALLEL_PORT                                                        12/19/2006 20:55:17 PAGE     3

00B4 120115          125                 LCALL PHO_DISP
00B7 12022A          126                 LCALL DELAY3
                     127                ;LCALL   FLASH
                     128     
00BA                 129     TU_PLAY2:
00BA 90069F          130                 MOV DPTR,#TU_TAB2    ;显示图形
00BD 120115          131                 LCALL PHO_DISP
00C0 12022A          132                 LCALL DELAY3
                     133                ;LCALL   FLASH
                     134     
                     135     ;**********************************************************
                     136     
                     137     ; 显示点阵
                     138     
                     139     ;**********************************************************
00C3                 140     LATPLAY1:
00C3 7401            141                 MOV A,#01H         ;清屏
00C5 1201FA          142                 LCALL SEND_I
00C8 7537CC          143                 MOV LCD_DATA1,#0CCH  ;显示点阵
00CB 7538CC          144                 MOV LCD_DATA2,#0CCH
00CE 120150          145                 LCALL LAT_DISP
00D1 12022A          146                 LCALL DELAY3
00D4 1201CD          147                 LCALL CLEAR_P
                     148                 
                     149     ;**********************************************************
                     150     
                     151     ;调字库半角字符显示
                     152     
                     153     ;**********************************************************
00D7                 154     KU_PLAY1:
00D7 1201CD          155                 LCALL  CLEAR_P
00DA 753240          156                 MOV  COUNT,#40H
00DD 7480            157                 MOV  A,#80H
00DF 1201FA          158                 LCALL SEND_I
00E2 7910            159                 MOV  R1,#10H
00E4                 160     LATPLAY11:
00E4 E9              161                 MOV  A,R1
00E5 1201EA          162                 LCALL  SEND_D
00E8 09              163                 INC  R1
00E9 D532F8          164                 DJNZ  COUNT,LATPLAY11
00EC 12022A          165                 LCALL  DELAY3
00EF 1201CD          166                 LCALL  CLEAR_P
                     167                
                     168     ;**********************************************************
                     169     
                     170     ;调字库汉字显示
                     171     ;从 B9F3 “贵”字处开始显示
                     172     
                     173     ;**********************************************************
00F2                 174     KU_PLAY2:
00F2 1201CD          175                 LCALL  CLEAR_P
00F5 753240          176                 MOV  COUNT,#40H
00F8 7480            177                 MOV  A,#80H
00FA 1201FA          178                 LCALL SEND_I
00FD 79F3            179                 MOV  R1,#0F3H
00FF                 180     KU_PLAY21:
00FF 74B9            181                 MOV  A,#0B9H
0101 1201EA          182                 LCALL  SEND_D        ;写入第一字节数据(高位)
0104 E9              183                 MOV  A,R1
0105 1201EA          184                 LCALL  SEND_D        ;写入第二字节数据(低位)
0108 09              185                 INC  R1
0109 D532F3          186                 DJNZ  COUNT,KU_PLAY21
010C 12022A          187                 LCALL  DELAY3
010F 1201CD          188                 LCALL  CLEAR_P
                     189     
0112 0200B1          190                 LJMP  TU_PLAY1
A51 MACRO ASSEMBLER  PARALLEL_PORT                                                        12/19/2006 20:55:17 PAGE     4

                     191               
                     192     ;**********************************************************
                     193     
                     194     ;全屏显示图形子程序
                     195     
                     196     ;**********************************************************
0115                 197     PHO_DISP:
0115 753502          198                 MOV  COUNT3,#02H
0118 753080          199                 MOV  LCD_X,#80H
011B                 200     PHO_DISP1:
011B 753180          201                 MOV  LCD_Y,#80H
011E 753420          202                 MOV  COUNT2,#20H
0121                 203     PHO_DISP2:
0121 753310          204                 MOV  COUNT1,#10H
0124 12018F          205                 LCALL WR_ZB
0127                 206     PHO_DISP3:
0127 E4              207                 CLR A
0128 93              208                 MOVC A,@A+DPTR
0129 1201EA          209                 LCALL SEND_D
012C A3              210                 INC DPTR
012D D533F7          211                 DJNZ COUNT1,PHO_DISP3
0130 0531            212                 INC LCD_Y
0132 D534EC          213                 DJNZ COUNT2,PHO_DISP2
0135 753088          214                 MOV LCD_X,#88H
0138 D535E0          215                 DJNZ COUNT3,PHO_DISP1
                     216     
013B 7436            217                 MOV A,#36H
013D 1201FA          218                 LCALL SEND_I
0140 7430            219                 MOV A,#30H
0142 1201FA          220                 LCALL SEND_I
0145 22              221                 RET
                     222     
                     223     ;**********************************************************
                     224     
                     225     ; GDRAM写0子程序
                     226     
                     227     ;**********************************************************
0146                 228     CLRRAM:
0146 753700          229                 MOV LCD_DATA1,#00H  
0149 753800          230                 MOV LCD_DATA2,#00H
014C 120150          231                 LCALL LAT_DISP
014F 22              232                 RET
                     233     ;**********************************************************
                     234     
                     235     ;显示点阵子程序
                     236     
                     237     ;**********************************************************
0150                 238     LAT_DISP:
0150 753502          239                 MOV COUNT3,#02H
0153 753080          240                 MOV LCD_X,#80H
0156                 241     LAT_DISP1:
0156 753180          242                 MOV LCD_Y,#80H
0159 C2D5            243                 CLR F0
015B 753420          244                 MOV COUNT2,#20H
015E                 245     LAT_DISP2:
015E 753310          246                 MOV COUNT1,#10H
0161 12018F          247                 LCALL WR_ZB
0164                 248     LAT_DISP3:
0164 20D505          249                 JB  F0,LAT_DISP32
0167 853736          250                 MOV LCD_DATA,LCD_DATA1
016A 216F            251                 AJMP LAT_DISP31
016C                 252     LAT_DISP32:
016C 853836          253                 MOV LCD_DATA,LCD_DATA2
016F                 254     LAT_DISP31:
016F E536            255                 MOV A,LCD_DATA
0171 1201EA          256                 LCALL SEND_D
A51 MACRO ASSEMBLER  PARALLEL_PORT                                                        12/19/2006 20:55:17 PAGE     5

0174 D533F8          257                 DJNZ COUNT1,LAT_DISP31
0177 0531            258                 INC LCD_Y
0179 B2D5            259                 CPL F0
017B D534E0          260                 DJNZ COUNT2,LAT_DISP2
017E 753088          261                 MOV LCD_X,#88H
0181 D535D2          262                 DJNZ COUNT3,LAT_DISP1
                     263     
0184 7436            264                 MOV A,#36H
0186 1201FA          265                 LCALL SEND_I
0189 7430            266                 MOV A,#30H

⌨️ 快捷键说明

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