📄 lcddrive12864.lst
字号:
795 ** 日 期:
796 **-------------------------------------------------------------------------------------------------------
797 *********************************************************************************************************/
798 void Display5X8ItemData(uint8 lcdrow,uint8 lcdline,uint16 temp16,uint8 DotNot,uint8 style)
799 {
800 1 uint8 number;
801 1 number = style &0x0F; //取出显示数据的个数
802 1 lcdinit(); //left and right show open
803 1 Display5X8(lcdrow,lcdline,temp16%10+0x30,(bit)(DotNot&1));
804 1 lcdline-=6;
805 1 DotNot = DotNot>>1;
806 1 if(number>1)
807 1 {
808 2 Display5X8(lcdrow, lcdline,(temp16/10)%10+0x30,(bit)(DotNot&1));
809 2 DotNot = DotNot>>1;
810 2 lcdline-=6;
811 2 if(number>2)
812 2 {
813 3 Display5X8(lcdrow, lcdline,(temp16/100)%10+0x30,(bit)(DotNot&1));
814 3 DotNot = DotNot>>1;
815 3 lcdline-=6;
816 3 if(number>3)
817 3 {
818 4 Display5X8(lcdrow, lcdline,(temp16/1000)%10+0x30,(bit)(DotNot&1));
819 4 DotNot = DotNot>>1;
820 4 lcdline-=6;
821 4 if(number>4)
822 4 {
823 5 Display5X8(lcdrow, lcdline,(temp16/10000)%10+0x30,(bit)(DotNot&1));
824 5 }
825 4 }
826 3 }
827 2 }
828 1 }
829 /*********************************************************************************************************
830 ** 函数名称: Display16X16Item
831 ** 功能描述: 在指定的行列绘一16X16点阵数组
832 ** 输 入:
833 ** 输 出:
834 ** 全局变量:
835 ** 调用模块:
836 **
837 ** 作 者: 刘宝贵
838 ** 日 期: 2005年1月26日
839 **-------------------------------------------------------------------------------------------------------
840 ** 修改人:
841 ** 日 期:
842 **-------------------------------------------------------------------------------------------------------
843 *********************************************************************************************************/
844 /*void Display16X16Item(uint8 dlcdrow,uint8 dlcdline,uint8 item)
845 {
846
847 uint8 i;
848 for(i=0;i<7;i++)
849 {
850 if(mb[item][i]==0xFF)
C51 COMPILER V7.06 LCDDRIVE12864 01/22/2007 09:50:02 PAGE 15
851 {
852 break;
853 }
854 Display16X16(dlcdrow,(dlcdline+i*16), mb[item][i]);
855 }
856 }
857 /*********************************************************************************************************
858 ** 函数名称: Display16X8WithDot3
859 ** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后三位数字
860 ** 输 入:
861 ** 输 出:
862 ** 全局变量:
863 ** 调用模块:
864 **
865 ** 作 者: 刘宝贵
866 ** 日 期: 2005年1月26日
867 **-------------------------------------------------------------------------------------------------------
868 ** 修改人:
869 ** 日 期:
870 **-------------------------------------------------------------------------------------------------------
871 *********************************************************************************************************/
872 /*void DisplayInt16X8WithDot3(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
873 {
874 Display16X8(lcdrow, lcdline+8*0,(temp16>=10000) ? (temp16/10000)%10 : 17 );
875 Display16X8(lcdrow, lcdline+8*1,(temp16/1000)%10 );
876 Display16X8(lcdrow, lcdline+8*2,10 );
877 Display16X8(lcdrow, lcdline+8*3,(temp16/100)%10 );
878 Display16X8(lcdrow, lcdline+8*4,(temp16/10)%10 );
879 Display16X8(lcdrow, lcdline+8*5,(temp16%10) );
880 }
881 /*********************************************************************************************************
882 ** 函数名称: Display16X8WithDot2
883 ** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后二位数字
884 ** 输 入:
885 ** 输 出:
886 ** 全局变量:
887 ** 调用模块:
888 **
889 ** 作 者: 刘宝贵
890 ** 日 期: 2005年1月26日
891 **-------------------------------------------------------------------------------------------------------
892 ** 修改人:
893 ** 日 期:
894 **-------------------------------------------------------------------------------------------------------
895 *********************************************************************************************************/
896 /*void DisplayInt16X8WithDot2(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
897 {
898 Display16X8(lcdrow, lcdline+8*0,(temp16>=10000) ? (temp16/10000)%10 : 17 );
899 Display16X8(lcdrow, lcdline+8*1,(temp16>=1000) ? (temp16/1000)%10 : 17 );
900 Display16X8(lcdrow, lcdline+8*2,(temp16/100)%10 );
901 Display16X8(lcdrow, lcdline+8*3,10 );
902 Display16X8(lcdrow, lcdline+8*4,(temp16/10)%10 );
903 Display16X8(lcdrow, lcdline+8*5,(temp16%10) );
904 }
905 /*********************************************************************************************************
906 ** 函数名称: DisplayInt16X8WithoutDot
907 ** 功能描述: 在指定的行列绘一16X8点阵数组,无小数点,不显示前导0
908 ** 输 入: number为显示字符的个数
909 ** 输 出:
910 ** 全局变量:
911 ** 调用模块:
912 **
C51 COMPILER V7.06 LCDDRIVE12864 01/22/2007 09:50:02 PAGE 16
913 ** 作 者: 刘宝贵
914 ** 日 期: 2005年1月26日
915 **-------------------------------------------------------------------------------------------------------
916 ** 修改人:
917 ** 日 期:
918 **-------------------------------------------------------------------------------------------------------
919 *********************************************************************************************************/
920 /*void DisplayInt16X8WithoutDot(uint8 lcdrow ,uint8 lcdline, uint16 temp16,uint8 number)
921 {
922 Display16X8(lcdrow, lcdline+8*4-(5-number)*8,(temp16/1)%10);
923 if(number>1)
924 {
925 Display16X8(lcdrow, lcdline+8*3-(5-number)*8,(temp16>=10) ? (temp16/10)%10 : 17 );
926 if(number>2)
927 {
928 Display16X8(lcdrow, lcdline+8*2-(5-number)*8,(temp16>=100) ? (temp16/100)%10 : 17 );
929 if(number>3)
930 {
931 Display16X8(lcdrow, lcdline+8*1-(5-number)*8,(temp16>=1000) ? (temp16/1000)%10 : 17 );
932 if(number>4)
933 {
934 Display16X8(lcdrow, lcdline+8*0-(5-number)*8,(temp16>=10000) ? (temp16/10000)%10 : 17
-);
935 }
936 }
937 }
938 }
939 }
940 /*********************************************************************************************************
941 ** 函数名称: DisplayInt16X8WithoutDotWithZero
942 ** 功能描述: 在指定的行列绘一16X8点阵数组,无小数点,显示前导0
943 ** 输 入: number为显示字符的个数
944 ** 输 出:
945 ** 全局变量:
946 ** 调用模块:
947 **
948 ** 作 者: 刘宝贵
949 ** 日 期: 2005年1月26日
950 **-------------------------------------------------------------------------------------------------------
951 ** 修改人:
952 ** 日 期:
953 **-------------------------------------------------------------------------------------------------------
954 *********************************************************************************************************/
955 /*void DisplayInt16X8WithoutDotWithZero(uint8 lcdrow ,uint8 lcdline, uint16 temp16,uint8 number)
956 {
957 Display16X8(lcdrow, lcdline+8*4-(5-number)*8,(temp16/1)%10);
958 if(number>1)
959 {
960 Display16X8(lcdrow, lcdline+8*3-(5-number)*8,(temp16/10)%10 );
961 if(number>2)
962 {
963 Display16X8(lcdrow, lcdline+8*2-(5-number)*8,(temp16/100)%10 );
964 if(number>3)
965 {
966 Display16X8(lcdrow, lcdline+8*1-(5-number)*8,(temp16/1000)%10 );
967 if(number>4)
968 {
969 Display16X8(lcdrow, lcdline+8*0-(5-number)*8,(temp16/10000)%10);
970 }
971 }
972 }
973 }
C51 COMPILER V7.06 LCDDRIVE12864 01/22/2007 09:50:02 PAGE 17
974 }
975 /*********************************************************************************************************
976 ** 函数名称: Display16X8WithDot3
977 ** 功能描述: 在指定的行列绘一16X8点阵数组,小数点后三位数字
978 ** 输 入:
979 ** 输 出:
980 ** 全局变量:
981 ** 调用模块:
982 **
983 ** 作 者: 刘宝贵
984 ** 日 期: 2005年1月26日
985 **-------------------------------------------------------------------------------------------------------
986 ** 修改人:
987 ** 日 期:
988 **-------------------------------------------------------------------------------------------------------
989 *********************************************************************************************************/
990 /*void DisplayChar6X8WithoutDot(uint8 lcdrow ,uint8 lcdline, uint8 temp8)
991 {
992 Display6X8(lcdrow, lcdline+6*0,(temp8/100)%10);
993 Display6X8(lcdrow, lcdline+6*1,(temp8/10)%10);
994 Display6X8(lcdrow, lcdline+6*2,(temp8/1)%10);
995 }
996 /*********************************************************************************************************
997 ** 函数名称: DisplayInt6X8WithDot3
998 ** 功能描述: 在指定的行列绘INT型数,小数点后三位数字
999 ** 输 入:
1000 ** 输 出:
1001 ** 全局变量:
1002 ** 调用模块:
1003 **
1004 ** 作 者: 刘宝贵
1005 ** 日 期: 2005年1月26日
1006 **-------------------------------------------------------------------------------------------------------
1007 ** 修改人:
1008 ** 日 期:
1009 **-------------------------------------------------------------------------------------------------------
1010 *********************************************************************************************************/
1011 /*void DisplayInt6X8WithDot3(uint8 lcdrow ,uint8 lcdline, uint16 temp16)
1012 {
1013 Display6X8(lcdrow, lcdline+6*0,(temp16>=10000) ? (temp16/10000)%10 : 15 );
1014 Display6X8(lcdrow, lcdline+6*1,(temp16/1000)%10 );
1015 // Display2X8(lcdrow, lcdline+6*2,10 );
1016 Display6X8(lcdrow, lcdline+6*3-4,(temp16/100)%10 );
1017 Display6X8(lcdrow, lcdline+6*4-4,(temp16/10)%10 );
1018 Display6X8(lcdrow, lcdline+6*5-4,(temp16%10) );
1019 }
1020 /*********************************************************************************************************
1021 ** 函数名称: DisplaySpace
1022 ** 功能描述: 在指定的行列绘一指定个数的16X8空白
1023 ** 输 入:
1024 ** 输 出:
1025 ** 全局变量:
1026 ** 调用模块:
1027 **
1028 ** 作 者: 刘宝贵
1029 ** 日 期: 2005年1月26日
1030 **-------------------------------------------------------------------------------------------------------
1031 ** 修改人:
1032 ** 日 期:
1033 **-------------------------------------------------------------------------------------------------------
1034 *********************************************************************************************************/
1035 /*void DisplaySpace(uint8 lcdrow ,uint8 lcdline, uint8 number)
C51 COMPILER V7.06 LCDDRIVE12864 01/22/2007 09:50:02 PAGE 18
1036 {
1037 do
1038 {
1039 Display16X8(lcdrow, lcdline,17);
1040 number--;
1041 lcdline+=8;
1042 }while(number>0);
1043 }
1044 */
1045
1046
1047
1048
1049
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2871 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 35
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -