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

📄 ks107.lst

📁 Source code for driver KS107 (LCD display with resolution 128x64 pixels). Files are in assembler and
💻 LST
📖 第 1 页 / 共 3 页
字号:


  LOC  OBJ          LINE          SOURCE STATEMENT

00F7 120000   F    210            CALL    DISP_DATA
00FA A3            211            INC     DPTR
00FB D5F0F7        212            DJNZ    B,DISP_RX0
00FE 0500     F    213            INC     DISP_ROW                ; Next Row
0100 D500EC   F    214            DJNZ    M,DISP_RY0
0103 80DD          215            JMP     DISP_IRET
                   216    
                   217    ; ----------------------------------
                   218    ; Decode IMAGE in Compress 1 (ZERO)   
                   219    ; ----------------------------------
                   220    DISP_RY1:
0105 850000   F    221            MOV     DISP_ACT,DISP_COL
0108 8500F0   F    222            MOV     B,M+1
                   223    DISP_RX1:
010B E500     F    224            MOV     A,M+2
010D 7012          225            JNZ     DISP_RP1
010F E4            226            CLR     A
0110 93            227            MOVC    A,@A+DPTR
0111 120000   F    228            CALL    DISP_DATA
0114 A3            229            INC     DPTR
0115 7010          230            JNZ     DISP_RZ1
0117 E4            231            CLR     A
0118 93            232            MOVC    A,@A+DPTR
0119 A3            233            INC     DPTR
011A F500     F    234            MOV     M+2,A
011C 1500     F    235            DEC     M+2
011E 020000   F    236            JMP     DISP_RZ1
                   237    DISP_RP1:
0121 1500     F    238            DEC     M+2
0123 E4            239            CLR     A
0124 120000   F    240            CALL    DISP_DATA
                   241    DISP_RZ1:
0127 D5F0E1        242            DJNZ    B,DISP_RX1
012A 0500     F    243            INC     DISP_ROW                ; Next Row      
012C D500D6   F    244            DJNZ    M,DISP_RY1
012F 80B1          245            JMP     DISP_IRET
                   246    
                   247    ; ----------------------------------
                   248    ; Decode IMAGE in Compress 2 (FULL)  
                   249    ; ----------------------------------
                   250    DISP_RY2:
0131 850000   F    251            MOV     DISP_ACT,DISP_COL
0134 8500F0   F    252            MOV     B,M+1
                   253    DISP_RX2:
0137 E500     F    254            MOV     A,M+2
0139 7012          255            JNZ     DISP_RP2
013B E4            256            CLR     A
013C 93            257            MOVC    A,@A+DPTR
013D F500     F    258            MOV     M+3,A
013F 120000   F    259            CALL    DISP_DATA
0142 A3            260            INC     DPTR
0143 E4            261            CLR     A
0144 93            262            MOVC    A,@A+DPTR


PC - 8051 ASSEMBLER, V1.1                 24.07.2005/09:38:40   PAGE   6


  LOC  OBJ          LINE          SOURCE STATEMENT

0145 A3            263            INC     DPTR
0146 F500     F    264            MOV     M+2,A
0148 1500     F    265            DEC     M+2
014A 020000   F    266            JMP     DISP_RZ2
                   267    DISP_RP2:
014D 1500     F    268            DEC     M+2
014F E500     F    269            MOV     A,M+3
0151 120000   F    270            CALL    DISP_DATA
                   271    DISP_RZ2:
0154 D5F0E0        272            DJNZ    B,DISP_RX2
0157 0500     F    273            INC     DISP_ROW                ; Next Row
0159 D500D5   F    274            DJNZ    M,DISP_RY2
015C 8084          275            JMP     DISP_IRET
                   276    
                   277    ; ------------------------------------
                   278    ; Select direct control and send Byte to display 
                   279    ; In: A ... Byte to write
                   280    ;     DISP_ROW .. Position in ROW <0..7>
                   281    ;     DISP_COL .. Position in COLUMN <0..127>
                   282    ; ------------------------------------
                   283    DISP_DATA:
015E C0E0          284            PUSH    Acc
0160 E500     F    285            MOV     A,DISP_ACT
0162 B44000        286            CJNE    A,#64,DISP_POR
                   287    DISP_POR:
0165 4007          288            JC      DISP_RAD1
0167 C200     F    289            CLR     CS1
0169 D200     F    290            SETB    CS2                     ; Select control 2
016B 020000   F    291            JMP     DISP_RAD2       
                   292    DISP_RAD1:
016E D200     F    293            SETB    CS1                     ; Select control 1
0170 C200     F    294            CLR     CS2
                   295    DISP_RAD2:      
0172 B50003   F    296            CJNE    A,DISP_COL,DISP_NE
0175 020000   F    297            JMP     DISP_SET
                   298    DISP_NE:
0178 B4400C        299            CJNE    A,#64,DISP_N1
                   300    DISP_SET:
017B E500     F    301            MOV     A,DISP_ROW
017D 120000   F    302            CALL    DISP_ADR_X
0180 E500     F    303            MOV     A,DISP_ACT              ; Actual Column
0182 543F          304            ANL     A,#00111111B            ; Reduce at 64
0184 120000   F    305            CALL    DISP_ADR_Y
                   306    DISP_N1:
0187 D0E0          307            POP     Acc                     
0189 120000   F    308            CALL    DISP_WRITE              ; Send Byte
018C 0500     F    309            INC     DISP_ACT                ; Increase actual column
018E C200     F    310            CLR     CS1
0190 C200     F    311            CLR     CS1
0192 22            312            RET
                   313    
                   314    ; ------------------------------------
                   315    ; Write Byte to Display 


PC - 8051 ASSEMBLER, V1.1                 24.07.2005/09:38:40   PAGE   7


  LOC  OBJ          LINE          SOURCE STATEMENT

                   316    ; In: A ... Byte to Write 
                   317    ; ------------------------------------
                   318    DISP_WRITE:     
0193 C0E0          319            PUSH    Acc
0195 F580          320            MOV     P0,A
0197 D200     F    321            SETB    E  
0199 C200     F    322            CLR     E     
019B 7450          323            MOV     A,#Time_Delay
019D D5E0FD        324            DJNZ    Acc,$ 
01A0 D0E0          325            POP     Acc
01A2 22            326            RET     
                   327    
                   328    ; ---------------------------------------
                   329    
                   330    DISP_ADR_X:                     ; Set Row <0..7>
01A3 C200     F    331            CLR     RS
01A5 5407          332            ANL     A,#00000111B
01A7 44B8          333            ORL     A,#10111000B
01A9 120000   F    334            CALL    DISP_WRITE
01AC D200     F    335            SETB    RS
01AE 22            336            RET
                   337    
                   338    ; ----------------------------------------
                   339    
                   340    DISP_ADR_Y:                     ; Set Column <0..63>
01AF C200     F    341            CLR     RS
01B1 543F          342            ANL     A,#00111111B
01B3 4440          343            ORL     A,#01000000B
01B5 120000   F    344            CALL    DISP_WRITE
01B8 D200     F    345            SETB    RS
01BA 22            346            RET
                   347    
                   348    ; ----------------------------------------
                   349    
                   350    DISP_ADR_Z:
01BB C200     F    351            CLR     RS
01BD 543F          352            ANL     A,#00111111B
01BF 44C0          353            ORL     A,#11000000B
01C1 120000   F    354            CALL    DISP_WRITE
01C4 D200     F    355            SETB    RS
01C6 22            356            RET
                   357    
                   358    ; --------------------------------------
                   359    
                   360    DISP_ON:                        ; Display ON
01C7 D200     F    361            SETB    CS1
01C9 D200     F    362            SETB    CS2
01CB C200     F    363            CLR     RS
01CD 743F          364            MOV     A,#00111111B
01CF 120000   F    365            CALL    DISP_WRITE
01D2 D200     F    366            SETB    RS
01D4 C200     F    367            CLR     CS1
01D6 C200     F    368            CLR     CS2


PC - 8051 ASSEMBLER, V1.1                 24.07.2005/09:38:40   PAGE   8


  LOC  OBJ          LINE          SOURCE STATEMENT

01D8 22            369            RET     
                   370    
                   371    ; --------------------------------------
                   372    
                   373    DISP_OFF:                       ; Display OFF   
01D9 D200     F    374            SETB    CS1
01DB D200     F    375            SETB    CS2
01DD C200     F    376            CLR     RS
01DF 743E          377            MOV     A,#00111110B
01E1 120000   F    378            CALL    DISP_WRITE
01E4 D200     F    379            SETB    RS
01E6 C200     F    380            CLR     CS1
01E8 C200     F    381            CLR     CS2
01EA 22            382            RET
                   383    
                   384    ; --------------------------------------------
                   385    ; Display Clear
                   386    ; --------------------------------------------
                   387    DISP_CLEAR:                     
01EB C0E0          388            PUSH    Acc
01ED C000     F    389            PUSH    M
01EF C000     F    390            PUSH    M+1
01F1 C0F0          391            PUSH    B
01F3 D200     F    392            SETB    CS1
01F5 D200     F    393            SETB    CS2     
01F7 750008   F    394            MOV     M,#8             
01FA 750040   F    395            MOV     M+1,#64
                   396    DISP_CY:
01FD E500     F    397            MOV     A,M
01FF 14            398            DEC     A
0200 120000   F    399            CALL    DISP_ADR_X
0203 E4            400            CLR     A
0204 120000   F    401            CALL    DISP_ADR_Y
0207 8500F0   F    402            MOV     B,M+1
                   403    DISP_CX:
020A E4            404            CLR     A
020B 120000   F    405            CALL    DISP_WRITE
020E D5F0F9        406            DJNZ    B,DISP_CX
0211 D500E9   F    407            DJNZ    M,DISP_CY
0214 C200     F    408            CLR     CS1
0216 C200     F    409            CLR     CS2
0218 D0F0          410            POP     B       
021A D000     F    411            POP     M+1     
021C D000     F    412            POP     M
021E D0E0          413            POP     Acc
0220 22            414            RET
                   415    
                   416    ; ---------------------------------------
                   417    ; Tab ASCII char
                   418    ; ---------------------------------------
                   419    TabASCII:
0221 00000000      420            DB 000H,000H,000H,000H,000H,000H,000H,05FH,000H,000H,000H,000H,000H,007H,000H,007H
0225 0000005F  


PC - 8051 ASSEMBLER, V1.1                 24.07.2005/09:38:40   PAGE   9

⌨️ 快捷键说明

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