📄 lcd.txt
字号:
;;;90 Delay(5); /* Delay 50 ms */
0000e4 2005 MOVS r0,#5
0000e6 f7fffffe BL Delay
0000ea 2020 MOVS r0,#0x20
0000ec 8020 STRH r0,[r4,#0]
0000ee 8065 STRH r5,[r4,#2]
0000f0 2021 MOVS r0,#0x21
0000f2 8020 STRH r0,[r4,#0]
0000f4 8065 STRH r5,[r4,#2]
0000f6 2030 MOVS r0,#0x30
0000f8 8020 STRH r0,[r4,#0]
0000fa 2006 MOVS r0,#6
0000fc 8060 STRH r0,[r4,#2]
0000fe 2031 MOVS r0,#0x31
000100 8020 STRH r0,[r4,#0]
000102 f2401001 MOV r0,#0x101
000106 8060 STRH r0,[r4,#2]
000108 2032 MOVS r0,#0x32
00010a 8020 STRH r0,[r4,#0]
00010c 8067 STRH r7,[r4,#2]
00010e 2035 MOVS r0,#0x35
000110 8020 STRH r0,[r4,#0]
000112 f44f7083 MOV r0,#0x106
000116 8060 STRH r0,[r4,#2]
000118 2036 MOVS r0,#0x36
00011a 8020 STRH r0,[r4,#0]
00011c f6403002 MOV r0,#0xb02
000120 8060 STRH r0,[r4,#2]
000122 2037 MOVS r0,#0x37
000124 8020 STRH r0,[r4,#0]
000126 f2403002 MOV r0,#0x302
00012a 8060 STRH r0,[r4,#2]
00012c 2038 MOVS r0,#0x38
00012e 8020 STRH r0,[r4,#0]
000130 f2407007 MOV r0,#0x707
000134 8060 STRH r0,[r4,#2]
000136 2039 MOVS r0,#0x39
000138 8020 STRH r0,[r4,#0]
00013a 2007 MOVS r0,#7
00013c 8060 STRH r0,[r4,#2]
00013e 213c MOVS r1,#0x3c
000140 8021 STRH r1,[r4,#0]
000142 0279 LSLS r1,r7,#9
000144 8061 STRH r1,[r4,#2]
000146 213d MOVS r1,#0x3d
000148 8021 STRH r1,[r4,#0]
00014a f240210b MOV r1,#0x20b
00014e 8061 STRH r1,[r4,#2]
000150 2150 MOVS r1,#0x50
000152 8021 STRH r1,[r4,#0]
000154 8065 STRH r5,[r4,#2]
000156 2151 MOVS r1,#0x51
000158 8021 STRH r1,[r4,#0]
00015a f8a4a002 STRH r10,[r4,#2]
00015e 2152 MOVS r1,#0x52
000160 8021 STRH r1,[r4,#0]
000162 8065 STRH r5,[r4,#2]
000164 2153 MOVS r1,#0x53
000166 8021 STRH r1,[r4,#0]
000168 f240113f MOV r1,#0x13f
00016c 8061 STRH r1,[r4,#2]
00016e 2160 MOVS r1,#0x60
000170 8021 STRH r1,[r4,#0]
000172 f44f4127 MOV r1,#0xa700
000176 8061 STRH r1,[r4,#2]
000178 2161 MOVS r1,#0x61
00017a 8021 STRH r1,[r4,#0]
00017c 2101 MOVS r1,#1
00017e 8061 STRH r1,[r4,#2]
000180 216a MOVS r1,#0x6a
000182 8021 STRH r1,[r4,#0]
000184 8065 STRH r5,[r4,#2]
000186 2180 MOVS r1,#0x80
000188 8021 STRH r1,[r4,#0]
00018a 8065 STRH r5,[r4,#2]
00018c 2181 MOVS r1,#0x81
00018e 8021 STRH r1,[r4,#0]
000190 8065 STRH r5,[r4,#2]
000192 2182 MOVS r1,#0x82
000194 8021 STRH r1,[r4,#0]
000196 8065 STRH r5,[r4,#2]
000198 2183 MOVS r1,#0x83
00019a 8021 STRH r1,[r4,#0]
00019c 8065 STRH r5,[r4,#2]
00019e 2184 MOVS r1,#0x84
0001a0 8021 STRH r1,[r4,#0]
0001a2 8065 STRH r5,[r4,#2]
0001a4 2185 MOVS r1,#0x85
0001a6 8021 STRH r1,[r4,#0]
0001a8 8065 STRH r5,[r4,#2]
0001aa 2190 MOVS r1,#0x90
0001ac 8021 STRH r1,[r4,#0]
0001ae f8a48002 STRH r8,[r4,#2]
0001b2 2192 MOVS r1,#0x92
0001b4 8021 STRH r1,[r4,#0]
0001b6 8065 STRH r5,[r4,#2]
0001b8 2193 MOVS r1,#0x93
0001ba 8021 STRH r1,[r4,#0]
0001bc 8067 STRH r7,[r4,#2]
0001be 2195 MOVS r1,#0x95
0001c0 8021 STRH r1,[r4,#0]
0001c2 f44f7188 MOV r1,#0x110
0001c6 8061 STRH r1,[r4,#2]
0001c8 2197 MOVS r1,#0x97
0001ca 8021 STRH r1,[r4,#0]
0001cc 8065 STRH r5,[r4,#2]
0001ce 2198 MOVS r1,#0x98
0001d0 8021 STRH r1,[r4,#0]
0001d2 8065 STRH r5,[r4,#2]
0001d4 8027 STRH r7,[r4,#0]
0001d6 f2410118 MOV r1,#0x1018
0001da 8061 STRH r1,[r4,#2]
0001dc 8020 STRH r0,[r4,#0]
0001de f2401073 MOV r0,#0x173
0001e2 8060 STRH r0,[r4,#2]
;;;91 LCD_WriteReg(R32, 0x0000); /* GRAM horizontal Address */
;;;92 LCD_WriteReg(R33, 0x0000); /* GRAM Vertical Address */
;;;93
;;;94 /* Adjust the Gamma Curve ----------------------------------------------------*/
;;;95 LCD_WriteReg(R48, 0x0006);
;;;96 LCD_WriteReg(R49, 0x0101);
;;;97 LCD_WriteReg(R50, 0x0003);
;;;98 LCD_WriteReg(R53, 0x0106);
;;;99 LCD_WriteReg(R54, 0x0b02);
;;;100 LCD_WriteReg(R55, 0x0302);
;;;101 LCD_WriteReg(R56, 0x0707);
;;;102 LCD_WriteReg(R57, 0x0007);
;;;103 LCD_WriteReg(R60, 0x0600);
;;;104 LCD_WriteReg(R61, 0x020b);
;;;105
;;;106 /* Set GRAM area -------------------------------------------------------------*/
;;;107 LCD_WriteReg(R80, 0x0000); /* Horizontal GRAM Start Address */
;;;108 LCD_WriteReg(R81, 0x00EF); /* Horizontal GRAM End Address */
;;;109 LCD_WriteReg(R82, 0x0000); /* Vertical GRAM Start Address */
;;;110 LCD_WriteReg(R83, 0x013F); /* Vertical GRAM End Address */
;;;111
;;;112 //LCD_WriteReg(R96, 0x2700); /* Gate Scan Line */
;;;113 LCD_WriteReg(R96, 0xA700); /* Gate Scan Line */
;;;114 LCD_WriteReg(R97, 0x0001); /* NDL,VLE, REV */
;;;115 LCD_WriteReg(R106, 0x0000); /* set scrolling line */
;;;116
;;;117 /* Partial Display Control ---------------------------------------------------*/
;;;118 LCD_WriteReg(R128, 0x0000);
;;;119 LCD_WriteReg(R129, 0x0000);
;;;120 LCD_WriteReg(R130, 0x0000);
;;;121 LCD_WriteReg(R131, 0x0000);
;;;122 LCD_WriteReg(R132, 0x0000);
;;;123 LCD_WriteReg(R133, 0x0000);
;;;124
;;;125 /* Panel Control -------------------------------------------------------------*/
;;;126 LCD_WriteReg(R144, 0x0010);
;;;127 LCD_WriteReg(R146, 0x0000);
;;;128 LCD_WriteReg(R147, 0x0003);
;;;129 LCD_WriteReg(R149, 0x0110);
;;;130 LCD_WriteReg(R151, 0x0000);
;;;131 LCD_WriteReg(R152, 0x0000);
;;;132
;;;133 /* Set GRAM write direction and BGR = 1 */
;;;134 /* I/D=01 (Horizontal : increment, Vertical : decrement) */
;;;135 /* AM=1 (address is updated in vertical writing direction) */
;;;136 LCD_WriteReg(R3, 0x1018);
;;;137
;;;138 LCD_WriteReg(R7, 0x0173); /* 262K color and display ON */
;;;139 }
0001e4 e8bd9ff0 POP {r4-r12,pc}
;;;140
ENDP
AREA ||i.LCD_SetTextColor||, CODE, READONLY, ALIGN=2
LCD_SetTextColor PROC
;;;150 {
;;;151 TextColor = Color;
000000 4901 LDR r1,|L5.8|
000002 8008 STRH r0,[r1,#0] ; TextColor
;;;152 }
000004 4770 BX lr
;;;153
ENDP
000006 0000 DCW 0x0000
|L5.8|
000008 00000000 DCD ||.data||
AREA ||i.LCD_SetBackColor||, CODE, READONLY, ALIGN=2
LCD_SetBackColor PROC
;;;163 {
;;;164 BackColor = Color;
000000 4901 LDR r1,|L6.8|
000002 8048 STRH r0,[r1,#2] ; BackColor
;;;165 }
000004 4770 BX lr
;;;166
ENDP
000006 0000 DCW 0x0000
|L6.8|
000008 00000000 DCD ||.data||
AREA ||i.LCD_SetCursor||, CODE, READONLY, ALIGN=1
LCD_SetCursor PROC
000000 2320 MOVS r3,#0x20
000002 f04f42d8 MOV r2,#0x6c000000
000006 8013 STRH r3,[r2,#0]
000008 8050 STRH r0,[r2,#2]
00000a 2021 MOVS r0,#0x21
00000c 8010 STRH r0,[r2,#0]
00000e 8051 STRH r1,[r2,#2]
000010 4770 BX lr
ENDP
AREA ||i.LCD_WriteRAM||, CODE, READONLY, ALIGN=1
LCD_WriteRAM PROC
000000 f04f41d8 MOV r1,#0x6c000000
000004 8048 STRH r0,[r1,#2]
000006 4770 BX lr
ENDP
AREA ||i.LCD_WriteRAM_Prepare||, CODE, READONLY, ALIGN=1
LCD_WriteRAM_Prepare PROC
000000 2022 MOVS r0,#0x22
000002 f04f41d8 MOV r1,#0x6c000000
000006 8008 STRH r0,[r1,#0]
000008 4770 BX lr
ENDP
AREA ||i.LCD_DrawChar||, CODE, READONLY, ALIGN=2
LCD_DrawChar PROC
;;;227 void LCD_DrawChar(u8 Xpos, u16 Ypos, uc16 *c)
;;;228 {
000000 e92d4ff0 PUSH {r4-r11,lr}
000004 468b MOV r11,r1
000006 4616 MOV r6,r2
;;;229 u32 index = 0, i = 0;
000008 2400 MOVS r4,#0
;;;230 u8 Xaddress = 0;
;;;231
;;;232 Xaddress = Xpos;
00000a 4605 MOV r5,r0
;;;233
;;;234 LCD_SetCursor(Xaddress, Ypos);
00000c f7fffffe BL LCD_SetCursor
000010 f8dfa04c LDR r10,|L10.96|
000014 2722 MOVS r7,#0x22
000016 f04f0801 MOV r8,#1
00001a f04f49d8 MOV r9,#0x6c000000
00001e bf00 NOP
|L10.32|
000020 f8a97000 STRH r7,[r9,#0]
;;;235
;;;236 for(index = 0; index < 24; index++)
;;;237 {
;;;238 LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
;;;239 for(i = 0; i < 16; i++)
000024 f05f0000 MOVS.W r0,#0
|L10.40|
;;;240 {
;;;241 if((c[index] & (1 << i)) == 0x00)
000028 f8361014 LDRH r1,[r6,r4,LSL #1]
00002c fa08f200 LSL r2,r8,r0
000030 4211 TST r1,r2
000032 d102 BNE |L10.58|
;;;242 {
;;;243 LCD_WriteRAM(BackColor);
000034 f8ba1002 LDRH r1,[r10,#2] ; BackColor
000038 e001 B |L10.62|
|L10.58|
;;;244 }
;;;245 else
;;;246 {
;;;247 LCD_WriteRAM(TextColor);
00003a f8ba1000 LDRH r1,[r10,#0] ; TextColor
|L10.62|
00003e f8a91002 STRH r1,[r9,#2]
000042 1c40 ADDS r0,r0,#1 ;239
000044 2810 CMP r0,#0x10 ;239
000046 d3ef BCC |L10.40|
;;;248 }
;;;249 }
;;;250 Xaddress++;
000048 1c6d ADDS r5,r5,#1
00004a b2ed UXTB r5,r5
;;;251 LCD_SetCursor(Xaddress, Ypos);
00004c 4659 MOV r1,r11
00004e 4628 MOV r0,r5
000050 f7fffffe BL LCD_SetCursor
000054 1c64 ADDS r4,r4,#1 ;236
000056 2c18 CMP r4,#0x18 ;236
000058 d3e2 BCC |L10.32|
;;;252 }
;;;253 }
00005a e8bd8ff0 POP {r4-r11,pc}
;;;254
ENDP
00005e 0000 DCW 0x0000
|L10.96|
000060 00000000 DCD ||.data||
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -