📄 lcd_driver.txt
字号:
00047c 2044 MOVS r0,#0x44
00047e f7fffffe BL LCD_WriteRegister
;;;370 LCD_WriteRegister(0x0045, 0x9f00); //垂直窗口起始大小(高8位VEA[结束地址],低8位VSA[起始地址])
000482 f44f411f MOV r1,#0x9f00
000486 2045 MOVS r0,#0x45
000488 f7fffffe BL LCD_WriteRegister
;;;371 LCD_WriteRegister(0x0021, 0x0000); //GRAM起始坐标点
00048c 2100 MOVS r1,#0
00048e 2021 MOVS r0,#0x21
000490 f7fffffe BL LCD_WriteRegister
;;;372
;;;373 LCD_WriteRegister(0x0030, 0x0103);
000494 f2401103 MOV r1,#0x103
000498 2030 MOVS r0,#0x30
00049a f7fffffe BL LCD_WriteRegister
;;;374 LCD_WriteRegister(0x0031, 0x0001);
00049e 2101 MOVS r1,#1
0004a0 2031 MOVS r0,#0x31
0004a2 f7fffffe BL LCD_WriteRegister
;;;375 LCD_WriteRegister(0x0032, 0x0304);
0004a6 f44f7141 MOV r1,#0x304
0004aa 2032 MOVS r0,#0x32
0004ac f7fffffe BL LCD_WriteRegister
;;;376 LCD_WriteRegister(0x0033, 0x0204);
0004b0 f44f7101 MOV r1,#0x204
0004b4 2033 MOVS r0,#0x33
0004b6 f7fffffe BL LCD_WriteRegister
;;;377 LCD_WriteRegister(0x0034, 0x0406);
0004ba f2404106 MOV r1,#0x406
0004be 2034 MOVS r0,#0x34
0004c0 f7fffffe BL LCD_WriteRegister
;;;378 LCD_WriteRegister(0x0035, 0x0707);
0004c4 f2407107 MOV r1,#0x707
0004c8 2035 MOVS r0,#0x35
0004ca f7fffffe BL LCD_WriteRegister
;;;379 LCD_WriteRegister(0x0036, 0x0407);
0004ce f2404107 MOV r1,#0x407
0004d2 2036 MOVS r0,#0x36
0004d4 f7fffffe BL LCD_WriteRegister
;;;380 LCD_WriteRegister(0x0037, 0x0303);
0004d8 f2403103 MOV r1,#0x303
0004dc 2037 MOVS r0,#0x37
0004de f7fffffe BL LCD_WriteRegister
;;;381 LCD_WriteRegister(0x0038, 0x0403);
0004e2 f2404103 MOV r1,#0x403
0004e6 2038 MOVS r0,#0x38
0004e8 f7fffffe BL LCD_WriteRegister
;;;382 LCD_WriteRegister(0x0039, 0x0102);
0004ec f44f7181 MOV r1,#0x102
0004f0 2039 MOVS r0,#0x39
0004f2 f7fffffe BL LCD_WriteRegister
;;;383 Delay_nMS(1);
0004f6 2001 MOVS r0,#1
0004f8 f7fffffe BL delay_ms
;;;384 //-----Display On-------------------
;;;385 LCD_WriteRegister(0x0002, 0x0600);
0004fc f44f61c0 MOV r1,#0x600
000500 2002 MOVS r0,#2
000502 f7fffffe BL LCD_WriteRegister
;;;386 LCD_WriteRegister(0x0007, 0x0015);
000506 2115 MOVS r1,#0x15
000508 2007 MOVS r0,#7
00050a f7fffffe BL LCD_WriteRegister
;;;387 Delay_nMS(1);
00050e 2001 MOVS r0,#1
000510 f7fffffe BL delay_ms
;;;388 LCD_WriteRegister(0x0007, 0x0055);
000514 2155 MOVS r1,#0x55
000516 2007 MOVS r0,#7
000518 f7fffffe BL LCD_WriteRegister
;;;389 Delay_nMS(1);
00051c 2001 MOVS r0,#1
00051e f7fffffe BL delay_ms
;;;390 LCD_WriteRegister(0x0002, 0x0700);
000522 f44f61e0 MOV r1,#0x700
000526 2002 MOVS r0,#2
000528 f7fffffe BL LCD_WriteRegister
;;;391 LCD_WriteRegister(0x0007, 0x0077);
00052c 2177 MOVS r1,#0x77
00052e 2007 MOVS r0,#7
000530 f7fffffe BL LCD_WriteRegister
;;;392
;;;393 break; //完成初始化
000534 e1b3 B |L1.2206|
|L1.1334|
;;;394 //ILI9320与ILI9328
;;;395 case 0x9325:
;;;396 case 0x9328:
000536 bf00 NOP
|L1.1336|
;;;397 case 0xD325:
000538 bf00 NOP
|L1.1338|
;;;398 LCD_WriteRegister(0x00e7,0x0010);
00053a 2110 MOVS r1,#0x10
00053c 20e7 MOVS r0,#0xe7
00053e f7fffffe BL LCD_WriteRegister
;;;399 LCD_WriteRegister(0x0000,0x0001);//开启内部时钟
000542 2101 MOVS r1,#1
000544 2000 MOVS r0,#0
000546 f7fffffe BL LCD_WriteRegister
;;;400 LCD_WriteRegister(0x0001,0x0100);
00054a f44f7180 MOV r1,#0x100
00054e 2001 MOVS r0,#1
000550 f7fffffe BL LCD_WriteRegister
;;;401 LCD_WriteRegister(0x0002,0x0700);//电源开启
000554 f44f61e0 MOV r1,#0x700
000558 2002 MOVS r0,#2
00055a f7fffffe BL LCD_WriteRegister
;;;402 //LCD_WriteRegister(0x0003,(1<<3)|(1<<4) ); //65K RGB
;;;403 //DRIVE TABLE(寄存器 03H)
;;;404 //BIT3=AM BIT4:5=ID0:1
;;;405 //AM ID0 ID1 FUNCATION
;;;406 // 0 0 0 R->L D->U
;;;407 // 1 0 0 D->U R->L
;;;408 // 0 1 0 L->R D->U
;;;409 // 1 1 0 D->U L->R
;;;410 // 0 0 1 R->L U->D
;;;411 // 1 0 1 U->D R->L
;;;412 // 0 1 1 L->R U->D 正常就用这个.
;;;413 // 1 1 1 U->D L->R
;;;414 #if LCD_CHAR_HORIZONTAL > 0
;;;415 //字符正放(竖屏),即X->240,CHAR_X->8
;;;416 LCD_WriteRegister(0x0003,0x1030);//65K ,8位模式下两次传输,16位模式下1次传输,BIT[7]OGR为0时系统坐标固定,(H->x:0-219,V->y:0-319)
;;;417 #else
;;;418 //字符顺时针旋转90度(横屏),即X->240,CHAR_X->16
;;;419 LCD_WriteRegister(0x0003,0x1038);
00055e f2410138 MOV r1,#0x1038
000562 2003 MOVS r0,#3
000564 f7fffffe BL LCD_WriteRegister
;;;420 #endif
;;;421 LCD_WriteRegister(0x0004,0x0000);
000568 2100 MOVS r1,#0
00056a 2004 MOVS r0,#4
00056c f7fffffe BL LCD_WriteRegister
;;;422 LCD_WriteRegister(0x0008,0x0207);
000570 f2402107 MOV r1,#0x207
000574 2008 MOVS r0,#8
000576 f7fffffe BL LCD_WriteRegister
;;;423 LCD_WriteRegister(0x0009,0x0000);
00057a 2100 MOVS r1,#0
00057c 2009 MOVS r0,#9
00057e f7fffffe BL LCD_WriteRegister
;;;424 LCD_WriteRegister(0x000a,0x0000);//display setting
000582 2100 MOVS r1,#0
000584 200a MOVS r0,#0xa
000586 f7fffffe BL LCD_WriteRegister
;;;425 LCD_WriteRegister(0x000c,0x0001);//display setting
00058a 2101 MOVS r1,#1
00058c 200c MOVS r0,#0xc
00058e f7fffffe BL LCD_WriteRegister
;;;426 LCD_WriteRegister(0x000d,0x0000);//0f3c
000592 2100 MOVS r1,#0
000594 200d MOVS r0,#0xd
000596 f7fffffe BL LCD_WriteRegister
;;;427 LCD_WriteRegister(0x000f,0x0000);
00059a 2100 MOVS r1,#0
00059c 200f MOVS r0,#0xf
00059e f7fffffe BL LCD_WriteRegister
;;;428 //电源配置
;;;429 LCD_WriteRegister(0x0010,0x0000);
0005a2 2100 MOVS r1,#0
0005a4 2010 MOVS r0,#0x10
0005a6 f7fffffe BL LCD_WriteRegister
;;;430 LCD_WriteRegister(0x0011,0x0007);
0005aa 2107 MOVS r1,#7
0005ac 2011 MOVS r0,#0x11
0005ae f7fffffe BL LCD_WriteRegister
;;;431 LCD_WriteRegister(0x0012,0x0000);
0005b2 2100 MOVS r1,#0
0005b4 2012 MOVS r0,#0x12
0005b6 f7fffffe BL LCD_WriteRegister
;;;432 LCD_WriteRegister(0x0013,0x0000);
0005ba 2100 MOVS r1,#0
0005bc 2013 MOVS r0,#0x13
0005be f7fffffe BL LCD_WriteRegister
;;;433 Delay_nMS(5);
0005c2 2005 MOVS r0,#5
0005c4 f7fffffe BL delay_ms
;;;434 LCD_WriteRegister(0x0010,0x1590);
0005c8 f2415190 MOV r1,#0x1590
0005cc 2010 MOVS r0,#0x10
0005ce f7fffffe BL LCD_WriteRegister
;;;435 LCD_WriteRegister(0x0011,0x0227);
0005d2 f2402127 MOV r1,#0x227
0005d6 2011 MOVS r0,#0x11
0005d8 f7fffffe BL LCD_WriteRegister
;;;436 Delay_nMS(5);
0005dc 2005 MOVS r0,#5
0005de f7fffffe BL delay_ms
;;;437 LCD_WriteRegister(0x0012,0x009c);
0005e2 219c MOVS r1,#0x9c
0005e4 2012 MOVS r0,#0x12
0005e6 f7fffffe BL LCD_WriteRegister
;;;438 Delay_nMS(5);
0005ea 2005 MOVS r0,#5
0005ec f7fffffe BL delay_ms
;;;439 LCD_WriteRegister(0x0013,0x1900);
0005f0 f44f51c8 MOV r1,#0x1900
0005f4 2013 MOVS r0,#0x13
0005f6 f7fffffe BL LCD_WriteRegister
;;;440 LCD_WriteRegister(0x0029,0x0023);
0005fa 2123 MOVS r1,#0x23
0005fc 2029 MOVS r0,#0x29
0005fe f7fffffe BL LCD_WriteRegister
;;;441 LCD_WriteRegister(0x002b,0x000e);
000602 210e MOVS r1,#0xe
000604 202b MOVS r0,#0x2b
000606 f7fffffe BL LCD_WriteRegister
;;;442 Delay_nMS(5);
00060a 2005 MOVS r0,#5
00060c f7fffffe BL delay_ms
;;;443 LCD_WriteRegister(0x0020,0x0000);
000610 2100 MOVS r1,#0
000612 2020 MOVS r0,#0x20
000614 f7fffffe BL LCD_WriteRegister
;;;444 LCD_WriteRegister(0x0021,0x013f);
000618 f240113f MOV r1,#0x13f
00061c 2021 MOVS r0,#0x21
00061e f7fffffe BL LCD_WriteRegister
;;;445 Delay_nMS(5);
000622 2005 MOVS r0,#5
000624 f7fffffe BL delay_ms
;;;446 //伽马校正
;;;447 LCD_WriteRegister(0x0030,0x0007);
000628 2107 MOVS r1,#7
00062a 2030 MOVS r0,#0x30
00062c f7fffffe BL LCD_WriteRegister
;;;448 LCD_WriteRegister(0x0031,0x0707);
000630 f2407107 MOV r1,#0x707
000634 2031 MOVS r0,#0x31
000636 f7fffffe BL LCD_WriteRegister
;;;449 LCD_WriteRegister(0x0032,0x0006);
00063a 2106 MOVS r1,#6
00063c 2032 MOVS r0,#0x32
00063e f7fffffe BL LCD_WriteRegister
;;;450 LCD_WriteRegister(0x0035,0x0704);
000642 f2407104 MOV r1,#0x704
000646 2035 MOVS r0,#0x35
000648 f7fffffe BL LCD_WriteRegister
;;;451 LCD_WriteRegister(0x0036,0x1f04);
00064c f6417104 MOV r1,#0x1f04
000650 2036 MOVS r0,#0x36
000652 f7fffffe BL LCD_WriteRegister
;;;452 LCD_WriteRegister(0x0037,0x0004);
000656 2104 MOVS r1,#4
000658 2037 MOVS r0,#0x37
00065a f7fffffe BL LCD_WriteRegister
;;;453 LCD_WriteRegister(0x0038,0x0000);
00065e 2100 MOVS r1,#0
000660 2038 MOVS r0,#0x38
000662 f7fffffe BL LCD_WriteRegister
;;;454 LCD_WriteRegister(0x0039,0x0706);
000666 f2407106 MOV r1,#0x706
00066a 2039 MOVS r0,#0x39
00066c f7fffffe BL LCD_WriteRegister
;;;455 LCD_WriteRegister(0x003c,0x0701);
000670 f2407101 MOV r1,#0x701
000674 203c MOVS r0,#0x3c
000676 f7fffffe BL LCD_WriteRegister
;;;456 LCD_WriteRegister(0x003d,0x000f);
00067a 210f MOVS r1,#0xf
00067c 203d MOVS r0,#0x3d
00067e f7fffffe BL LCD_WriteRegister
;;;457 Delay_nMS(5);
000682 2005 MOVS r0,#5
000684 f7fffffe BL delay_ms
;;;458 LCD_WriteRegister(0x0050,0x0000); //水平GRAM起始位置
000688 2100 MOVS r1,#0
00068a 2050 MOVS r0,#0x50
00068c f7fffffe BL LCD_WriteRegister
;;;459 LCD_WriteRegister(0x0051,0x00ef); //水平GRAM终止位置
000690 21ef MOVS r1,#0xef
000692 2051 MOVS r0,#0x51
000694 f7fffffe BL LCD_WriteRegister
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -