📄 3510i.lis
字号:
02E8 06E0 ldi R16,6
02EA D8DE xcall _LCD_SendData
02EC .dbline 336
02EC ; LCD_SendData(0x08);
02EC 08E0 ldi R16,8
02EE D6DE xcall _LCD_SendData
02F0 .dbline 338
02F0 ; //green
02F0 ; LCD_SendData(0x0f);
02F0 0FE0 ldi R16,15
02F2 D4DE xcall _LCD_SendData
02F4 .dbline 339
02F4 ; LCD_SendData(0x00);
02F4 0027 clr R16
02F6 D2DE xcall _LCD_SendData
02F8 .dbline 340
02F8 ; LCD_SendData(0x02);
02F8 02E0 ldi R16,2
02FA D0DE xcall _LCD_SendData
02FC .dbline 341
02FC ; LCD_SendData(0x03);
02FC 03E0 ldi R16,3
02FE CEDE xcall _LCD_SendData
0300 .dbline 342
0300 ; LCD_SendData(0x04);
0300 04E0 ldi R16,4
0302 CCDE xcall _LCD_SendData
0304 .dbline 343
0304 ; LCD_SendData(0x05);
0304 05E0 ldi R16,5
0306 CADE xcall _LCD_SendData
0308 .dbline 344
0308 ; LCD_SendData(0x06);
0308 06E0 ldi R16,6
030A C8DE xcall _LCD_SendData
030C .dbline 345
030C ; LCD_SendData(0x08);
030C 08E0 ldi R16,8
030E C6DE xcall _LCD_SendData
0310 .dbline 346
0310 ; LCD_SendData(0x0f);
0310 0FE0 ldi R16,15
0312 C4DE xcall _LCD_SendData
0314 .dbline 348
0314 ; //blue
0314 ; LCD_SendData(0x00);
0314 0027 clr R16
0316 C2DE xcall _LCD_SendData
0318 .dbline 349
0318 ; LCD_SendData(0x03);
0318 03E0 ldi R16,3
031A C0DE xcall _LCD_SendData
031C .dbline 350
031C ; LCD_SendData(0x06);
031C 06E0 ldi R16,6
031E BEDE xcall _LCD_SendData
0320 .dbline 351
0320 ; LCD_SendData(0x0f);
0320 0FE0 ldi R16,15
0322 BCDE xcall _LCD_SendData
0324 .dbline 352
0324 ; LCD_DataOver();
0324 C49A sbi 0x18,4
0326 .dbline 354
0326 ;
0326 ; LCD_SendCommand(0x25); //write contrast
0326 05E2 ldi R16,37
0328 7BDE xcall _LCD_SendCommand
032A .dbline 355
032A ; LCD_SendData(71);
032A 07E4 ldi R16,71
032C B7DE xcall _LCD_SendData
032E .dbline 356
032E ; LCD_DataOver();
032E C49A sbi 0x18,4
0330 .dbline 358
0330 ;
0330 ; LCD_BGColor = 0x00;
0330 2224 clr R2
0332 20920100 sts _LCD_BGColor,R2
0336 .dbline 359
0336 ; LCD_PenColor = 0xff;
0336 8FEF ldi R24,255
0338 80930000 sts _LCD_PenColor,R24
033C .dbline -2
033C L59:
033C 0E940000 xcall pop_gset3x
0340 .dbline 0 ; func end
0340 0895 ret
0342 .dbsym r i 10 c
0342 .dbend
0342 .dbfunc e LCD_ClearScreen _LCD_ClearScreen fV
0342 ; y -> R10
0342 ; x -> R12
.even
0342 _LCD_ClearScreen::
0342 0E940000 xcall push_gset4x
0346 .dbline -1
0346 .dbline 363
0346 ; }
0346 ;
0346 ; void LCD_ClearScreen(void)
0346 ; {
0346 .dbline 365
0346 ; uchar x, y;
0346 ; LCD_SendCommand(0x2a); //column address set
0346 0AE2 ldi R16,42
0348 6BDE xcall _LCD_SendCommand
034A .dbline 366
034A ; LCD_SendData(0);
034A 0027 clr R16
034C A7DE xcall _LCD_SendData
034E .dbline 367
034E ; LCD_SendData(97);
034E 01E6 ldi R16,97
0350 A5DE xcall _LCD_SendData
0352 .dbline 368
0352 ; LCD_DataOver();
0352 C49A sbi 0x18,4
0354 .dbline 370
0354 ;
0354 ; LCD_SendCommand(0x2b); //page address set
0354 0BE2 ldi R16,43
0356 64DE xcall _LCD_SendCommand
0358 .dbline 371
0358 ; LCD_SendData(0);
0358 0027 clr R16
035A A0DE xcall _LCD_SendData
035C .dbline 372
035C ; LCD_SendData(66);
035C 02E4 ldi R16,66
035E 9EDE xcall _LCD_SendData
0360 .dbline 373
0360 ; LCD_DataOver();
0360 C49A sbi 0x18,4
0362 .dbline 375
0362 ;
0362 ; LCD_SendCommand(0x2c); //memory write
0362 0CE2 ldi R16,44
0364 5DDE xcall _LCD_SendCommand
0366 .dbline 376
0366 ; for(y = 0; y < 67; y ++)
0366 AA24 clr R10
0368 0AC0 xjmp L68
036A L65:
036A .dbline 377
036A ; for(x = 0; x < 98; x ++)
036A CC24 clr R12
036C 04C0 xjmp L72
036E L69:
036E .dbline 378
036E 00910100 lds R16,_LCD_BGColor
0372 94DE xcall _LCD_SendData
0374 L70:
0374 .dbline 377
0374 C394 inc R12
0376 L72:
0376 .dbline 377
0376 8C2D mov R24,R12
0378 8236 cpi R24,98
037A C8F3 brlo L69
037C L66:
037C .dbline 376
037C A394 inc R10
037E L68:
037E .dbline 376
037E 8A2D mov R24,R10
0380 8334 cpi R24,67
0382 98F3 brlo L65
0384 .dbline 379
0384 ; LCD_SendData(LCD_BGColor);
0384 ; LCD_DataOver();
0384 C49A sbi 0x18,4
0386 .dbline -2
0386 L64:
0386 0E940000 xcall pop_gset4x
038A .dbline 0 ; func end
038A 0895 ret
038C .dbsym r y 10 c
038C .dbsym r x 12 c
038C .dbend
038C .dbfunc e LCD_ReadPixel _LCD_ReadPixel fV
038C ; y -> R10
038C ; x -> R14
038C ; b -> R12,R13
038C ; y2 -> y+12
038C ; x2 -> y+10
038C ; y1 -> R14
038C ; x1 -> y+6
.even
038C _LCD_ReadPixel::
038C 0E940000 xcall push_arg4
0390 0E940000 xcall push_gset5x
0394 E22E mov R14,R18
0396 CE84 ldd R12,y+14
0398 DF84 ldd R13,y+15
039A .dbline -1
039A .dbline 383
039A ; }
039A ;
039A ; void LCD_ReadPixel(uchar x1, uchar y1, uchar x2, uchar y2, uchar *b)
039A ; {
039A .dbline 385
039A ; uchar x, y;
039A ; LCD_SendCommand(0x2a); //column address set
039A 0AE2 ldi R16,42
039C 41DE xcall _LCD_SendCommand
039E .dbline 386
039E ; LCD_SendData(x1);
039E 0E81 ldd R16,y+6
03A0 7DDE xcall _LCD_SendData
03A2 .dbline 387
03A2 ; LCD_SendData(x2);
03A2 0A85 ldd R16,y+10
03A4 7BDE xcall _LCD_SendData
03A6 .dbline 388
03A6 ; LCD_DataOver();
03A6 C49A sbi 0x18,4
03A8 .dbline 390
03A8 ;
03A8 ; LCD_SendCommand(0x2b); //page address set
03A8 0BE2 ldi R16,43
03AA 3ADE xcall _LCD_SendCommand
03AC .dbline 391
03AC ; LCD_SendData(y1);
03AC 0E2D mov R16,R14
03AE 76DE xcall _LCD_SendData
03B0 .dbline 392
03B0 ; LCD_SendData(y2);
03B0 0C85 ldd R16,y+12
03B2 74DE xcall _LCD_SendData
03B4 .dbline 393
03B4 ; LCD_DataOver();
03B4 C49A sbi 0x18,4
03B6 .dbline 395
03B6 ;
03B6 ; LCD_SendCommand(0x2e); //RAM data read
03B6 0EE2 ldi R16,46
03B8 33DE xcall _LCD_SendCommand
03BA .dbline 397
03BA ;
03BA ; for(y = y1; y <= y2; y ++)
03BA AE2C mov R10,R14
03BC 0CC0 xjmp L77
03BE L74:
03BE .dbline 398
03BE ; for(x = x1; x <= x2; x ++)
03BE EE80 ldd R14,y+6
03C0 06C0 xjmp L81
03C2 L78:
03C2 .dbline 399
03C2 .dbline 400
03C2 AADE xcall _LCD_ReadDummy
03C4 .dbline 401
03C4 AFDE xcall _LCD_ReadData
03C6 F601 movw R30,R12
03C8 0193 st Z+,R16
03CA 6F01 movw R12,R30
03CC .dbline 402
03CC L79:
03CC .dbline 398
03CC E394 inc R14
03CE L81:
03CE .dbline 398
03CE 0A84 ldd R0,y+10
03D0 0E14 cp R0,R14
03D2 B8F7 brsh L78
03D4 L75:
03D4 .dbline 397
03D4 A394 inc R10
03D6 L77:
03D6 .dbline 397
03D6 0C84 ldd R0,y+12
03D8 0A14 cp R0,R10
03DA 88F7 brsh L74
03DC .dbline 403
03DC ; {
03DC ; LCD_ReadDummy();
03DC ; *(b ++) = LCD_ReadData();
03DC ; }
03DC ; LCD_DataOver();
03DC C49A sbi 0x18,4
03DE .dbline 405
03DE ;
03DE ; LCD_SendCommand(0x00); //NOP
03DE 0027 clr R16
03E0 1FDE xcall _LCD_SendCommand
03E2 .dbline 406
03E2 ; LCD_SendData(0x00);
03E2 0027 clr R16
03E4 5BDE xcall _LCD_SendData
03E6 .dbline 407
03E6 ; LCD_DataOver();
03E6 C49A sbi 0x18,4
03E8 .dbline -2
03E8 L73:
03E8 0E940000 xcall pop_gset5x
03EC 2496 adiw R28,4
03EE .dbline 0 ; func end
03EE 0895 ret
03F0 .dbsym r y 10 c
03F0 .dbsym r x 14 c
03F0 .dbsym r b 12 pc
03F0 .dbsym l y2 12 c
03F0 .dbsym l x2 10 c
03F0 .dbsym r y1 14 c
03F0 .dbsym l x1 6 c
03F0 .dbend
03F0 .dbfunc e LCD_WritePixel _LCD_WritePixel fV
03F0 ; y -> R10
03F0 ; x -> R14
03F0 ; y2 -> R12
03F0 ; x2 -> y+12
03F0 ; y1 -> y+10
03F0 ; x1 -> y+8
03F0 ; b -> y+6
.even
03F0 _LCD_WritePixel::
03F0 0E940000 xcall push_arg4
03F4 0E940000 xcall push_gset5x
03F8 CE84 ldd R12,y+14
03FA .dbline -1
03FA .dbline 411
03FA ; }
03FA ;
03FA ; void LCD_WritePixel(const unsigned char *b, uchar x1, uchar y1, uchar x2, uchar y2)
03FA ; {
03FA .dbline 413
03FA ; uchar x, y;
03FA ; LCD_SendCommand(0x2a); //column address set
03FA 0AE2 ldi R16,42
03FC 11DE xcall _LCD_SendCommand
03FE .dbline 414
03FE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -