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

📄 subprogram.lst

📁 this file is for keil LCD
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  SUBPROGRAM                                                           03/11/2005 13:48:51 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN SUBPROGRAM.OBJ
ASSEMBLER INVOKED BY: D:\PROGRAM FILES\KEIL\C51\BIN\A51.EXE SUBPROGRAM.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;SUBPROGRAM  FOR  LCD  DISPLAY
                       2     ;ASM  FILE  FOR  LCD   DISPLAY  
                       3      
                       4     ;;;;.asm
                       5     ; 直接访问方式地址定义,根据用户平台接口修改
                       6     ;;WE MUST SHUOMING THAT THE CHINESECU AND THE CHARACTO CU MUST BUILD IN ASM FILES
                       7     ;;必须说明中文字库埠?/和西文字库都要在汇编和文件中建立
  D000                 8     CWADD1  EQU     0D000H          ; 写指令代码地址
  D001                 9     DWADD1  EQU     0D001H          ; 写参数及显示数据地址
  D001                10     DRADD1  EQU     0D001H          ; 读参数及显示数据地址
                      11     ; 间接控制方式信号定义,根据用户平台接口修改
                      12     ;//RS   EQU     P3.0            ; RS
                      13     ;//RD   EQU     P3.1            ; /RD
                      14     ;//WR   EQU     P3.2            ; /WR
                      15     ;//DATBUS       EQU     P1              ; 数据总线
                      16     ; 程序参数定义,根据用户选择的LCM型号修改
  00A0                17     PARA1   EQU    0A0H             ; 显示区域宽度
                      18     ; 程序变量定义,根据用户平台提供的内部资源修改
  0050                19     COM     EQU     50H             ; 指令寄存器
  0051                20     DAT1    EQU     51H             ; 参数及显示数据寄存器
  0052                21     COUNT1  EQU     52H             ; 计数器1
  0053                22     COUNT2  EQU     53H             ; 计数器2
  0054                23     O_XL    EQU     54H             ; X坐标低8位寄存器(字节)
                      24                                     ; X坐标低8位寄存器(点列)
  0055                25     O_XH    EQU     55H             ; X坐标高8位寄存器(点列)
                      26                                     ; D7位为绘点(D7=1)和消点(D7=0)标志位
  0056                27     O_YL    EQU     56H             ; Y坐标寄存器低8位(点行)
  0057                28     O_YH    EQU     57H             ; Y坐标寄存器高8位(点行)
  0058                29     CODEE   EQU     58H             ; 字符代码
                      30     
  0059                31     GRAYB   EQU     59H         
                      32                                    ; 00H-暗;01H-淡;
                      33                                    ; 10H-深;11H-亮
  005A                34     GRAYH   EQU     5AH            ; 灰度数据寄存器高字节
  005B                35     GRAYL   EQU     5BH            ; 灰度数据寄存器低?
                      36       PUBLIC GRAYB
                      37       PUBLIC CLEAR,_ONEBYTE_PR,_CLCW_PR,_CL_DOT
                      38       PUBLIC _W_DOT,_CCW_PR,_CC24PR,_CW_PR,_CW_PRR,_CLCW_PRR
                      39     mypro segment code
----                  40     rseg mypro                     ; 允许编译器重新定位
                      41     
                      42     
                      43     
                      44     
                      45     
                      46     
                      47     
                      48     
                      49     ;=====汉字(16x16点阵)库===============================
                      50     ; 根据北京清华蓬远科贸公司提供的软件PICKHZ.EXE建立字库
                      51        
0000 00403710         52     CCTAB:  DB 000H,040H,037H,010H,083H,060H,02FH,008H;清
0004 83602F08                
0008 1322E322         53             DB 013H,022H,0E3H,022H,023H,022H,022H,022H
000C 23222222                
0010 4048FC40         54             DB 040H,048H,0FCH,040H,0F8H,040H,0FEH,008H
0014 F840FE08                
0018 FC08F808         55             DB 0FCH,008H,0F8H,008H,0F8H,008H,028H,010H
A51 MACRO ASSEMBLER  SUBPROGRAM                                                           03/11/2005 13:48:51 PAGE     2

001C F8082810                
0020 04040808         56             DB 004H,004H,008H,008H,018H,029H,04AH,008H;华
0024 18294A08                
0028 0901FF01         57             DB 009H,001H,0FFH,001H,001H,001H,001H,001H
002C 01010101                
0030 40485860         58             DB 040H,048H,058H,060H,0C0H,040H,044H,044H
0034 C0404444                
0038 3C00FE00         59             DB 03CH,000H,0FEH,000H,000H,000H,000H,000H
003C 00000000                
                      60     
                      61     
                      62     ; 汉字(24x24点阵)写入子程序
                      63     ;=====汉字(24x24点阵)库===============================
                      64     ; 根据北京清华蓬远科贸公司提供的软件PICKHZ.EXE建立字库
                      65     
0040 0000007F         66     CCTAB24:DB 000H,000H,000H,07FH,000H,020H,018H,00CH;蓬
0044 0020180C                
0048 0C08010C         67             DB 00CH,008H,001H,00CH,07EH,00CH,00CH,00CH
004C 7E0C0C0C                
0050 0C0D0C0C         68             DB 00CH,00DH,00CH,00CH,032H,061H,020H,000H
0054 32612000                
0058 82E3C3FF         69             DB 082H,0E3H,0C3H,0FFH,0D3H,09AH,03FH,030H
005C D39A3F30                
0060 49871964         70             DB 049H,087H,019H,064H,086H,07FH,006H,07FH
0064 867F067F                
0068 06FF0606         71             DB 006H,0FFH,006H,006H,004H,0FFH,0FFH,000H
006C 04FFFF00                
0070 00800CFE         72             DB 000H,080H,00CH,0FEH,000H,040H,0E0H,0C0H
0074 0040E0C0                
0078 8000FE78         73             DB 080H,000H,0FEH,078H,000H,0F0H,000H,0E0H
007C 00F000E0                
0080 00F80000         74             DB 000H,0F8H,000H,000H,000H,0FEH,0F8H,000H
0084 00FEF800                
0088 00180C06         75             DB 000H,018H,00CH,006H,006H,004H,000H,000H;远
008C 06040000                
0090 067F0606         76             DB 006H,07FH,006H,006H,006H,006H,006H,006H
0094 06060606                
0098 06060606         77            DB 006H,006H,006H,006H,009H,030H,010H,000H
009C 09301000                
00A0 00003F00         78            DB 000H,000H,03FH,000H,000H,000H,000H,0FFH
00A4 000000FF                
00A8 19191919         79             DB 019H,019H,019H,019H,019H,019H,019H,011H
00AC 19191911                
00B0 312160C0         80            DB 031H,021H,060H,0C0H,000H,0FFH,07FH,000H
00B4 00FF7F00                
00B8 0060F000         81            DB 000H,060H,0F0H,000H,000H,000H,018H,0FCH
00BC 000018FC                
00C0 80808080         82             DB 080H,080H,080H,080H,080H,088H,088H,088H
00C4 80888888                
00C8 8CFCF800         83            DB 08CH,0FCH,0F8H,000H,000H,0FFH,0FCH,000H
00CC 00FFFC00                
                      84     ; 汉字(24x24点阵)演示程序            callby
                      85     ;DISCH24:MOV     GRAYB,#4CH           ;灰度值设置: 正向显示
                      86     ;        MOV     O_XL,#0CH
                      87     ;        MOV     O_YL,#20H
                      88     ;        MOV     O_YH,#00H
                      89      ;       MOV     CODEE,#00H
                      90      ;       LCALL   _CC24PR
                      91      ;;;       MOV     GRAYB,#0C4H        ;灰度值设置: 负向显示
                      92       ;      MOV     O_XL,#15H
                      93        ;     MOV     O_YL,#38H
                      94        ;     MOV     O_YH,#01H
                      95        ;     MOV     CODEE,#01H
                      96        ;     LCALL   _CC24PR
                      97        ;     SJMP $
                      98     ; 绘图演示程序段       callby
A51 MACRO ASSEMBLER  SUBPROGRAM                                                           03/11/2005 13:48:51 PAGE     3

                      99     ;DRAW:           MOV     GRAYB,#0C0H  ;有灰度的显示将把所有显示都分成相应的灰度等级
                     100      ;               MOV     R2,#00H
                     101      ;               MOV     R3,#00H
                     102      ;               MOV     R4,#00H
                     103       ;              MOV     R5,#00H
                     104       ;      LOOP1:  MOV     O_XL,R2
                     105       ;              MOV     O_XH,R3
                     106        ;             MOV     O_YL,R4
                     107        ;             MOV     O_YH,R5
                     108        ;             LCALL   _W_DOT
                     109        ;             MOV     A,R2
                     110         ;            MOV     R2,A
                     111         ;            MOV     A,R3
                     112         ;            ADDC    A,#00H
                     113         ;            MOV     R3,A
                     114          ;           MOV     A,R4
                     115          ;           ADD     A,#01H
                     116          ;           MOV     R4,A
                     117           ;          MOV     A,R5
                     118          ;           ADDC    A,#00H
                     119           ;          MOV     R5,A
                     120           ;          CJNE    A,#01H,LOOP1    
                     121           ;          SJMP     $
                     122     ;----------------------------------callby----------------
                     123     ;WIPE:           MOV     GRAYB,#00H
                     124     ;                MOV     R2,#00H
                     125     ;                MOV     R3,#80H
                     126     ;                MOV     R4,#00H
                     127     ;                MOV     R5,#00H
                     128      ;       LOOP2:  MOV     O_XL,R2
                     129      ;               MOV     O_XH,R3
                     130      ;               MOV     O_YL,R4
                     131      ;               MOV     O_YH,R5
                     132      ;               LCALL   _W_DOT
                     133      ;               MOV     A,R2
                     134      ;               ADD     A,#01H
                     135       ;              MOV     R2,A
                     136       ;              MOV     A,R3
                     137       ;              ADDC    A,#00H
                     138       ;              MOV     R3,A
                     139       ;              MOV     A,R4
                     140       ;              ADD     A,#01H
                     141       ;              MOV     R4,A
                     142       ;              MOV     A,R5
                     143       ;              ADDC    A,#00H
                     144        ;             MOV     R5,A
                     145       ;              CJNE    A,#01H,LOOP2
                     146        ;             SJMP    $
                     147     ;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                     148     ;  直接访问方式的驱动子程序
                     149     ;   程序口地址设置CWADD1,DWADD1,DRADD1
                     150     ;   占用内部资源DAT1,A,COM
                     151     ;   程序输入变量: DAT1,,COM
                     152     ;===============直接访问方式驱动子程序==================
                     153     ; 写指令子程序      ////childprogram(7)
00D0 C082            154     PR1:    PUSH    DPL
00D2 C083            155             PUSH    DPH
00D4 90D000          156             MOV     DPTR,#CWADD1
00D7 E550            157             MOV     A,COM
00D9 F0              158             MOVX    @DPTR,A
00DA D083            159             POP     DPH
00DC D082            160             POP     DPL
00DE 22              161             RET
                     162     ; 写数据子程序    childprogram(8)
00DF C082            163     PR2:    PUSH    DPL
00E1 C083            164             PUSH    DPH
A51 MACRO ASSEMBLER  SUBPROGRAM                                                           03/11/2005 13:48:51 PAGE     4

00E3 90D001          165             MOV     DPTR,#DWADD1
00E6 E551            166             MOV     A,DAT1
00E8 F0              167             MOVX    @DPTR,A
00E9 D083            168             POP     DPH
00EB D082            169             POP     DPL
00ED 22              170             RET
                     171     ; 读数据子程序    childprogram(9)
00EE C082            172     PR3:    PUSH    DPL
00F0 C083            173             PUSH    DPH
00F2 90D001          174             MOV     DPTR,#DRADD1

⌨️ 快捷键说明

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