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

📄 12864.lst

📁 这个是128×64的液晶屏的读写程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  12864                                                                01/26/2006 01:30:04 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     
                       2     
                       3     
                       4     
                       5     
                       6     
                       7     
                       8     
                       9     
                      10     
                      11     
                      12             
                      13     ;***************硬件端口定义***********
  00A0                14               RS       EQU   P2.0
  00A1                15               RW       EQU   P2.1
  00A2                16               E        EQU   P2.2
  00A3                17               CS1      EQU   P2.3
  00A4                18               CS2      EQU   P2.4
  00A5                19               RST      EQU   P2.5   
  0020                20               COM      EQU   20H    ;指令数据寄存器
  0021                21               DAT      EQU   21H    ;显示数据寄存器
                      22     
                      23     ;**********************************主程序入口地址 
0000                  24             ORG     0000H  
0000 0103             25             AJMP    STR  
0003                  26             ORG     0003H           
                      27          
                      28     ;*********************************中断程序入口地址
0003                  29     STR:    
0003 0105             30             AJMP    L0100
                      31       
0005 C2A5             32     L0100:  CLR     RST
0007 00               33             NOP
0008 00               34             NOP
0009 D2A5             35             SETB    RST
                      36             
                      37     ;********************************以上是软件复位
000B 758160           38             MOV     SP,#60H
000E 75A881           39             MOV     IE,#81H            ;中断允许
0011 75B801           40             MOV     IP,#01H            ;优先中断
0014 758800           41             MOV     TCON,#00H          ;电平中断
0017 75203F           42             MOV     COM,#3FH         ;显示开
001A 1200F2           43             LCALL   S02A9            ;左半屏写指令子程序
001D 120102           44             LCALL   S02C1            ;右半屏写指令子程序
                      45     ;----------------------------------------------------------------------
0020 7520C0           46             MOV     COM,#0C0H        ;第一行        
0023 1200F2           47             LCALL   S02A9            ;左半屏写指令子程序
0026 120102           48             LCALL   S02C1            ;右半屏写指令子程序
                      49     ;----------------------------------------------------------------------
0029 7520B8           50             MOV     COM,#0B8H       ;第一页        
002C 1200F2           51             LCALL   S02A9           ;左半屏写指令子程序
002F 120102           52             LCALL   S02C1           ;右半屏写指令子程序
                      53     ;----------------------------------------------------------------------
0032 752040           54             MOV     COM,#40H        ;第一列
0035 1200F2           55             LCALL   S02A9           ;左半屏写指令子程序
0038 120102           56             LCALL   S02C1           ;右半屏写指令子程序
                      57     ;********************************************************以上是软件初始化
003B 75F0AA           58             MOV     B,#0AAH
A51 MACRO ASSEMBLER  12864                                                                01/26/2006 01:30:04 PAGE     2

003E 12009F           59             LCALL   XIHX            ;显示横线1
0041 12014A           60             LCALL   DELAY 
                      61           ; MOV     B,#55H
                      62            ; LCALL   XIHX    
                      63            ; LCALL   DELAY           ;显示横线2
0044 75F0FF           64             MOV     B,#0FFH
0047 752900           65             MOV     29H,#00H       
004A 1200C4           66             LCALL   XISX    
004D 12014A           67             LCALL   DELAY            ;显示竖线1
                      68            ; MOV     B,#00H
                      69            ; MOV     29H,#0FFH
                      70           ; LCALL   XISX    
                      71            ; LCALL   DELAY            ;显示竖线2
                      72     
0050 900157           73             MOV     DPTR,#TAB1
0053 120061           74             LCALL   LEFT
0056 900357           75             MOV     DPTR,#TAB2
0059 120080           76             LCALL   RIGHT       
005C 12014A           77             LCALL   DELAY             ;显示第一幅图片
                      78     
005F 0105             79             AJMP    L0100
                      80     ;=======================================================以上是主程序
0061 79B8             81     LEFT:   MOV     R1,#0B8H
0063 8920             82     _AB:     MOV     COM,R1          ;第一页        
0065 1200F2           83             LCALL   S02A9           ;左半屏写指令子程序     
0068 752040           84             MOV     COM,#40H        ;第一列
006B 1200F2           85             LCALL   S02A9           ;左半屏写指令子程序      
006E 7840             86             MOV     R0, #64 
0070 7400             87     S027B:  MOV     A,#00H
0072 93               88             MOVC    A,@A+DPTR               
0073 F521             89             MOV     DAT,A        
0075 1200FA           90             LCALL   S02B1           ;左半屏写数据子程序         
0078 A3               91             INC     DPTR    
0079 D8F5             92             DJNZ    R0,S027B
007B 09               93             INC     R1        
007C B9C0E4           94             CJNE    R1, #0C0H,_AB      
007F 22               95             RET
                      96     ;======================================================以上是左半屏写数据子程序
0080 79B8             97     RIGHT:  MOV     R1,#0B8H
0082 8920             98     ABC:    MOV     COM,R1          ;第一页        
0084 120102           99             LCALL   S02C1           ;右半屏写指令子程序     
0087 752040          100             MOV     COM,#40H        ;第一列
008A 120102          101             LCALL   S02C1           ;右半屏写指令子程序      
008D 7840            102             MOV     R0, #64 
008F 7400            103     S027D:  MOV     A,#00H
0091 93              104             MOVC    A,@A+DPTR               
0092 F521            105             MOV     DAT,A        
0094 12010A          106             LCALL   S02B9           ;右半屏写数据子程序         
0097 A3              107             INC     DPTR    
0098 D8F5            108             DJNZ    R0,S027D
009A 09              109             INC     R1        
009B B9C0E4          110             CJNE    R1, #0C0H,ABC       
009E 22              111             RET
                     112     
                     113     ;*******************************************************以上是右半屏写数据子程序
                     114     
009F 79B8            115     XIHX:   MOV     R1,#0B8H       
00A1 8920            116     BA:     MOV     COM,R1          ;第一页        
00A3 1200F2          117             LCALL   S02A9           ;左半屏写指令子程序
00A6 120102          118             LCALL   S02C1           ;右半屏写指令子程序
00A9 752040          119             MOV     COM,#40H        ;第一列
00AC 1200F2          120             LCALL   S02A9           ;左半屏写指令子程序 
00AF 120102          121             LCALL   S02C1           ;右半屏写指令子程序
00B2 7840            122             MOV     R0, #64 
00B4 85F021          123     W027B:  MOV     DAT,B        
00B7 1200FA          124             LCALL   S02B1           ;左半屏写数据子程序         
A51 MACRO ASSEMBLER  12864                                                                01/26/2006 01:30:04 PAGE     3

00BA 12010A          125             LCALL   S02B9           ;右半屏写数据子程序    
00BD D8F5            126             DJNZ    R0,W027B
00BF 09              127             INC     R1        
00C0 B9C0DE          128             CJNE    R1, #0C0H,BA      
00C3 22              129             RET 
                     130     ;--------------------------------------------------------- 
00C4 79B8            131     XISX:   MOV     R1,#0B8H       
00C6 8920            132     CA:     MOV     COM,R1          ;第一页        
00C8 1200F2          133             LCALL   S02A9           ;左半屏写指令子程序
00CB 120102          134             LCALL   S02C1           ;右半屏写指令子程序
00CE 752040          135             MOV     COM,#40H        ;第一列
00D1 1200F2          136             LCALL   S02A9           ;左半屏写指令子程序 
00D4 120102          137             LCALL   S02C1           ;右半屏写指令子程序
00D7 7820            138             MOV     R0, #32 
00D9 85F021          139     X027B:  MOV     DAT,B        
00DC 1200FA          140             LCALL   S02B1           ;左半屏写数据子程序         
00DF 12010A          141             LCALL   S02B9           ;右半屏写数据子程序   
00E2 852921          142             MOV     DAT,29H
00E5 1200FA          143             LCALL   S02B1           ;左半屏写数据子程序         
00E8 12010A          144             LCALL   S02B9           ;右半屏写数据子程序
00EB D8EC            145             DJNZ    R0,X027B
00ED 09              146             INC     R1        
00EE B9C0D5          147             CJNE    R1, #0C0H,CA      
00F1 22              148             RET  
                     149     ;****************************************************以上是显示线条程序
00F2 D2A3            150     S02A9:  SETB    CS1
00F4 120112          151             LCALL   S02C9
00F7 C2A3            152             CLR     CS1         ;左半屏写指令子程序
00F9 22              153             RET   
                     154       
00FA D2A3            155     S02B1:  SETB    CS1         ;左半屏写数据子程序        
00FC 12012D          156             LCALL   S02E0  
00FF C2A3            157             CLR     CS1     
0101 22              158             RET  
                     159     
0102 D2A4            160     S02C1:  SETB    CS2         ;右半屏写指令子程序        
0104 120112          161             LCALL   S02C9  
0107 C2A4            162             CLR     CS2      
0109 22              163             RET    
                     164     
010A D2A4            165     S02B9:  SETB    CS2         ;右半屏写数据子程序       
010C 12012D          166             LCALL   S02E0    
010F C2A4            167             CLR     CS2
0111 22              168             RET     
                     169     ;**************************************************** 
                     170     
0112 C2A0            171     S02C9:  CLR     RS         
0114 D2A1            172             SETB    RW        
0116 7580FF          173     S02C9A: MOV     P0,#0FFH
0119 D2A2            174             SETB    E
011B E580            175             MOV     A, P0
011D C2A2            176             CLR     E
011F 20E7F4          177             JB      ACC.7,S02C9A
0122 C2A1            178             CLR     RW
0124 852080          179             MOV     P0,COM       
0127 D2A2            180             SETB    E
0129 00              181             NOP
012A C2A2            182             CLR     E
012C 22              183             RET     
                     184     ;*************************************************以上是写指令子程序
012D C2A0            185     S02E0:  CLR     RS         
012F D2A1            186             SETB    RW        
0131 7580FF          187     S02E0A: MOV     P0,#0FFH
0134 D2A2            188             SETB    E
0136 E580            189             MOV     A, P0
0138 C2A2            190             CLR     E
A51 MACRO ASSEMBLER  12864                                                                01/26/2006 01:30:04 PAGE     4

013A 20E7F4          191             JB      ACC.7,S02E0A
013D D2A0            192             SETB    RS
013F C2A1            193             CLR     RW
0141 852180          194             MOV     P0,DAT      

⌨️ 快捷键说明

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