📄 lcd3300.lst
字号:
227 2 x+=25;
228 2 lcd_data (x++);
229 2 lcd_command (CASET);
230 2 lcd_data (2);
231 2 lcd_data (131);
232 2
233 2 lcd_command (RAMWR);
234 2
235 2 num=130*26;
236 2 while (num--)
237 2 lcd_data (bcolor);
238 2 }
C51 COMPILER V8.05a LCD3300 01/13/2008 14:03:05 PAGE 5
239 1 }
240
241 void init_lcd ()
242 {
243 1 RET=0;
244 1 delay(10);
245 1 RET=1;
246 1
247 1 lcd_command (DISCTL);
248 1 lcd_data (0x0f);
249 1 lcd_data (0x20);
250 1 lcd_data (0x0f);
251 1 lcd_data (0x01);
252 1
253 1 lcd_command (COMSCN); //上下半图象扫描顺序
254 1 lcd_data (0x01);
255 1
256 1 lcd_command (OSCON);
257 1 lcd_command (SLPOUT);
258 1
259 1 lcd_command (VOLCTR);
260 1 lcd_data (0x0E); //调整对比度,越大越亮
261 1 lcd_data (5); //色彩调整,5最合适
262 1
263 1 lcd_command (PWRCTR);
264 1 lcd_data (0x0f);
265 1
266 1 lcd_command (DISINV); //颜色顺序
267 1 lcd_command (SLPOUT);
268 1
269 1 lcd_command (DATCTL);
270 1 lcd_data (0x01); //改变增量方向
271 1 lcd_data (0x00);
272 1 lcd_data (0x01);
273 1
274 1 lcd_command (RGBSET8); //调色板设置
275 1 lcd_data (0x00);
276 1 lcd_data (0x02);
277 1 lcd_data (0x04);
278 1 lcd_data (0x06);
279 1 lcd_data (0x08);
280 1 lcd_data (0x0a);
281 1 lcd_data (0x0c);
282 1 lcd_data (0x0f);
283 1
284 1 lcd_data (0x00);
285 1 lcd_data (0x02);
286 1 lcd_data (0x04);
287 1 lcd_data (0x06);
288 1 lcd_data (0x08);
289 1 lcd_data (0x0a);
290 1 lcd_data (0x0c);
291 1 lcd_data (0x0f);
292 1
293 1 lcd_data (0x00);
294 1 lcd_data (0x06);
295 1 lcd_data (0x09);
296 1 lcd_data (0x0f);
297 1
298 1 lcd_command (DISON);
299 1 }
300
C51 COMPILER V8.05a LCD3300 01/13/2008 14:03:05 PAGE 6
301 void PutChar(unsigned char x,unsigned char y,unsigned char bcolor,unsigned char fcolor,char c)
302 {
303 1 unsigned char i,j,temp;
304 1 lcd_command (PASET);
305 1 lcd_data(0+y);
306 1 lcd_data(0+y+16);
307 1 lcd_command(CASET);
308 1 lcd_data(1+x);
309 1 lcd_data(x+8);
310 1 lcd_command(RAMWR);
311 1 for(i=0;i<16;i++)
312 1 {
313 2 temp=asc[c-32][i];
314 2 for(j=0;j<8;j++)
315 2 {
316 3 lcd_data(((temp>>j)&0x01)?fcolor:bcolor);
317 3 }
318 2 }
319 1 }
320
321 void PutStr(unsigned char x,unsigned char y,unsigned char bcolor,unsigned char fcolor,char *s)
322 {
323 1 unsigned char len;
324 1 unsigned char i;
325 1 len=strlen(s);
326 1 for(i=0;i<len;i++)
327 1 {
328 2 PutChar(x,y,bcolor,fcolor,s[i]);
329 2 x+=8;
330 2 if(x>125)
331 2 {
332 3 x=0;
333 3 y+=16;
334 3 }
335 2 }
336 1 }
337
338 void PutImg(unsigned char x,unsigned char y,unsigned char width,unsigned char height,unsigned char *img)
339 {
340 1 unsigned long i,num;
341 1 num=width*height;
342 1 lcd_command (PASET);
343 1 lcd_data(0+y);
344 1 lcd_data(0+y+height);
345 1 lcd_command(CASET);
346 1 lcd_data(1+x);
347 1 lcd_data(x+width);
348 1 //lcd_command(DISINV);
349 1 lcd_command(RAMWR);
350 1 for(i=0;i<num;i++)
351 1 {
352 2 lcd_data(img[i]);
353 2 }
354 1 }
355
356
357
358 void main ()
359 {
360 1 unsigned char i,j;
361 1 uchar x=0,n=0;
362 1
C51 COMPILER V8.05a LCD3300 01/13/2008 14:03:05 PAGE 7
363 1
364 1 /*
365 1 for (n=0;n<5;n++)
366 1 {
367 1 lcd_command (PASET);
368 1 lcd_data (x);
369 1 x+=25;
370 1 lcd_data (x++);
371 1 lcd_command (CASET);
372 1 lcd_data (2);
373 1 lcd_data (131);
374 1
375 1 lcd_command (RAMWR);
376 1
377 1 num=130*26;
378 1 while (num--)
379 1 lcd_data (color[n]);
380 1 }
381 1 */
382 1 /*
383 1 lcd_command (PASET);
384 1 lcd_data (60);
385 1 //x+=25;
386 1 lcd_data (130);
387 1 lcd_command (CASET);
388 1 lcd_data (2);
389 1 lcd_data (131);
390 1
391 1 lcd_command (RAMWR);
392 1 for(num=60*130;num<16900;num++)
393 1 {
394 1
395 1 lcd_data(gImage_1[num]);
396 1 } */
397 1 //PutChar(10,10,0x00,0xff,'A');
398 1 //for(i=0;i<255;i++)
399 1 init_lcd ();
400 1 //while(1)
401 1 ClrScr(0x07);
402 1 delay(1000);
403 1 ClrScr(0x38);
404 1 delay(1000);
405 1 ClrScr(0xC0);
406 1 delay(1000);
407 1 ClrScr(0x19);
408 1 delay(10000);
409 1 ClrScr(0x34);
410 1 delay(10000);
411 1 //for(i=0;i<256;i++)
412 1 //{
413 1
414 1 //PutStr(10,10,0,i,"I love this LCD!!!yahoo,yahoo,yahoo,yahoo.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1");
415 1 //}
416 1 //for(i=0;i<7;i++)
417 1 //for(j=0;j<37;j++)
418 1
419 1 while(1)
420 1 {
421 2
422 2 /*
423 2 PutImg(0,0,123,94,gImage_1),ClrScr(0);
424 2 PutImg(0,0,72,65,gImage_2),ClrScr(0);
C51 COMPILER V8.05a LCD3300 01/13/2008 14:03:05 PAGE 8
425 2 PutImg(0,0,130,43,gImage_3),ClrScr(0);
426 2 PutImg(0,0,100,100,gImage_4),ClrScr(0);
427 2 PutImg(0,0,50,50,gImage_5),ClrScr(0);
428 2 PutImg(0,0,123,93,gImage_6),ClrScr(0);*/
429 2 PutImg(0,0,100,100,gImage_14),ClrScr(10);
430 2 delay(30000);
431 2 //PutImg(0,0,50,50,gImage_8);
432 2 //PutImg(0,0,128,128,gImage_9);
433 2 PutImg(0,0,102,130,gImage_16),ClrScr(44);
434 2 delay(30000);
435 2 PutImg(0,0,93,140,gImage_12),ClrScr(100);
436 2 delay(30000);
437 2 PutImg(0,0,140,103,gImage_13),ClrScr(200);
438 2 delay(30000);
439 2 }
440 1 while (1);
441 1
442 1
443 1 }
*** WARNING C280 IN LINE 360 OF LCD3300.C: 'i': unreferenced local variable
*** WARNING C280 IN LINE 360 OF LCD3300.C: 'j': unreferenced local variable
444
445
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1057 ----
CONSTANT SIZE = 52220 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 36
IDATA SIZE = ---- 3
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 5 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -