📄 lcm.lst
字号:
631 3 }
632 2 if( (uint8)*str >= 0xA0 )
633 2 {
634 3 strncpy(regc, str, 2);
635 3 regc[2] = 0;
636 3 LCD_DispChStr16x16(x, y, regc, bReve, FontNo);
637 3 str = str + 2;
638 3 x = x + 16;
639 3 }
640 2 }
641 1 }
642
643
644 /****************************************************************************
645 * 名称:LCD_DispAsciiChCURS()
646 * 功能:显示光标
647 * 入口参数:x 指定显示位置,x坐标
648 * y 指定显示位置,y坐标
649 * bCOLOR 0/1, 不显示/显示.
650 * bCHAR 0/1, ASCII码字符/汉字字符型光标.
651 * 出口参数:
652 * 说明:
653 ****************************************************************************/
654 void LCD_DispAsciiChCURS(uint8 xx, uint8 yy, bit bCOLOR, bit bCHAR)
655 {
656 1 uint8 idata x, y;
657 1
658 1 x = xx;
659 1 y = yy;
660 1
661 1 if( bCHAR == 1 ) // 显示汉字
662 1 {
663 2 if( bCOLOR == 1 ) // 显示光标
664 2 {
665 3 LCD_UpdateByte(x, y+15, 0xff);
666 3 LCD_UpdateByte(x+8, y+15, 0xff);
667 3 }
668 2 else // 不显示光标
669 2 {
670 3 LCD_UpdateByte(x, y+15, 0x00);
671 3 LCD_UpdateByte(x+8, y+15, 0x00);
672 3 }
673 2 }
674 1 else // 显示ASCII码
C51 COMPILER V7.06 LCM 09/04/2006 09:56:02 PAGE 12
675 1 {
676 2 if( bCOLOR == 1 ) // 显示光标
677 2 {
678 3 LCD_UpdateByte(x, y+15, 0xff);
679 3 }
680 2 else // 不显示光标
681 2 {
682 3 LCD_UpdateByte(x, y+15, 0x00);
683 3 }
684 2 }
685 1 }
686
687
688 /****************************************************************************
689 ** 函数名称: LCD_SelfTest()
690 ** 功能描述: LCD测试程序
691 ** 入口参数: 无
692 ** 出口参数: 无
693 ** 全局变量: 无
694 ** 调用模块: 无
695 ** 说明:
696 ****************************************************************************/
697 void LCD_SelfTest(void)
698 {
699 1 LCD_BLED = 1; // Light ON.
700 1
701 1 Box();
*** WARNING C206 IN LINE 701 OF LCM.C: 'Box': missing function-prototype
702 1 D1S(1);
703 1 Staticmap();
*** WARNING C206 IN LINE 703 OF LCM.C: 'Staticmap': missing function-prototype
704 1 D1S(1);
705 1 Box();
706 1 // Scrollmap();
707 1 /*
708 1 LCD_DispAsciiChStr (16, 96, "苏州LZK-X型电动机", 1);
709 1
710 1 LCD_DispAsciiCh16x8 (16, 16, '4' );
711 1 LCD_DispAsciiStr16x8( 0, 32, ">0123456789LZK-xABCDEFG");
712 1 LCD_DispChChar16x16 (16, 48, "科", 1);
713 1 LCD_DispChStr16x16 (32, 48, "科树", 1);
714 1
715 1 LCD_DispChStr16x16 (64, 48, "通信", 1);
716 1 LCD_DispChStr16x16 (64+2*16+8, 48, "公科有技限司", 1);
717 1 LCD_DispChStr16x16 (16, 72, "友明科技有限公司", 1);
718 1
719 1 LCD_DispAsciiChStr (16,112, "常滑全", 0);
720 1 LCD_DispAsciiChStr (64,112, "科树", 1);
721 1 */
722 1 LCD_BLED = 0; // Light OFF
723 1 D1S(1);
724 1 }
725
726
727 /****************************************************************************
728 ** 函数名称: LCD_GoToXY()
729 ** 功能描述: 光标定位
730 ** 入口参数: 无
731 ** 出口参数: 无
732 ** 全局变量: 无
733 ** 调用模块: 无
734 ** 说明:
C51 COMPILER V7.06 LCM 09/04/2006 09:56:02 PAGE 13
735 ****************************************************************************/
736 void LCD_GoToXY(uint8 x, uint8 y)
737 {
738 1 CURS_X = x;
739 1 CURS_Y = y;
740 1 }
741
742
743
744
745 Staticmap()
746 {
747 1 int i,j,tr1,tr2;
748 1
749 1 LCD_CS(); /* ExSRAM Page 16 */
750 1
751 1 LCD_WriteCommand(0xB0); /* SET PAGE ADDRESS */
752 1 LCD_WriteCommand(0x10); /* SET COLUMN ADDRESS MSB(00000000) */
753 1 LCD_WriteCommand(0x00); /* SET COLUMN ADDRESS LSB(00000000) */
754 1 LCD_WriteCommand(0x89); /* SET RAM ADDRESS CONTROL */
755 1 for(i=0;i<480;i++)
756 1 {
757 2 LCD_WriteData(0x00);
758 2 // DmS(10);
759 2 }
760 1 for(i=0,tr1=0,tr2=0;i<13;i++)
761 1 {
762 2 for(j=0;j<24;j++)
763 2 {
764 3 LCD_WriteData(0x00);
765 3 // DmS(10);
766 3 }
767 2 for(j=0;j<96;j++,tr1++)
768 2 {
769 3 LCD_WriteData(TRULY1[tr1]);
770 3 // DmS(10);
771 3 }
772 2 for(j=0;j<96;j++,tr2++)
773 2 {
774 3 LCD_WriteData(TRULY2[tr2]);
775 3 // DmS(10);
776 3 }
777 2 for(j=0;j<24;j++)
778 2 {
779 3 LCD_WriteData(0x00);
780 3 // DmS(10);
781 3 }
782 2 }
783 1 for(i=0;i<240;i++)
784 1 LCD_WriteData(0x00);
785 1 }
786
787 Box()
788 {
789 1 int i,j;
790 1
791 1 LCD_CS(); /* ExSRAM Page 16 */
792 1
793 1 LCD_WriteCommand(0xB0); /*SET PAGE ADDRESS*/
794 1 LCD_WriteCommand(0x10); /*SET COLUMN ADDRESS MSB(00000000)*/
795 1 LCD_WriteCommand(0x00); /*SET COLUMN ADDRESS LSB(00000000)*/
796 1 LCD_WriteCommand(0x89); /*SET RAM ADDRESS CONTROL*/
C51 COMPILER V7.06 LCM 09/04/2006 09:56:02 PAGE 14
797 1
798 1 LCD_WriteData(0xFF);
799 1
800 1 for(i=0;i<238;i++)
801 1 LCD_WriteData(0x01);
802 1
803 1 LCD_WriteData(0xFF);
804 1
805 1 for(i=0;i<14;i++)
806 1 {
807 2 LCD_WriteData(0xFF);
808 2
809 2 for(j=0;j<238;j++)
810 2 LCD_WriteData(0x00);
811 2
812 2 LCD_WriteData(0xFF);
813 2 }
814 1
815 1 LCD_WriteData(0xFF);
816 1
817 1 for(i=0;i<238;i++)
818 1 LCD_WriteData(0x80);
819 1
820 1 LCD_WriteData(0xFF);
821 1 ExInSRAM_Select(0); //
822 1 }
823
824
825
826
827
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2074 ----
CONSTANT SIZE = 5000 ----
XDATA SIZE = 2 7
PDATA SIZE = ---- ----
DATA SIZE = ---- 42
IDATA SIZE = ---- 10
BIT SIZE = ---- 8
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 3 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -