📄 tft_lcd.txt
字号:
;;;71 |(0,0) | |(0,0) |
;;;72 | | |
;;;73 | ^ ^ | | ^ ^ |
;;;74 | | | | | | | |
;;;75 | | | | | | | |
;;;76 | | | | | | | |
;;;77 | | ------> | | | | <------ | |
;;;78 | | | | | | | |
;;;79 | | | | | | | |
;;;80 | | | | | | | |
;;;81 | | | | | | | |
;;;82 | | |
;;;83 | | | |
;;;84 | (x=239,y=399)| | (x=239,y=399)|
;;;85 |-------------------| |-------------------|
;;;86 | | | |
;;;87 ------------------- -------------------
;;;88
;;;89 按照安富莱开发板LCD的方向,我们期望的虚拟坐标和扫描方向如下:(和上图第1个吻合)
;;;90 --------------------------------
;;;91 | |(0,0) |
;;;92 | | ---------> |
;;;93 | | | |
;;;94 | | | |
;;;95 | | | |
;;;96 | | V |
;;;97 | | ---------> |
;;;98 | | (399,239)|
;;;99 --------------------------------
;;;100
;;;101 虚拟坐标(x,y) 和物理坐标的转换关系
;;;102 x = 399 - py;
;;;103 y = px;
;;;104
;;;105 py = 399 - x;
;;;106 px = y;
;;;107
;;;108 */
;;;109 LCD_WriteReg(0x0003, 0x1018); /* 0x1018 1030 */
00002c f2410118 MOV r1,#0x1018
000030 2003 MOVS r0,#3
000032 f7fffffe BL LCD_WriteReg
;;;110
;;;111 LCD_WriteReg(0x0008, 0x0808);
000036 f6400108 MOV r1,#0x808
00003a 2008 MOVS r0,#8
00003c f7fffffe BL LCD_WriteReg
;;;112 LCD_WriteReg(0x0009, 0x0001);
000040 2101 MOVS r1,#1
000042 2009 MOVS r0,#9
000044 f7fffffe BL LCD_WriteReg
;;;113 LCD_WriteReg(0x000B, 0x0010);
000048 2110 MOVS r1,#0x10
00004a 200b MOVS r0,#0xb
00004c f7fffffe BL LCD_WriteReg
;;;114 LCD_WriteReg(0x000C, 0x0000);
000050 2100 MOVS r1,#0
000052 200c MOVS r0,#0xc
000054 f7fffffe BL LCD_WriteReg
;;;115 LCD_WriteReg(0x000F, 0x0000);
000058 2100 MOVS r1,#0
00005a 200f MOVS r0,#0xf
00005c f7fffffe BL LCD_WriteReg
;;;116 LCD_WriteReg(0x0007, 0x0001);
000060 2101 MOVS r1,#1
000062 2007 MOVS r0,#7
000064 f7fffffe BL LCD_WriteReg
;;;117 LCD_WriteReg(0x0010, 0x0013);
000068 2113 MOVS r1,#0x13
00006a 2010 MOVS r0,#0x10
00006c f7fffffe BL LCD_WriteReg
;;;118 LCD_WriteReg(0x0011, 0x0501);
000070 f2405101 MOV r1,#0x501
000074 2011 MOVS r0,#0x11
000076 f7fffffe BL LCD_WriteReg
;;;119 LCD_WriteReg(0x0012, 0x0300);
00007a f44f7140 MOV r1,#0x300
00007e 2012 MOVS r0,#0x12
000080 f7fffffe BL LCD_WriteReg
;;;120 LCD_WriteReg(0x0020, 0x021E);
000084 f240211e MOV r1,#0x21e
000088 2020 MOVS r0,#0x20
00008a f7fffffe BL LCD_WriteReg
;;;121 LCD_WriteReg(0x0021, 0x0202);
00008e f2402102 MOV r1,#0x202
000092 2021 MOVS r0,#0x21
000094 f7fffffe BL LCD_WriteReg
;;;122 LCD_WriteReg(0x0090, 0x8000);
000098 f44f4100 MOV r1,#0x8000
00009c 2090 MOVS r0,#0x90
00009e f7fffffe BL LCD_WriteReg
;;;123 LCD_WriteReg(0x0100, 0x17B0);
0000a2 f24171b0 MOV r1,#0x17b0
0000a6 f44f7080 MOV r0,#0x100
0000aa f7fffffe BL LCD_WriteReg
;;;124 LCD_WriteReg(0x0101, 0x0147);
0000ae f2401147 MOV r1,#0x147
0000b2 f2401001 MOV r0,#0x101
0000b6 f7fffffe BL LCD_WriteReg
;;;125 LCD_WriteReg(0x0102, 0x0135);
0000ba f2401135 MOV r1,#0x135
0000be f44f7081 MOV r0,#0x102
0000c2 f7fffffe BL LCD_WriteReg
;;;126 LCD_WriteReg(0x0103, 0x0700);
0000c6 f44f61e0 MOV r1,#0x700
0000ca f2401003 MOV r0,#0x103
0000ce f7fffffe BL LCD_WriteReg
;;;127 LCD_WriteReg(0x0107, 0x0000);
0000d2 2100 MOVS r1,#0
0000d4 f2401007 MOV r0,#0x107
0000d8 f7fffffe BL LCD_WriteReg
;;;128 LCD_WriteReg(0x0110, 0x0001);
0000dc 2101 MOVS r1,#1
0000de f44f7088 MOV r0,#0x110
0000e2 f7fffffe BL LCD_WriteReg
;;;129 LCD_WriteReg(0x0210, 0x0000);
0000e6 2100 MOVS r1,#0
0000e8 f44f7004 MOV r0,#0x210
0000ec f7fffffe BL LCD_WriteReg
;;;130 LCD_WriteReg(0x0211, 0x00EF);
0000f0 21ef MOVS r1,#0xef
0000f2 f2402011 MOV r0,#0x211
0000f6 f7fffffe BL LCD_WriteReg
;;;131 LCD_WriteReg(0x0212, 0x0000);
0000fa 2100 MOVS r1,#0
0000fc f2402012 MOV r0,#0x212
000100 f7fffffe BL LCD_WriteReg
;;;132 LCD_WriteReg(0x0213, 0x018F);
000104 f240118f MOV r1,#0x18f
000108 f2402013 MOV r0,#0x213
00010c f7fffffe BL LCD_WriteReg
;;;133 LCD_WriteReg(0x0280, 0x0000);
000110 2100 MOVS r1,#0
000112 f44f7020 MOV r0,#0x280
000116 f7fffffe BL LCD_WriteReg
;;;134 LCD_WriteReg(0x0281, 0x0004);
00011a 2104 MOVS r1,#4
00011c f2402081 MOV r0,#0x281
000120 f7fffffe BL LCD_WriteReg
;;;135 LCD_WriteReg(0x0282, 0x0000);
000124 2100 MOVS r1,#0
000126 f2402082 MOV r0,#0x282
00012a f7fffffe BL LCD_WriteReg
;;;136 LCD_WriteReg(0x0300, 0x0101);
00012e f2401101 MOV r1,#0x101
000132 f44f7040 MOV r0,#0x300
000136 f7fffffe BL LCD_WriteReg
;;;137 LCD_WriteReg(0x0301, 0x0B2C);
00013a f640312c MOV r1,#0xb2c
00013e f2403001 MOV r0,#0x301
000142 f7fffffe BL LCD_WriteReg
;;;138 LCD_WriteReg(0x0302, 0x1030);
000146 f2410130 MOV r1,#0x1030
00014a f2403002 MOV r0,#0x302
00014e f7fffffe BL LCD_WriteReg
;;;139 LCD_WriteReg(0x0303, 0x3010);
000152 f2430110 MOV r1,#0x3010
000156 f2403003 MOV r0,#0x303
00015a f7fffffe BL LCD_WriteReg
;;;140 LCD_WriteReg(0x0304, 0x2C0B);
00015e f642410b MOV r1,#0x2c0b
000162 f44f7041 MOV r0,#0x304
000166 f7fffffe BL LCD_WriteReg
;;;141 LCD_WriteReg(0x0305, 0x0101);
00016a f2401101 MOV r1,#0x101
00016e f2403005 MOV r0,#0x305
000172 f7fffffe BL LCD_WriteReg
;;;142 LCD_WriteReg(0x0306, 0x0807);
000176 f6400107 MOV r1,#0x807
00017a f2403006 MOV r0,#0x306
00017e f7fffffe BL LCD_WriteReg
;;;143 LCD_WriteReg(0x0307, 0x0708);
000182 f44f61e1 MOV r1,#0x708
000186 f2403007 MOV r0,#0x307
00018a f7fffffe BL LCD_WriteReg
;;;144 LCD_WriteReg(0x0308, 0x0107);
00018e f2401107 MOV r1,#0x107
000192 f44f7042 MOV r0,#0x308
000196 f7fffffe BL LCD_WriteReg
;;;145 LCD_WriteReg(0x0309, 0x0105);
00019a f2401105 MOV r1,#0x105
00019e f2403009 MOV r0,#0x309
0001a2 f7fffffe BL LCD_WriteReg
;;;146 LCD_WriteReg(0x030A, 0x0F04);
0001a6 f6407104 MOV r1,#0xf04
0001aa f240300a MOV r0,#0x30a
0001ae f7fffffe BL LCD_WriteReg
;;;147 LCD_WriteReg(0x030B, 0x0F00);
0001b2 f44f6170 MOV r1,#0xf00
0001b6 f240300b MOV r0,#0x30b
0001ba f7fffffe BL LCD_WriteReg
;;;148 LCD_WriteReg(0x030C, 0x000F);
0001be 210f MOVS r1,#0xf
0001c0 f44f7043 MOV r0,#0x30c
0001c4 f7fffffe BL LCD_WriteReg
;;;149 LCD_WriteReg(0x030D, 0x040F);
0001c8 f240410f MOV r1,#0x40f
0001cc f240300d MOV r0,#0x30d
0001d0 f7fffffe BL LCD_WriteReg
;;;150 LCD_WriteReg(0x030E, 0x0300);
0001d4 f44f7140 MOV r1,#0x300
0001d8 f240300e MOV r0,#0x30e
0001dc f7fffffe BL LCD_WriteReg
;;;151 LCD_WriteReg(0x030F, 0x0701);
0001e0 f2407101 MOV r1,#0x701
0001e4 f240300f MOV r0,#0x30f
0001e8 f7fffffe BL LCD_WriteReg
;;;152 LCD_WriteReg(0x0400, 0x3500);
0001ec f44f5154 MOV r1,#0x3500
0001f0 f44f6080 MOV r0,#0x400
0001f4 f7fffffe BL LCD_WriteReg
;;;153 LCD_WriteReg(0x0401, 0x0001);
0001f8 2101 MOVS r1,#1
0001fa f2404001 MOV r0,#0x401
0001fe f7fffffe BL LCD_WriteReg
;;;154 LCD_WriteReg(0x0404, 0x0000);
000202 2100 MOVS r1,#0
000204 f2404004 MOV r0,#0x404
000208 f7fffffe BL LCD_WriteReg
;;;155 LCD_WriteReg(0x0500, 0x0000);
00020c 2100 MOVS r1,#0
00020e f44f60a0 MOV r0,#0x500
000212 f7fffffe BL LCD_WriteReg
;;;156 LCD_WriteReg(0x0501, 0x0000);
000216 2100 MOVS r1,#0
000218 f2405001 MOV r0,#0x501
00021c f7fffffe BL LCD_WriteReg
;;;157 LCD_WriteReg(0x0502, 0x0000);
000220 2100 MOVS r1,#0
000222 f2405002 MOV r0,#0x502
000226 f7fffffe BL LCD_WriteReg
;;;158 LCD_WriteReg(0x0503, 0x0000);
00022a 2100 MOVS r1,#0
00022c f2405003 MOV r0,#0x503
000230 f7fffffe BL LCD_WriteReg
;;;159 LCD_WriteReg(0x0504, 0x0000);
000234 2100 MOVS r1,#0
000236 f2405004 MOV r0,#0x504
00023a f7fffffe BL LCD_WriteReg
;;;160 LCD_WriteReg(0x0505, 0x0000);
00023e 2100 MOVS r1,#0
000240 f2405005 MOV r0,#0x505
000244 f7fffffe BL LCD_WriteReg
;;;161 LCD_WriteReg(0x0600, 0x0000);
000248 2100 MOVS r1,#0
00024a f44f60c0 MOV r0,#0x600
00024e f7fffffe BL LCD_WriteReg
;;;162 LCD_WriteReg(0x0606, 0x0000);
000252 2100 MOVS r1,#0
000254 f2406006 MOV r0,#0x606
000258 f7fffffe BL LCD_WriteReg
;;;163 LCD_WriteReg(0x06F0, 0x0000);
00025c 2100 MOVS r1,#0
00025e f44f60de MOV r0,#0x6f0
000262 f7fffffe BL LCD_WriteReg
;;;164 LCD_WriteReg(0x07F0, 0x5420);
000266 f2454120 MOV r1,#0x5420
00026a f44f60fe MOV r0,#0x7f0
00026e f7fffffe BL LCD_WriteReg
;;;165 LCD_WriteReg(0x07DE, 0x0000);
000272 2100 MOVS r1,#0
000274 f24070de MOV r0,#0x7de
000278 f7fffffe BL LCD_WriteReg
;;;166 LCD_WriteReg(0x07F2, 0x00DF);
00027c 21df MOVS r1,#0xdf
00027e f24070f2 MOV r0,#0x7f2
000282 f7fffffe BL LCD_WriteReg
;;;167 LCD_WriteReg(0x07F3, 0x0810);
000286 f44f6101 MOV r1,#0x810
00028a f24070f3 MOV r0,#0x7f3
00028e f7fffffe BL LCD_WriteReg
;;;168 LCD_WriteReg(0x07F4, 0x0077);
000292 2177 MOVS r1,#0x77
000294 f24070f4 MOV r0,#0x7f4
000298 f7fffffe BL LCD_WriteReg
;;;169 LCD_WriteReg(0x07F5, 0x0021);
00029c 2121 MOVS r1,#0x21
00029e f24070f5 MOV r0,#0x7f5
0002a2 f7fffffe BL LCD_WriteReg
;;;170 LCD_WriteReg(0x07F0, 0x0000);
0002a6 2100 MOVS r1,#0
0002a8 f44f60fe MOV r0,#0x7f0
0002ac f7fffffe BL LCD_WriteReg
;;;171 LCD_WriteReg(0x0007, 0x0173);
0002b0 f2401173 MOV r1,#0x173
0002b4 2007 MOVS r0,#7
0002b6 f7fffffe BL LCD_WriteReg
;;;172
;;;173 /* 设置显示窗口 WINDOWS */
;;;174 LCD_WriteReg(0x0210, 0); /* 水平起始地址 */
0002ba 2100 MOVS r1,#0
0002bc f44f7004 MOV r0,#0x210
0002c0 f7fffffe BL LCD_WriteReg
;;;175 LCD_WriteReg(0x0211, 239); /* 水平结束坐标 */
0002c4 21ef MOVS r1,#0xef
0002c6 f2402011 MOV r0,#0x211
0002ca f7fffffe BL LCD_WriteReg
;;;176 LCD_WriteReg(0x0212, 0); /* 垂直起始地址 */
0002ce 2100 MOVS r1,#0
0002d0 f2402012 MOV r0,#0x212
0002d4 f7fffffe BL LCD_WriteReg
;;;177 LCD_WriteReg(0x0213, 399); /* 垂直结束地址 */
0002d8 f240118f MOV r1,#0x18f
0002dc f2402013 MOV r0,#0x213
0002e0 f7fffffe BL LCD_WriteReg
;;;178 }
0002e4 bd10 POP {r4,pc}
;;;179
ENDP
AREA ||i.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -