📄 ks0108.lst
字号:
308 char code Zi[]=
309 {
310 0x00,0x00,0x10,0x0C,0x14,0x14,0x14,0x15,0xD6,0x54,0x34,0x14,0x14,0x8C,0x00,0x00,
311 0x00,0x01,0x01,0x01,0x01,0x01,0x11,0x21,0x1F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,
312 };
313
314 void LCD_WriteHZ(char x,char y,char *Dot) //显示16*16点阵汉字
315 {
316 1 char i;
317 1 for (i=0;i<32;i++)
318 1 {
319 2 if ((x+i%16)<64)
320 2 {
321 3 LCD_WriteCommand1(0xB8+y+i/16);
322 3 LCD_WriteCommand1(0x40+x+i%16);
323 3 LCD_WriteData1(Dot[i]);
324 3 }
325 2 else
326 2 {
327 3 LCD_WriteCommand2(0xB8+y+i/16);
328 3 LCD_WriteCommand2(0x40+x-64+i%16);
329 3 LCD_WriteData2(Dot[i]);
330 3 }
331 2 }
332 1 }
333
334 char code Number[]=
335 /*-- 文字: "0123456789:/ " --*/
336 {
337 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,
338 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x10,0x10,0x00,0x00,
339 0x00,0x30,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x18,0x14,0x12,0x11,0x10,0x18,0x00,
340 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x0C,0x10,0x10,0x10,0x11,0x0E,0x00,
341 0x00,0x80,0x40,0x20,0xF8,0x00,0x00,0x00,0x00,0x03,0x02,0x12,0x1F,0x12,0x12,0x00,
342 0x00,0xF8,0x88,0x48,0x48,0x48,0x88,0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x0F,0x00,
343 0x00,0xE0,0x10,0x88,0x88,0x98,0x00,0x00,0x00,0x0F,0x11,0x10,0x10,0x10,0x0F,0x00,
344 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,
345 0x00,0x70,0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x0E,0x11,0x10,0x10,0x11,0x0E,0x00,
346 0x00,0xF0,0x08,0x08,0x08,0x90,0xE0,0x00,0x00,0x00,0x19,0x11,0x11,0x08,0x07,0x00,
347 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,
348 0x00,0x00,0x00,0x80,0x60,0x1C,0x02,0x00,0x00,0x30,0x0C,0x03,0x00,0x00,0x00,0x00,
349 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
350 };
351
352
353 void LCD_WriteChar(char x,char y,char *Dot) //显示8*16点阵字符
354 {
355 1 char i;
356 1 for (i=0;i<16;i++)
357 1 {
358 2 if ((x+i%8)<64)
359 2 {
360 3 LCD_WriteCommand1(0xB8+y+i/8);
361 3 LCD_WriteCommand1(0x40+x+i%8);
362 3 LCD_WriteData1(Dot[i]);
363 3 }
364 2 else
365 2 {
C51 COMPILER V7.02b KS0108 12/21/2002 22:32:37 PAGE 7
366 3 LCD_WriteCommand2(0xB8+y+i/8);
367 3 LCD_WriteCommand2(0x40+x-64+i%8);
368 3 LCD_WriteData2(Dot[i]);
369 3 }
370 2 }
371 1 }
372
373 void LCD_DispChar(char x,char y,char ch) //128*64 取值x=0-128 y=0-8
374 {
375 1 if ((ch>=0)&&(ch<=9))
376 1 {
377 2 LCD_WriteChar(x,y,&Number[ch*16]);
378 2 }
379 1 }
380
381 void InitLCD(void) //初始化LCD
382 {
383 1 char i,j;
384 1 LCD_RST=0;
385 1 Delay1ms(1);
386 1 LCD_RST=1;
387 1
388 1 LCD_WriteCommand1(0xc0);
389 1 LCD_WriteCommand2(0xc0);
390 1 LCD_WriteCommand1(0x3f); //开显示
391 1 LCD_WriteCommand2(0x3f);
392 1
393 1 for (j=0;j<8;j++) //清屏
394 1 {
395 2 LCD_WriteCommand1(0xB8+j); //清左半屏
396 2 LCD_WriteCommand1(0x40);
397 2 for (i=0;i<64;i++)
398 2 LCD_WriteData1(0x00);
399 2
400 2 LCD_WriteCommand2(0xB8+j); //清右半屏
401 2 LCD_WriteCommand2(0x40);
402 2 for (i=0;i<64;i++)
403 2 LCD_WriteData2(0x00);
404 2 }
405 1 }
406
407 void DispBmp(char *buf) //显示一幅位图
408 {
409 1 int i,j;
410 1 for (j=0;j<8;j++) //显示位图
411 1 {
412 2 LCD_WriteCommand1(0xB8+j);
413 2 LCD_WriteCommand1(0x40);
414 2 for (i=0;i<64;i++)
415 2 LCD_WriteData1(buf[(j*2)*64+i]);
416 2 LCD_WriteCommand2(0xB8+j);
417 2 LCD_WriteCommand2(0x40);
418 2 for (i=0;i<64;i++)
419 2 LCD_WriteData2(buf[(j*2+1)*64+i]);
420 2 }
421 1 }
422
423 void Delay1s(unsigned char T);
424 void TestLCD(void)
425 {
426 1 char i;
427 1 InitLCD();
C51 COMPILER V7.02b KS0108 12/21/2002 22:32:37 PAGE 8
428 1 DispBmp(screen);
429 1 for (i=0;i<64;i++)
430 1 {
431 2 Delay1ms(50);
432 2 LCD_WriteCommand1(0xc0+i%64); //设置起始行,实现向上滚动
433 2 LCD_WriteCommand2(0xc0+i%64);
434 2 }
435 1 Delay1s(3);
436 1 for (;;)
437 1 {
438 2 DispBmp(screen1);
439 2 Delay1s(3);
440 2 DispBmp(screen2);
441 2 Delay1s(3);
442 2 InitLCD();
443 2 LCD_WriteHZ(2,1,Han); //显示16*16点阵汉字'汉'
444 2 LCD_WriteHZ(60,3,Zi); //显示16*16点阵汉字'字'
445 2 Delay1s(3);
446 2 }
447 1 }
448
449
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1052 ----
CONSTANT SIZE = 3344 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 29 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -