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

📄 lcd12864.lis

📁 hao da jia lai fen xiang
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01C0 0895              ret
 01C2                   .dbsym l lcd_data 4 c
 01C2                   .dbsym r y 20 c
 01C2                   .dbsym r x 22 c
 01C2                   .dbend
 01C2                   .dbfunc e lcd_print88 _lcd_print88 fV
 01C2           ;              i -> R20
 01C2           ;       lcd_char -> R22,R23
 01C2           ;              y -> R10
 01C2           ;              x -> R12
                        .even
 01C2           _lcd_print88::
 01C2 0E940000          xcall push_gset4
 01C6 A22E              mov R10,R18
 01C8 C02E              mov R12,R16
 01CA 2197              sbiw R28,1
 01CC 6985              ldd R22,y+9
 01CE 7A85              ldd R23,y+10
 01D0                   .dbline -1
 01D0                   .dbline 224
 01D0           ;       }else {
 01D0           ;               addressR(x,y);
 01D0           ;               wdataR(lcd_data);
 01D0           ;       }
 01D0           ; }
 01D0           ; /******************************************************************************/
 01D0           ; void lcd_print88(uchar x,uchar y,const uchar *lcd_char)//显示8*8字符
 01D0           ; {
 01D0                   .dbline 226
 01D0 4427              clr R20
 01D2 0EC0              xjmp L65
 01D4           L62:
 01D4                   .dbline 226
 01D4                   .dbline 227
 01D4 1B01              movw R2,R22
 01D6 6F5F              subi R22,255  ; offset = 1
 01D8 7F4F              sbci R23,255
 01DA F101              movw R30,R2
 01DC E491              lpm R30,Z
 01DE E883              std y+0,R30
 01E0 2A2C              mov R2,R10
 01E2 822D              mov R24,R2
 01E4 8F5F              subi R24,255    ; addi 1
 01E6 A82E              mov R10,R24
 01E8 222D              mov R18,R2
 01EA 0C2D              mov R16,R12
 01EC CADF              xcall _lcd_print
 01EE                   .dbline 228
 01EE           L63:
 01EE                   .dbline 226
 01EE 4395              inc R20
 01F0           L65:
 01F0                   .dbline 226
 01F0           ;       uchar i;
 01F0           ;       for(i=0;i<8;i++){
 01F0 4830              cpi R20,8
 01F2 80F3              brlo L62
 01F4                   .dbline -2
 01F4           L61:
 01F4 2196              adiw R28,1
 01F6 0E940000          xcall pop_gset4
 01FA                   .dbline 0 ; func end
 01FA 0895              ret
 01FC                   .dbsym r i 20 c
 01FC                   .dbsym r lcd_char 22 pkc
 01FC                   .dbsym r y 10 c
 01FC                   .dbsym r x 12 c
 01FC                   .dbend
 01FC                   .dbfunc e lcd_print1616 _lcd_print1616 fV
 01FC           ;              i -> R20
 01FC           ;              j -> R14
 01FC           ;       lcd_char -> R10,R11
 01FC           ;              y -> R12
 01FC           ;              x -> R22
                        .even
 01FC           _lcd_print1616::
 01FC 0E940000          xcall push_gset5
 0200 C22E              mov R12,R18
 0202 602F              mov R22,R16
 0204 2197              sbiw R28,1
 0206 AB84              ldd R10,y+11
 0208 BC84              ldd R11,y+12
 020A                   .dbline -1
 020A                   .dbline 232
 020A           ;               lcd_print(x,y++,*lcd_char++);
 020A           ;       }
 020A           ; }
 020A           ; /******************************************************************************/
 020A           ; void lcd_print1616(uchar x,uchar y,const uchar *lcd_char)//显示16*16的汉字
 020A           ; {
 020A                   .dbline 234
 020A 4427              clr R20
 020C 13C0              xjmp L70
 020E           L67:
 020E                   .dbline 234
 020E           ;       uchar i,j;
 020E           ;       for(i=0;i<2;i++){
 020E                   .dbline 235
 020E EE24              clr R14
 0210 0CC0              xjmp L74
 0212           L71:
 0212                   .dbline 235
 0212                   .dbline 236
 0212 1501              movw R2,R10
 0214 C101              movw R24,R2
 0216 0196              adiw R24,1
 0218 5C01              movw R10,R24
 021A F101              movw R30,R2
 021C E491              lpm R30,Z
 021E E883              std y+0,R30
 0220 2C2D              mov R18,R12
 0222 2E0D              add R18,R14
 0224 062F              mov R16,R22
 0226 ADDF              xcall _lcd_print
 0228                   .dbline 237
 0228           L72:
 0228                   .dbline 235
 0228 E394              inc R14
 022A           L74:
 022A                   .dbline 235
 022A 8E2D              mov R24,R14
 022C 8031              cpi R24,16
 022E 88F3              brlo L71
 0230                   .dbline 238
 0230 6395              inc R22
 0232                   .dbline 239
 0232           L68:
 0232                   .dbline 234
 0232 4395              inc R20
 0234           L70:
 0234                   .dbline 234
 0234 4230              cpi R20,2
 0236 58F3              brlo L67
 0238                   .dbline -2
 0238           L66:
 0238 2196              adiw R28,1
 023A 0E940000          xcall pop_gset5
 023E                   .dbline 0 ; func end
 023E 0895              ret
 0240                   .dbsym r i 20 c
 0240                   .dbsym r j 14 c
 0240                   .dbsym r lcd_char 10 pkc
 0240                   .dbsym r y 12 c
 0240                   .dbsym r x 22 c
 0240                   .dbend
 0240                   .dbfunc e lcd_print816 _lcd_print816 fV
 0240           ;              i -> R20
 0240           ;              j -> R14
 0240           ;       lcd_char -> R10,R11
 0240           ;              y -> R12
 0240           ;              x -> R22
                        .even
 0240           _lcd_print816::
 0240 0E940000          xcall push_gset5
 0244 C22E              mov R12,R18
 0246 602F              mov R22,R16
 0248 2197              sbiw R28,1
 024A AB84              ldd R10,y+11
 024C BC84              ldd R11,y+12
 024E                   .dbline -1
 024E                   .dbline 243
 024E           ;               for(j=0;j<16;j++){
 024E           ;                       lcd_print(x,y+j,*lcd_char++);
 024E           ;               }
 024E           ;               x++;
 024E           ;       }
 024E           ; }
 024E           ; /******************************************************************************/
 024E           ; void lcd_print816(uchar x,uchar y,const uchar *lcd_char)
 024E           ; {
 024E                   .dbline 245
 024E 4427              clr R20
 0250 13C0              xjmp L79
 0252           L76:
 0252                   .dbline 245
 0252           ;       uchar i,j;
 0252           ;       for(i=0;i<2;i++){
 0252                   .dbline 246
 0252 EE24              clr R14
 0254 0CC0              xjmp L83
 0256           L80:
 0256                   .dbline 246
 0256                   .dbline 247
 0256 1501              movw R2,R10
 0258 C101              movw R24,R2
 025A 0196              adiw R24,1
 025C 5C01              movw R10,R24
 025E F101              movw R30,R2
 0260 E491              lpm R30,Z
 0262 E883              std y+0,R30
 0264 2C2D              mov R18,R12
 0266 2E0D              add R18,R14
 0268 062F              mov R16,R22
 026A 8BDF              xcall _lcd_print
 026C                   .dbline 248
 026C           L81:
 026C                   .dbline 246
 026C E394              inc R14
 026E           L83:
 026E                   .dbline 246
 026E 8E2D              mov R24,R14
 0270 8830              cpi R24,8
 0272 88F3              brlo L80
 0274                   .dbline 249
 0274 6395              inc R22
 0276                   .dbline 250
 0276           L77:
 0276                   .dbline 245
 0276 4395              inc R20
 0278           L79:
 0278                   .dbline 245
 0278 4230              cpi R20,2
 027A 58F3              brlo L76
 027C                   .dbline -2
 027C           L75:
 027C 2196              adiw R28,1
 027E 0E940000          xcall pop_gset5
 0282                   .dbline 0 ; func end
 0282 0895              ret
 0284                   .dbsym r i 20 c
 0284                   .dbsym r j 14 c
 0284                   .dbsym r lcd_char 10 pkc
 0284                   .dbsym r y 12 c
 0284                   .dbsym r x 22 c
 0284                   .dbend
 0284                   .dbfunc e lcd_reverse816 _lcd_reverse816 fV
 0284           ;              i -> R20
 0284           ;              j -> R14
 0284           ;       lcd_char -> R10,R11
 0284           ;              y -> R12
 0284           ;              x -> R22
                        .even
 0284           _lcd_reverse816::
 0284 0E940000          xcall push_gset5
 0288 C22E              mov R12,R18
 028A 602F              mov R22,R16
 028C 2197              sbiw R28,1
 028E AB84              ldd R10,y+11
 0290 BC84              ldd R11,y+12
 0292                   .dbline -1
 0292                   .dbline 254
 0292           ;               for(j=0;j<8;j++){
 0292           ;                       lcd_print(x,y+j,*lcd_char++);
 0292           ;               }
 0292           ;               x++;
 0292           ;       }
 0292           ; }
 0292           ; /******************************************************************************/
 0292           ; void lcd_reverse816(uchar x,uchar y,const uchar *lcd_char)//显示8*16字符
 0292           ; {
 0292                   .dbline 256
 0292 4427              clr R20
 0294 14C0              xjmp L88
 0296           L85:
 0296                   .dbline 256
 0296           ;       uchar i,j;
 0296           ;       for(i=0;i<2;i++){
 0296                   .dbline 257
 0296 EE24              clr R14
 0298 0DC0              xjmp L92
 029A           L89:
 029A                   .dbline 257
 029A                   .dbline 258
 029A 1501              movw R2,R10
 029C C101              movw R24,R2
 029E 0196              adiw R24,1
 02A0 5C01              movw R10,R24
 02A2 F101              movw R30,R2
 02A4 E491              lpm R30,Z
 02A6 E095              com R30
 02A8 E883              std y+0,R30
 02AA 2C2D              mov R18,R12
 02AC 2E0D              add R18,R14
 02AE 062F              mov R16,R22
 02B0 68DF              xcall _lcd_print
 02B2                   .dbline 259
 02B2           L90:
 02B2                   .dbline 257
 02B2 E394              inc R14
 02B4           L92:
 02B4                   .dbline 257
 02B4 8E2D              mov R24,R14
 02B6 8830              cpi R24,8
 02B8 80F3              brlo L89
 02BA                   .dbline 260
 02BA 6395              inc R22
 02BC                   .dbline 261
 02BC           L86:
 02BC                   .dbline 256
 02BC 4395              inc R20
 02BE           L88:
 02BE                   .dbline 256
 02BE 4230              cpi R20,2
 02C0 50F3              brlo L85
 02C2                   .dbline -2
 02C2           L84:
 02C2 2196              adiw R28,1
 02C4 0E940000          xcall pop_gset5
 02C8                   .dbline 0 ; func end
 02C8 0895              ret
 02CA                   .dbsym r i 20 c
 02CA                   .dbsym r j 14 c
 02CA                   .dbsym r lcd_char 10 pkc
 02CA                   .dbsym r y 12 c
 02CA                   .dbsym r x 22 c
 02CA                   .dbend
 02CA                   .dbfunc e lcd_delay _lcd_delay fV
 02CA           ;              i -> R16
                        .even
 02CA           _lcd_delay::
 02CA                   .dbline -1
 02CA                   .dbline 265
 02CA           ;               for(j=0;j<8;j++){
 02CA           ;                       lcd_print(x,y+j,~*lcd_char++);
 02CA           ;               }
 02CA           ;               x++;
 02CA           ;       }
 02CA           ; }
 02CA           ; /******************************************************************************/
 02CA           ; void lcd_delay(void)
 02CA           ; {
 02CA                   .dbline 266
 02CA           ;   uchar i = DELAY_COUNT;
 02CA 02E3              ldi R16,50
 02CC           L94:
 02CC                   .dbline 267
 02CC           L95:
 02CC                   .dbline 267
 02CC           ;   while(i--);
 02CC 202E              mov R2,R16
 02CE 3324              clr R3
 02D0 0150              subi R16,1
 02D2 2220              tst R2
 02D4 D9F7              brne L94
 02D6                   .dbline -2
 02D6           L93:
 02D6                   .dbline 0 ; func end
 02D6 0895              ret
 02D8                   .dbsym r i 16 c
 02D8                   .dbend

⌨️ 快捷键说明

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