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

📄 3510i.lis

📁 3510 TFT彩屏的测试程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 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 + -