📄 lcd_driver.txt
字号:
;;;460 LCD_WriteRegister(0x0052,0x0000); //垂直GRAM起始位置
000698 2100 MOVS r1,#0
00069a 2052 MOVS r0,#0x52
00069c f7fffffe BL LCD_WriteRegister
;;;461 LCD_WriteRegister(0x0053,0x013f); //垂直GRAM终止位置
0006a0 f240113f MOV r1,#0x13f
0006a4 2053 MOVS r0,#0x53
0006a6 f7fffffe BL LCD_WriteRegister
;;;462
;;;463 LCD_WriteRegister(0x0060,0xa700);
0006aa f44f4127 MOV r1,#0xa700
0006ae 2060 MOVS r0,#0x60
0006b0 f7fffffe BL LCD_WriteRegister
;;;464 LCD_WriteRegister(0x0061,0x0001);
0006b4 2101 MOVS r1,#1
0006b6 2061 MOVS r0,#0x61
0006b8 f7fffffe BL LCD_WriteRegister
;;;465 LCD_WriteRegister(0x006a,0x0000);
0006bc 2100 MOVS r1,#0
0006be 206a MOVS r0,#0x6a
0006c0 f7fffffe BL LCD_WriteRegister
;;;466 LCD_WriteRegister(0x0080,0x0000);
0006c4 2100 MOVS r1,#0
0006c6 2080 MOVS r0,#0x80
0006c8 f7fffffe BL LCD_WriteRegister
;;;467 LCD_WriteRegister(0x0081,0x0000);
0006cc 2100 MOVS r1,#0
0006ce 2081 MOVS r0,#0x81
0006d0 f7fffffe BL LCD_WriteRegister
;;;468 LCD_WriteRegister(0x0082,0x0000);
0006d4 2100 MOVS r1,#0
0006d6 2082 MOVS r0,#0x82
0006d8 f7fffffe BL LCD_WriteRegister
;;;469 LCD_WriteRegister(0x0083,0x0000);
0006dc 2100 MOVS r1,#0
0006de 2083 MOVS r0,#0x83
0006e0 f7fffffe BL LCD_WriteRegister
;;;470 LCD_WriteRegister(0x0084,0x0000);
0006e4 2100 MOVS r1,#0
0006e6 2084 MOVS r0,#0x84
0006e8 f7fffffe BL LCD_WriteRegister
;;;471 LCD_WriteRegister(0x0085,0x0000);
0006ec 2100 MOVS r1,#0
0006ee 2085 MOVS r0,#0x85
0006f0 f7fffffe BL LCD_WriteRegister
;;;472
;;;473 LCD_WriteRegister(0x0090,0x0010);
0006f4 2110 MOVS r1,#0x10
0006f6 2090 MOVS r0,#0x90
0006f8 f7fffffe BL LCD_WriteRegister
;;;474 LCD_WriteRegister(0x0092,0x0000);
0006fc 2100 MOVS r1,#0
0006fe 2092 MOVS r0,#0x92
000700 f7fffffe BL LCD_WriteRegister
;;;475 LCD_WriteRegister(0x0093,0x0003);
000704 2103 MOVS r1,#3
000706 2093 MOVS r0,#0x93
000708 f7fffffe BL LCD_WriteRegister
;;;476 LCD_WriteRegister(0x0095,0x0110);
00070c f44f7188 MOV r1,#0x110
000710 2095 MOVS r0,#0x95
000712 f7fffffe BL LCD_WriteRegister
;;;477 LCD_WriteRegister(0x0097,0x0000);
000716 2100 MOVS r1,#0
000718 2097 MOVS r0,#0x97
00071a f7fffffe BL LCD_WriteRegister
;;;478 LCD_WriteRegister(0x0098,0x0000);
00071e 2100 MOVS r1,#0
000720 2098 MOVS r0,#0x98
000722 f7fffffe BL LCD_WriteRegister
;;;479 //开启显示设置
;;;480 LCD_WriteRegister(0x0007,0x0133);
000726 f2401133 MOV r1,#0x133
00072a 2007 MOVS r0,#7
00072c f7fffffe BL LCD_WriteRegister
;;;481 LCD_WriteRegister(0x0020,0x0000);
000730 2100 MOVS r1,#0
000732 2020 MOVS r0,#0x20
000734 f7fffffe BL LCD_WriteRegister
;;;482 LCD_WriteRegister(0x0021,0x013f);
000738 f240113f MOV r1,#0x13f
00073c 2021 MOVS r0,#0x21
00073e f7fffffe BL LCD_WriteRegister
;;;483 break;
000742 e0ac B |L1.2206|
|L1.1860|
;;;484 //ILI9320与ILI9300
;;;485 case 0x9320:
;;;486 case 0x9300:
000744 bf00 NOP
|L1.1862|
;;;487 LCD_WriteRegister(0x00,0x0000);
000746 2100 MOVS r1,#0
000748 4608 MOV r0,r1
00074a f7fffffe BL LCD_WriteRegister
;;;488 LCD_WriteRegister(0x01,0x0100); //Driver Output Contral.
00074e f44f7180 MOV r1,#0x100
000752 2001 MOVS r0,#1
000754 f7fffffe BL LCD_WriteRegister
;;;489 LCD_WriteRegister(0x02,0x0700); //LCD Driver Waveform Contral.
000758 f44f61e0 MOV r1,#0x700
00075c 2002 MOVS r0,#2
00075e f7fffffe BL LCD_WriteRegister
;;;490 #if LCD_CHAR_HORIZONTAL > 0
;;;491 //字符正放(竖屏),即X->240,CHAR_X->8
;;;492 LCD_WriteRegister(0x0003,0x1030);//65K ,8位模式下两次传输,16位模式下1次传输,BIT[7]OGR为0时系统坐标固定,(H->x:0-219,V->y:0-319)
;;;493 #else
;;;494 //字符顺时针旋转90度(横屏),即X->240,CHAR_X->16
;;;495 LCD_WriteRegister(0x0003,0x1038);
000762 f2410138 MOV r1,#0x1038
000766 2003 MOVS r0,#3
000768 f7fffffe BL LCD_WriteRegister
;;;496 #endif
;;;497 LCD_WriteRegister(0x04,0x0000); //Scalling Contral.
00076c 2100 MOVS r1,#0
00076e 2004 MOVS r0,#4
000770 f7fffffe BL LCD_WriteRegister
;;;498 LCD_WriteRegister(0x08,0x0202); //Display Contral 2.(0x0207)
000774 f2402102 MOV r1,#0x202
000778 2008 MOVS r0,#8
00077a f7fffffe BL LCD_WriteRegister
;;;499 LCD_WriteRegister(0x09,0x0000); //Display Contral 3.(0x0000)
00077e 2100 MOVS r1,#0
000780 2009 MOVS r0,#9
000782 f7fffffe BL LCD_WriteRegister
;;;500 LCD_WriteRegister(0x0a,0x0000); //Frame Cycle Contal.(0x0000)
000786 2100 MOVS r1,#0
000788 200a MOVS r0,#0xa
00078a f7fffffe BL LCD_WriteRegister
;;;501 LCD_WriteRegister(0x0c,(1<<0)); //Extern Display Interface Contral 1.(0x0000)
00078e 2101 MOVS r1,#1
000790 200c MOVS r0,#0xc
000792 f7fffffe BL LCD_WriteRegister
;;;502 LCD_WriteRegister(0x0d,0x0000); //Frame Maker Position.
000796 2100 MOVS r1,#0
000798 200d MOVS r0,#0xd
00079a f7fffffe BL LCD_WriteRegister
;;;503 LCD_WriteRegister(0x0f,0x0000); //Extern Display Interface Contral 2.
00079e 2100 MOVS r1,#0
0007a0 200f MOVS r0,#0xf
0007a2 f7fffffe BL LCD_WriteRegister
;;;504 Delay_nMS(5);
0007a6 2005 MOVS r0,#5
0007a8 f7fffffe BL delay_ms
;;;505 LCD_WriteRegister(0x07,0x0101); //Display Contral.
0007ac f2401101 MOV r1,#0x101
0007b0 2007 MOVS r0,#7
0007b2 f7fffffe BL LCD_WriteRegister
;;;506 Delay_nMS(5);
0007b6 2005 MOVS r0,#5
0007b8 f7fffffe BL delay_ms
;;;507 LCD_WriteRegister(0x10,(1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4)); //Power Control 1.(0x16b0)
0007bc f44f5186 MOV r1,#0x10c0
0007c0 2010 MOVS r0,#0x10
0007c2 f7fffffe BL LCD_WriteRegister
;;;508 LCD_WriteRegister(0x11,0x0007); //Power Control 2.(0x0001)
0007c6 2107 MOVS r1,#7
0007c8 2011 MOVS r0,#0x11
0007ca f7fffffe BL LCD_WriteRegister
;;;509 LCD_WriteRegister(0x12,(1<<8)|(1<<4)|(0<<0)); //Power Control 3.(0x0138)
0007ce f44f7188 MOV r1,#0x110
0007d2 2012 MOVS r0,#0x12
0007d4 f7fffffe BL LCD_WriteRegister
;;;510 LCD_WriteRegister(0x13,0x0b00); //Power Control 4.
0007d8 f44f6130 MOV r1,#0xb00
0007dc 2013 MOVS r0,#0x13
0007de f7fffffe BL LCD_WriteRegister
;;;511 LCD_WriteRegister(0x29,0x0000); //Power Control 7.
0007e2 2100 MOVS r1,#0
0007e4 2029 MOVS r0,#0x29
0007e6 f7fffffe BL LCD_WriteRegister
;;;512
;;;513 LCD_WriteRegister(0x2b,(1<<14)|(1<<4));
0007ea f2440110 MOV r1,#0x4010
0007ee 202b MOVS r0,#0x2b
0007f0 f7fffffe BL LCD_WriteRegister
;;;514 LCD_WriteRegister(0x50,0); //Set X Star
0007f4 2100 MOVS r1,#0
0007f6 2050 MOVS r0,#0x50
0007f8 f7fffffe BL LCD_WriteRegister
;;;515 //水平GRAM终止位置Set X End.
;;;516 LCD_WriteRegister(0x51,239); //Set Y Star
0007fc 21ef MOVS r1,#0xef
0007fe 2051 MOVS r0,#0x51
000800 f7fffffe BL LCD_WriteRegister
;;;517 LCD_WriteRegister(0x52,0); //Set Y End.t.
000804 2100 MOVS r1,#0
000806 2052 MOVS r0,#0x52
000808 f7fffffe BL LCD_WriteRegister
;;;518 LCD_WriteRegister(0x53,319); //
00080c f240113f MOV r1,#0x13f
000810 2053 MOVS r0,#0x53
000812 f7fffffe BL LCD_WriteRegister
;;;519
;;;520 LCD_WriteRegister(0x60,0x2700); //Driver Output Control.
000816 f44f511c MOV r1,#0x2700
00081a 2060 MOVS r0,#0x60
00081c f7fffffe BL LCD_WriteRegister
;;;521 LCD_WriteRegister(0x61,0x0001); //Driver Output Control.
000820 2101 MOVS r1,#1
000822 2061 MOVS r0,#0x61
000824 f7fffffe BL LCD_WriteRegister
;;;522 LCD_WriteRegister(0x6a,0x0000); //Vertical Srcoll Control.
000828 2100 MOVS r1,#0
00082a 206a MOVS r0,#0x6a
00082c f7fffffe BL LCD_WriteRegister
;;;523
;;;524 LCD_WriteRegister(0x80,0x0000); //Display Position? Partial Display 1.
000830 2100 MOVS r1,#0
000832 2080 MOVS r0,#0x80
000834 f7fffffe BL LCD_WriteRegister
;;;525 LCD_WriteRegister(0x81,0x0000); //RAM Address Start? Partial Display 1.
000838 2100 MOVS r1,#0
00083a 2081 MOVS r0,#0x81
00083c f7fffffe BL LCD_WriteRegister
;;;526 LCD_WriteRegister(0x82,0x0000); //RAM Address End-Partial Display 1.
000840 2100 MOVS r1,#0
000842 2082 MOVS r0,#0x82
000844 f7fffffe BL LCD_WriteRegister
;;;527 LCD_WriteRegister(0x83,0x0000); //Displsy Position? Partial Display 2.
000848 2100 MOVS r1,#0
00084a 2083 MOVS r0,#0x83
00084c f7fffffe BL LCD_WriteRegister
;;;528 LCD_WriteRegister(0x84,0x0000); //RAM Address Start? Partial Display 2.
000850 2100 MOVS r1,#0
000852 2084 MOVS r0,#0x84
000854 f7fffffe BL LCD_WriteRegister
;;;529 LCD_WriteRegister(0x85,0x0000); //RAM Address End? Partial Display 2.
000858 2100 MOVS r1,#0
00085a 2085 MOVS r0,#0x85
00085c f7fffffe BL LCD_WriteRegister
;;;530
;;;531 LCD_WriteRegister(0x90,(0<<7)|(16<<0)); //Frame Cycle Contral.(0x0013)
000860 2110 MOVS r1,#0x10
000862 2090 MOVS r0,#0x90
000864 f7fffffe BL LCD_WriteRegister
;;;532 LCD_WriteRegister(0x92,0x0000); //Panel Interface Contral 2.(0x0000)
000868 2100 MOVS r1,#0
00086a 2092 MOVS r0,#0x92
00086c f7fffffe BL LCD_WriteRegister
;;;533 LCD_WriteRegister(0x93,0x0001); //Panel Interface Contral 3.
000870 2101 MOVS r1,#1
000872 2093 MOVS r0,#0x93
000874 f7fffffe BL LCD_WriteRegister
;;;534 LCD_WriteRegister(0x95,0x0110); //Frame Cycle Contral.(0x0110)
000878 f44f7188 MOV r1,#0x110
00087c 2095 MOVS r0,#0x95
00087e f7fffffe BL LCD_WriteRegister
;;;535 LCD_WriteRegister(0x97,(0<<8)); //
000882 2100 MOVS r1,#0
000884 2097 MOVS r0,#0x97
000886 f7fffffe BL LCD_WriteRegister
;;;536 LCD_WriteRegister(0x98,0x0000); //Frame Cycle Contral.
00088a 2100 MOVS r1,#0
00088c 2098 MOVS r0,#0x98
00088e f7fffffe BL LCD_WriteRegister
;;;537 LCD_WriteRegister(0x07,0x0173); //(0x0173)
000892 f2401173 MOV r1,#0x173
000896 2007 MOVS r0,#7
000898 f7fffffe BL LCD_WriteRegister
;;;538 break;
00089c bf00 NOP
|L1.2206|
00089e bf00 NOP ;393
;;;539 }
;;;540
;;;541 }
0008a0 bd10 POP {r4,pc}
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -