📄 lcdlong.lst
字号:
565 -------图形方式下打印BMP图画子程序------------------------------------------
566 *************************************************************************
567 说明:入口参数:图画的点数组指针
568 出口参数:无
569 ************************************************************************/
570
571 void LCD_PutBMP(unsigned char *ptr)
572 {unsigned char i,j;
573 1 for(i=0;i<0x20;i++)
574 1 {for(j=0;j<8;j++)
575 2 {
576 3 LCD_WriteCommand(0x80+i);
577 3 LCD_WriteCommand(0x80+j);
578 3 LCD_WriteData(*ptr);
579 3 ptr++;
580 3 LCD_WriteData(*ptr);
581 3 ptr++;
582 3 }
583 2 }
584 1 for(i=0;i<0x20;i++)
585 1 {for(j=0;j<8;j++)
586 2 {
587 3 LCD_WriteCommand(0x80+i);
588 3 LCD_WriteCommand(0x80+j+8);
589 3 LCD_WriteData(*ptr++);
590 3 LCD_WriteData(*ptr++);
591 3 }
592 2 }
593 1 }
594
595 /************************************************************************
596 -------图形方式下WINDOWS窗口子程序---------------------------------------
597 *************************************************************************
598 说明:入口参数:TITLE OF THE WINDOWS
599 出口参数:无
600 ************************************************************************/
601 void WindowsFront(unsigned char *ptr)
602 {
603 1 LCD_CLEAR();
604 1 Delay1ms(100);
605 1 LCD_ChangMode(1);
606 1 LCD_PutBMP(WindowsFronts);
607 1 Delay1ms(100);
608 1 LCD_ChangMode(0);
609 1 LCD_CURSOR_OFF();
610 1 LCD_Printf(1,1,ptr);
611 1 }
612
613
C51 COMPILER V8.08 LCDLONG 10/20/2008 18:56:03 PAGE 11
614
615 /*
616
617 main()
618 {
619 unsigned char i;
620 // unsigned char hz[]="十八组”;
621 LCD_Config();
622 LCD_Init();
623 LCD_ChangMode(1);
624 LCD_PutPiex(6,7);
625 // LCD_ChangMode(0);
626 // LCD_Printf(1,1,"lcd init");
627 // LCD_CURSOR_OFF();
628
629 // for(i=0;i<10;i++)
630 // Delay1ms(200);
631 // LCD_ChangMode(1);
632 // LCD_PutPiex(6,7);
633 // for(i=0;i<10;i++)
634 // Delay1ms(200);
635
636 LCD_ChangMode(0);
637 LCD_CURSOR_OFF();
638 LCD_PutHZ(1,1,"十" );
639 LCD_PutHZ(1,2,"八");
640 LCD_PutHZ(1,3,"组");
641 while(1);
642 while(1);
643 /*
644 unsigned char i;
645 unsigned char num[4];
646 num[2]='%';num[3]=0;
647 config();
648 LCD_Init();
649 LCD_ChangMode(1);
650 LCD_PutBMP(screen0);
651 Delay1ms(1);
652 LCD_ChangMode(0);
653 LCD_CURSOR_OFF();
654 LCD_Printf(4,1,"Copyright Team18");
655 for(i=0;i<5;i++)
656 Delay1ms(200);
657 LCD_CLEAR();
658 for(i=0;i<10;i++)
659 {LCD_Printf(1,1,"System Star...");
660 Delay1ms(100);
661 }
662 for(i=0;i<64;i++)
663 {LCD_Printf(2,1,"Hardware Init.");
664 switch(i%4)
665 {
666 case 0: {LCD_PutChar(2,8,'-');Delay1ms(80);break;}
667 case 1: {LCD_PutChar(2,8,92);Delay1ms(80);break;}
668 case 2: {LCD_PutChar(2,8,'|');Delay1ms(80);break;}
669 case 3: {LCD_PutChar(2,8,'/');Delay1ms(80);break;}
670 }
671 }
672 LCD_Printf(3,1,"C8051F020 CPU!");
673 for(i=0;i<5;i++)
674 Delay1ms(100);
675 LCD_Printf(3,1,"OK!!! ");
C51 COMPILER V8.08 LCDLONG 10/20/2008 18:56:03 PAGE 12
676 for(i=0;i<5;i++)
677 Delay1ms(100);
678 LCD_Printf(4,1,"SYSTEM CLOCK!!");
679 for(i=0;i<5;i++)
680 Delay1ms(100);
681 LCD_Printf(4,1,"OK!!!8M ");
682 for(i=0;i<5;i++)
683 Delay1ms(100);
684 LCD_CLEAR();
685 for(i=0;i<=100;i++)
686 {
687 LCD_Printf(1,1,"MEMORY TEST.");
688 Delay1ms(40);
689 num[0]=i/10+0x30;
690 num[1]=i%10+0x30;
691 LCD_Printf(1,7,num);
692 Delay1ms(10);
693 }
694 LCD_Printf(2,1,"Basic Mem 256B");
695 Delay1ms(100);
696 LCD_Printf(3,1,"Exten Mem 4096B");
697 Delay1ms(100);
698 LCD_Printf(4,1,"Flash Mem 64KB");
699 for(i=0;i<10;i++)
700 Delay1ms(150);
701 LCD_CLEAR();
702 for(i=0;i<5;i++)
703 {
704 Delay1ms(100);
705 LCD_Printf(1,1,"128*64 LCD..");
706 }
707 LCD_Printf(1,7,"OK");
708 for(i=0;i<10;i++)
709 Delay1ms(100);
710 LCD_Printf(2,1,"KEYBOARD TEST!");
711 for(i=0;i<5;i++)
712 Delay1ms(100);
713 LCD_Printf(2,1,"ERR!!!!! ");
714 for(i=0;i<5;i++)
715 Delay1ms(100);
716 LCD_Printf(3,1,"SYSTEM TEST END");
717 LCD_Printf(4,1," WELCOME!!! ");
718 for(i=0;i<10;i++)
719 Delay1ms(200);
720 LCD_CLEAR();
721 Delay1ms(20);
722 LCD_ChangMode(1);
723 LCD_PutBMP(screen2);
724 Delay1ms(20);
725 LCD_ChangMode(0);
726 LCD_WriteCommand(0x0f);
727 LCD_Goto(4,2);
728 Delay1ms(200);
729 Delay1ms(200);
730 Delay1ms(200);
731 WindowsFront(" 超声测距系统 ");
732 while(1)
733 {_nop_();}
734
735 }
736
737 */
C51 COMPILER V8.08 LCDLONG 10/20/2008 18:56:03 PAGE 13
738
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 684 ----
CONSTANT SIZE = 3104 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
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 + -