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

📄 lcd12864.lis

📁 hao da jia lai fen xiang
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00B6 F6CF              xjmp L20
 00B8           L22:
 00B8                   .dbline 151
 00B8           ;               }
 00B8           ;       }
 00B8           ;       LCD_RW_L;
 00B8 C198              cbi 0x18,1
 00BA                   .dbline 152
 00BA           ;       LCD_DI_H;
 00BA C09A              sbi 0x18,0
 00BC                   .dbline 153
 00BC           ;       LCD_DATA_DDR = 0XFF;
 00BC 8FEF              ldi R24,255
 00BE 8ABB              out 0x1a,R24
 00C0                   .dbline 154
 00C0           ;       LCD_DATA_OUT = right_data;
 00C0 4BBB              out 0x1b,R20
 00C2                   .dbline 155
 00C2           ;       LCD_NOP;
 00C2 03D1              xcall _lcd_delay
 00C4                   .dbline 156
 00C4           ;       LCD_EN_L;
 00C4 C298              cbi 0x18,2
 00C6                   .dbline -2
 00C6           L19:
 00C6 0E940000          xcall pop_gset1
 00CA                   .dbline 0 ; func end
 00CA 0895              ret
 00CC                   .dbsym r right_data 20 c
 00CC                   .dbend
 00CC                   .dbfunc e lcd_init _lcd_init fV
 00CC           ;              x -> R20
 00CC           ;              y -> R22
                        .even
 00CC           _lcd_init::
 00CC 0E940000          xcall push_gset2
 00D0                   .dbline -1
 00D0                   .dbline 162
 00D0           ; }
 00D0           ; 
 00D0           ; //----------------------------------------------------------------------------------
 00D0           ; 
 00D0           ; void lcd_init(void)
 00D0           ; {
 00D0                   .dbline 165
 00D0           ;       uchar x,y;
 00D0           ;       //设置显示起始行
 00D0           ;       wcodeL(0x0c0);
 00D0 00EC              ldi R16,192
 00D2 96DF              xcall _wcodeL
 00D4                   .dbline 166
 00D4           ;       wcodeR(0x0c0);
 00D4 00EC              ldi R16,192
 00D6 C7DF              xcall _wcodeR
 00D8                   .dbline 169
 00D8           ; 
 00D8           ;       //开显示
 00D8           ;       wcodeL(0x3f);
 00D8 0FE3              ldi R16,63
 00DA 92DF              xcall _wcodeL
 00DC                   .dbline 170
 00DC           ;       wcodeR(0x3f);
 00DC 0FE3              ldi R16,63
 00DE C3DF              xcall _wcodeR
 00E0                   .dbline 172
 00E0 4427              clr R20
 00E2 0EC0              xjmp L29
 00E4           L26:
 00E4                   .dbline 172
 00E4           ;       
 00E4           ;       for(x=0;x<8;x++){
 00E4                   .dbline 173
 00E4           ;               wcodeL(PRE_PAGE+x);
 00E4 042F              mov R16,R20
 00E6 0854              subi R16,72    ; addi 184
 00E8 8BDF              xcall _wcodeL
 00EA                   .dbline 174
 00EA 6627              clr R22
 00EC 06C0              xjmp L33
 00EE           L30:
 00EE                   .dbline 174
 00EE                   .dbline 175
 00EE 062F              mov R16,R22
 00F0 005C              subi R16,192    ; addi 64
 00F2 86DF              xcall _wcodeL
 00F4                   .dbline 176
 00F4 0027              clr R16
 00F6 9DDF              xcall _wdataL
 00F8                   .dbline 177
 00F8           L31:
 00F8                   .dbline 174
 00F8 6395              inc R22
 00FA           L33:
 00FA                   .dbline 174
 00FA 6034              cpi R22,64
 00FC C0F3              brlo L30
 00FE                   .dbline 178
 00FE           L27:
 00FE                   .dbline 172
 00FE 4395              inc R20
 0100           L29:
 0100                   .dbline 172
 0100 4830              cpi R20,8
 0102 80F3              brlo L26
 0104                   .dbline 179
 0104 4427              clr R20
 0106 0EC0              xjmp L37
 0108           L34:
 0108                   .dbline 179
 0108           ;               for(y=0;y<64;y++){
 0108           ;                       wcodeL(PRE_COL+y);
 0108           ;                       wdataL(0);
 0108           ;               }
 0108           ;       }
 0108           ;       for(x=0;x<8;x++){
 0108                   .dbline 180
 0108           ;               wcodeR(PRE_PAGE+x);
 0108 042F              mov R16,R20
 010A 0854              subi R16,72    ; addi 184
 010C ACDF              xcall _wcodeR
 010E                   .dbline 181
 010E 6627              clr R22
 0110 06C0              xjmp L41
 0112           L38:
 0112                   .dbline 181
 0112                   .dbline 182
 0112 062F              mov R16,R22
 0114 005C              subi R16,192    ; addi 64
 0116 A7DF              xcall _wcodeR
 0118                   .dbline 183
 0118 0027              clr R16
 011A BEDF              xcall _wdataR
 011C                   .dbline 184
 011C           L39:
 011C                   .dbline 181
 011C 6395              inc R22
 011E           L41:
 011E                   .dbline 181
 011E 6034              cpi R22,64
 0120 C0F3              brlo L38
 0122                   .dbline 185
 0122           L35:
 0122                   .dbline 179
 0122 4395              inc R20
 0124           L37:
 0124                   .dbline 179
 0124 4830              cpi R20,8
 0126 80F3              brlo L34
 0128                   .dbline -2
 0128           L25:
 0128 0E940000          xcall pop_gset2
 012C                   .dbline 0 ; func end
 012C 0895              ret
 012E                   .dbsym r x 20 c
 012E                   .dbsym r y 22 c
 012E                   .dbend
 012E                   .dbfunc e lcd_clear_range _lcd_clear_range fV
 012E           ;              x -> R20
 012E           ;          range -> R22
                        .even
 012E           _lcd_clear_range::
 012E 0E940000          xcall push_gset2
 0132 602F              mov R22,R16
 0134                   .dbline -1
 0134                   .dbline 189
 0134           ;               for(y=0;y<64;y++){
 0134           ;                       wcodeR(PRE_COL+y);
 0134           ;                       wdataR(0);
 0134           ;               }
 0134           ;       }
 0134           ; }
 0134           ; /******************************************************************************/
 0134           ; void lcd_clear_range(uchar range)
 0134           ; {
 0134                   .dbline 191
 0134 48E0              ldi R20,8
 0136 09C0              xjmp L46
 0138           L43:
 0138                   .dbline 191
 0138                   .dbline 192
 0138 062F              mov R16,R22
 013A 0854              subi R16,72    ; addi 184
 013C 61DF              xcall _wcodeL
 013E 042F              mov R16,R20
 0140 005C              subi R16,192    ; addi 64
 0142 5EDF              xcall _wcodeL
 0144                   .dbline 193
 0144 0027              clr R16
 0146 75DF              xcall _wdataL
 0148                   .dbline 194
 0148           L44:
 0148                   .dbline 191
 0148 4395              inc R20
 014A           L46:
 014A                   .dbline 191
 014A           ;       uchar x;
 014A           ;       for(x=8;x<64;x++){
 014A 4034              cpi R20,64
 014C A8F3              brlo L43
 014E                   .dbline -2
 014E           L42:
 014E 0E940000          xcall pop_gset2
 0152                   .dbline 0 ; func end
 0152 0895              ret
 0154                   .dbsym r x 20 c
 0154                   .dbsym r range 22 c
 0154                   .dbend
 0154                   .dbfunc e lcd_clear_left _lcd_clear_left fV
 0154           ;              x -> R20
 0154           ;              y -> R22
                        .even
 0154           _lcd_clear_left::
 0154 0E940000          xcall push_gset2
 0158                   .dbline -1
 0158                   .dbline 198
 0158           ;               addressL(range,x);
 0158           ;               wdataL(0);
 0158           ;       }
 0158           ; }
 0158           ; /******************************************************************************/
 0158           ; void lcd_clear_left(void)
 0158           ; {
 0158                   .dbline 200
 0158 4427              clr R20
 015A 0EC0              xjmp L51
 015C           L48:
 015C                   .dbline 200
 015C           ;       uchar x,y;
 015C           ;       for(x=0;x<8;x++){
 015C                   .dbline 201
 015C 6627              clr R22
 015E 09C0              xjmp L55
 0160           L52:
 0160                   .dbline 201
 0160                   .dbline 202
 0160 042F              mov R16,R20
 0162 0854              subi R16,72    ; addi 184
 0164 4DDF              xcall _wcodeL
 0166 062F              mov R16,R22
 0168 005C              subi R16,192    ; addi 64
 016A 4ADF              xcall _wcodeL
 016C                   .dbline 203
 016C 0027              clr R16
 016E 61DF              xcall _wdataL
 0170                   .dbline 204
 0170           L53:
 0170                   .dbline 201
 0170 6395              inc R22
 0172           L55:
 0172                   .dbline 201
 0172 6034              cpi R22,64
 0174 A8F3              brlo L52
 0176                   .dbline 205
 0176           L49:
 0176                   .dbline 200
 0176 4395              inc R20
 0178           L51:
 0178                   .dbline 200
 0178 4830              cpi R20,8
 017A 80F3              brlo L48
 017C                   .dbline -2
 017C           L47:
 017C 0E940000          xcall pop_gset2
 0180                   .dbline 0 ; func end
 0180 0895              ret
 0182                   .dbsym r x 20 c
 0182                   .dbsym r y 22 c
 0182                   .dbend
 0182                   .dbfunc e lcd_print _lcd_print fV
 0182           ;       lcd_data -> y+4
 0182           ;              y -> R20
 0182           ;              x -> R22
                        .even
 0182           _lcd_print::
 0182 0E940000          xcall push_gset2
 0186 422F              mov R20,R18
 0188 602F              mov R22,R16
 018A                   .dbline -1
 018A                   .dbline 209
 018A           ;               for(y=0;y<64;y++){
 018A           ;                       addressL(x,y);
 018A           ;                       wdataL(0);
 018A           ;               }
 018A           ;       }
 018A           ; }
 018A           ; /******************************************************************************/
 018A           ; void lcd_print(uchar x,uchar y,uchar lcd_data)
 018A           ; {
 018A                   .dbline 210
 018A           ;       if(x > 7){
 018A 87E0              ldi R24,7
 018C 8617              cp R24,R22
 018E 08F4              brsh L57
 0190                   .dbline 210
 0190                   .dbline 211
 0190           ;               x -= 7;
 0190 6750              subi R22,7
 0192                   .dbline 212
 0192           ;       }
 0192           L57:
 0192                   .dbline 213
 0192           ;       if(y > 63){
 0192 8FE3              ldi R24,63
 0194 8417              cp R24,R20
 0196 50F4              brsh L59
 0198                   .dbline 213
 0198                   .dbline 214
 0198           ;               y -= 64;
 0198 4054              subi R20,64
 019A                   .dbline 215
 019A           ;               addressL(x,y);
 019A 062F              mov R16,R22
 019C 0854              subi R16,72    ; addi 184
 019E 30DF              xcall _wcodeL
 01A0 042F              mov R16,R20
 01A2 005C              subi R16,192    ; addi 64
 01A4 2DDF              xcall _wcodeL
 01A6                   .dbline 216
 01A6           ;               wdataL(lcd_data);
 01A6 0C81              ldd R16,y+4
 01A8 44DF              xcall _wdataL
 01AA                   .dbline 217
 01AA 08C0              xjmp L60
 01AC           L59:
 01AC                   .dbline 217
 01AC                   .dbline 218
 01AC 062F              mov R16,R22
 01AE 0854              subi R16,72    ; addi 184
 01B0 5ADF              xcall _wcodeR
 01B2 042F              mov R16,R20
 01B4 005C              subi R16,192    ; addi 64
 01B6 57DF              xcall _wcodeR
 01B8                   .dbline 219
 01B8 0C81              ldd R16,y+4
 01BA 6EDF              xcall _wdataR
 01BC                   .dbline 220
 01BC           L60:
 01BC                   .dbline -2
 01BC           L56:
 01BC 0E940000          xcall pop_gset2
 01C0                   .dbline 0 ; func end

⌨️ 快捷键说明

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