📄 ks0108.lst
字号:
384 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
385 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
386 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
387 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
388 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
389 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
390 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
391 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
392 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
393 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
394 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
395 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
396
397 };
398
399 void LCD_WriteTZ(char x,char y,char *Dot) //显示16*16点阵汉字
400 {
401 1 char i;
402 1 for (i=0;i<32;i++)
403 1 {
404 2 if ((x+i%16)<64)
405 2 {
406 3 LCD_WriteCommand1(0xB8+y+i/16);
407 3 LCD_WriteCommand1(0x40+x+i%16);
408 3 LCD_WriteData1(Dot[i]);
409 3 }
410 2 else
411 2 {
412 3 LCD_WriteCommand2(0xB8+y+i/16);
413 3 LCD_WriteCommand2(0x40+x-64+i%16);
414 3 LCD_WriteData2(Dot[i]);
415 3 }
416 2 }
417 1 }
418
419 void LCD_WriteTZ1(char x,char y,char *Dot) //显示8*16点阵数字
420 {
421 1 char i;
422 1 for (i=0;i<16;i++)
423 1 {
424 2 if ((x+i%8)<64)
425 2 {
426 3 LCD_WriteCommand1(0xB8+y+i/8 );
427 3 LCD_WriteCommand1(0x40+x+i%8);
C51 COMPILER V7.02a KS0108 06/29/2008 18:48:40 PAGE 8
428 3 LCD_WriteData1(Dot[i]);
429 3 }
430 2 else
431 2 {
432 3 LCD_WriteCommand2(0xB8+y+i/8);
433 3 LCD_WriteCommand2(0x40+x-64+i%8);
434 3 LCD_WriteData2(Dot[i]);
435 3 }
436 2 }
437 1 }
438
439 void InitLCD(void) //初始化LCD
440 {
441 1 char i,j;
442 1 LCD_RST=0;
443 1 Delay1ms(1);
444 1 LCD_RST=1;
445 1
446 1 LCD_WriteCommand1(0xc0);
447 1 LCD_WriteCommand2(0xc0);
448 1 LCD_WriteCommand1(0x3f); //开显示
449 1 LCD_WriteCommand2(0x3f);
450 1
451 1 for (j=0;j<8;j++) //清屏
452 1 {
453 2 LCD_WriteCommand1(0xB8+j); //清左半屏
454 2 LCD_WriteCommand1(0x40);
455 2 for (i=0;i<64;i++)
456 2 LCD_WriteData1(0x00);
457 2
458 2 LCD_WriteCommand2(0xB8+j); //清右半屏
459 2 LCD_WriteCommand2(0x40);
460 2 for (i=0;i<64;i++)
461 2 LCD_WriteData2(0x00);
462 2 }
463 1 }
464
465 void DispBmp(char *buf) //显示一幅位图
466 {
467 1 int i,j;
468 1 for (j=0;j<8;j++) //显示位图
469 1 {
470 2 LCD_WriteCommand1(0xB8+j);
471 2 LCD_WriteCommand1(0x40);
472 2 for (i=0;i<64;i++)
473 2 LCD_WriteData1(buf[(j*2)*64+i]);
474 2 LCD_WriteCommand2(0xB8+j);
475 2 LCD_WriteCommand2(0x40);
476 2 for (i=0;i<64;i++)
477 2 LCD_WriteData2(buf[(j*2+1)*64+i]);
478 2 }
479 1 }
480
481 void DispBmp1(char *buf) //显示一幅位图(lr)
482 {
483 1 int i,j,k;
484 1 for(k=0;k<128;k++)
485 1 {
486 2 Delay1ms(50);
487 2 for (j=0;j<8;j++) //显示位图
488 2 {
489 3 LCD_WriteCommand1(0xB8+j);
C51 COMPILER V7.02a KS0108 06/29/2008 18:48:40 PAGE 9
490 3 LCD_WriteCommand1(0x40);
491 3 for (i=0;i<64;i++)
492 3 LCD_WriteData1(buf[(j*2)*64+(i+k)%128]);
493 3 LCD_WriteCommand2(0xB8+j);
494 3 LCD_WriteCommand2(0x40);
495 3 for (i=0;i<64;i++)
496 3 LCD_WriteData2(buf[(j*2)*64+(i+k+64)%128]);
497 3 }
498 2 }
499 1 }
500
501 void Delay1s(unsigned char T);
502
503 //--------------学生信息显示----------------//
504 void TestLCD(void)
505 {
506 1 char i;
507 1
508 1 InitLCD();
509 1 DispBmp1(classroom);
510 1 for (i=0;i<64;i++)
511 1 {
512 2 Delay1ms(50);
513 2 LCD_WriteCommand1(0xc0+i%64); //设置起始行,实现向上滚动
514 2 LCD_WriteCommand2(0xc0+i%64);
515 2 }
516 1 Delay1s(1);
517 1
518 1 // for(;;)
519 1 // {
520 1 InitLCD();
521 1 DispBmp(screen1);
522 1 Delay1s(1);
523 1 DispBmp(screen2);
524 1 Delay1s(1);
525 1
526 1 InitLCD();
527 1 LCD_WriteTZ(2,1,Tang); //显示16*16点阵汉字'唐'
528 1 LCD_WriteTZ(32,1,Zhan); //显示16*16点阵汉字'湛'
529 1 for (i=64;i>0;i--)
530 1 {
531 2 Delay1ms(50);
532 2 LCD_WriteCommand1(0xc0+i%64); //设置起始行,实现向上滚动
533 2 LCD_WriteCommand2(0xc0+i%64);
534 2 }
535 1 Delay1s(1);
536 1
537 1
538 1
539 1 DispBmp(xuehao);
540 1 Delay1s(2);
541 1 // }
542 1 }
543
544 char code Wen[]=
545 {
546 /*-- 文字: 温 --*/
547 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
548 0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,
549 0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,
550 };
551
C51 COMPILER V7.02a KS0108 06/29/2008 18:48:40 PAGE 10
552 char code Du[]=
553 {
554 /*-- 文字: 度 --*/
555 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
556 0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,
557 0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,
558 };
559
560 char code Ya[]=
561 {
562 /*-- 文字: 压 --*/
563 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
564 0x00,0x00,0xFE,0x02,0x42,0x42,0x42,0x42,0xFA,0x42,0x42,0x42,0x62,0x42,0x02,0x00,
565 0x20,0x18,0x27,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x21,0x2E,0x24,0x20,0x20,0x00,
566 };
567
568 char code Li[]=
569 {
570 /*-- 文字: 力 --*/
571 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
572 0x00,0x10,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,
573 0x00,0x00,0x80,0x40,0x20,0x18,0x06,0x01,0x00,0x00,0x40,0x80,0x40,0x3F,0x00,0x00,
574 };
575
576 char code Dian[]=
577 {
578 /*-- 文字: 电 --*/
579 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -