?? tft.lst
字號(hào):
187 1 RW=1;
188 1
189 1 P2=DL;
190 1
191 1 RW=0;
192 1 RW=1;
193 1 CS=1;
194 1 }
195
196 //===================== 寫數(shù)據(jù) ===========================//
197
198 void Write_Data(unsigned char DH,unsigned char DL)
199 {
200 1
201 1
202 1
203 1 CS=0;
204 1
205 1 RS=1;
206 1 P2=DH;
207 1 RW=0;
208 1 RW=1;
209 1
210 1 P2=DL;
211 1 RW=0;
212 1 RW=1;
213 1 CS=1;
214 1 }
215
216
217
218
219
220 //=======================================================
221 void delayms(unsigned int count)
222 {
223 1 int i,j;
224 1 for(i=0;i<count;i++)
225 1 {
226 2 for(j=0;j<260;j++);
227 2 }
228 1 }
229
230
231
232 //===================== 初始化代碼 =======================//
233
234 void ILI9325_Initial(void)
235 {
236 1
237 1 CS=1;
C51 COMPILER V7.02a TFT 12/22/2010 21:07:55 PAGE 5
238 1 delayms(5);
239 1 RES=0;
240 1 delayms(5);
241 1 RES=1;
242 1 delayms(5);
243 1 delayms(50);
244 1 Write_Cmd_Data(0x0001,0x0100);
245 1 Write_Cmd_Data(0x0002,0x0700);
246 1 Write_Cmd_Data(0x0003,0x1030);
247 1 Write_Cmd_Data(0x0004,0x0000);
248 1 Write_Cmd_Data(0x0008,0x0207);
249 1 Write_Cmd_Data(0x0009,0x0000);
250 1 Write_Cmd_Data(0x000A,0x0000);
251 1 Write_Cmd_Data(0x000C,0x0000);
252 1 Write_Cmd_Data(0x000D,0x0000);
253 1 Write_Cmd_Data(0x000F,0x0000);
254 1 //power on sequence VGHVGL
255 1 Write_Cmd_Data(0x0010,0x0000);
256 1 Write_Cmd_Data(0x0011,0x0007);
257 1 Write_Cmd_Data(0x0012,0x0000);
258 1 Write_Cmd_Data(0x0013,0x0000);
259 1 //vgh
260 1 Write_Cmd_Data(0x0010,0x1290);
261 1 Write_Cmd_Data(0x0011,0x0227);
262 1 //delayms(100);
263 1 //vregiout
264 1 Write_Cmd_Data(0x0012,0x001d); //0x001b
265 1 //delayms(100);
266 1 //vom amplitude
267 1 Write_Cmd_Data(0x0013,0x1500);
268 1 //delayms(100);
269 1 //vom H
270 1 Write_Cmd_Data(0x0029,0x0018);
271 1 Write_Cmd_Data(0x002B,0x000D);
272 1
273 1 //gamma
274 1 Write_Cmd_Data(0x0030,0x0004);
275 1 Write_Cmd_Data(0x0031,0x0307);
276 1 Write_Cmd_Data(0x0032,0x0002);// 0006
277 1 Write_Cmd_Data(0x0035,0x0206);
278 1 Write_Cmd_Data(0x0036,0x0408);
279 1 Write_Cmd_Data(0x0037,0x0507);
280 1 Write_Cmd_Data(0x0038,0x0204);//0200
281 1 Write_Cmd_Data(0x0039,0x0707);
282 1 Write_Cmd_Data(0x003C,0x0405);// 0504
283 1 Write_Cmd_Data(0x003D,0x0F02);
284 1 //ram
285 1 Write_Cmd_Data(0x0050,0x0000);
286 1 Write_Cmd_Data(0x0051,0x00EF);
287 1 Write_Cmd_Data(0x0052,0x0000);
288 1 Write_Cmd_Data(0x0053,0x013F);
289 1 Write_Cmd_Data(0x0060,0xA700);
290 1 Write_Cmd_Data(0x0061,0x0001);
291 1 Write_Cmd_Data(0x006A,0x0000);
292 1 //
293 1 Write_Cmd_Data(0x0080,0x0000);
294 1 Write_Cmd_Data(0x0081,0x0000);
295 1 Write_Cmd_Data(0x0082,0x0000);
296 1 Write_Cmd_Data(0x0083,0x0000);
297 1 Write_Cmd_Data(0x0084,0x0000);
298 1 Write_Cmd_Data(0x0085,0x0000);
299 1 //
C51 COMPILER V7.02a TFT 12/22/2010 21:07:55 PAGE 6
300 1 Write_Cmd_Data(0x0090,0x0010);
301 1 Write_Cmd_Data(0x0092,0x0600);
302 1 Write_Cmd_Data(0x0093,0x0003);
303 1 Write_Cmd_Data(0x0095,0x0110);
304 1 Write_Cmd_Data(0x0097,0x0000);
305 1 Write_Cmd_Data(0x0098,0x0000);
306 1 Write_Cmd_Data(0x0007,0x0133);
307 1
308 1
309 1
310 1 // Write_Cmd_Data(0x0022);//
311 1 }
312
313
314
315
316
317
318
319 /*===========================================================*/
320
321 /*************************************************************
322 函數(shù)名稱:LCD_DefineDispWindow
323 功 能:定義顯示窗體
324 參 數(shù):x0: 窗體中X坐標(biāo)中較小者
325 x1: 窗體中X坐標(biāo)中較大者
326 y0: 窗體中Y坐標(biāo)中較小者
327 y1: 窗體中Y坐標(biāo)中較大者
328 返 回 值:無
329 *************************************************************/
330 void LCD_SetPos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1)
331 {
332 1 Write_Cmd_Data(WINDOW_XADDR_START,x0);
333 1 Write_Cmd_Data(WINDOW_XADDR_END,x1);
334 1 Write_Cmd_Data(WINDOW_YADDR_START,y0);
335 1 Write_Cmd_Data(WINDOW_YADDR_END,y1);
336 1 Write_Cmd_Data(GRAM_XADDR,x0);
337 1 Write_Cmd_Data(GRAM_YADDR,y0);
338 1 Write_Cmd (0x00,0x22);//LCD_WriteCMD(GRAMWR);
339 1 }
340 void bmp(unsigned char *buf)
341 {
342 1 unsigned short i=0;
343 1 static unsigned short x,y;
344 1 for(i=0;i<256;i++) //然后寫到液晶屏,可以顯示256個(gè)像素,每個(gè)像素16位即2個(gè)字節(jié)
345 1 {
346 2 LCD_SetPos(x,x,y,y);
347 2 Write_Data(buf[2*i+1],buf[2*i]);
348 2 x++;
349 2 if(x==240) //檢測(cè)是否寫到屏的邊緣 240x320
350 2 {
351 3 y++;
352 3 x=0;
353 3 if(y==320)
354 3 y=0;
355 3 }
356 2 }
357 1 }
358 void button(unsigned short X,unsigned short Y,unsigned char *s,unsigned int color)
359 { unsigned short i,j;
360 1 LCD_SetPos(X,X+239,Y,Y+31);
361 1 for(i=0;i<32;i++)
C51 COMPILER V7.02a TFT 12/22/2010 21:07:55 PAGE 7
362 1 {for(j=0;j<240;j++)
363 2 {Write_Data_U16(color);}
364 2 color--;
365 2 }
366 1 mode=0;
367 1 LCD_PutString(X+10,Y+10,s,White,Red);
368 1 mode=1;
369 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2046 ----
CONSTANT SIZE = 2048 ----
XDATA SIZE = 5 81
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -