📄 show.lst
字号:
787 * 全局变量: 无
788 *
789 * 调用模块: 无
790 *
791 * 作 者: Aoker
792 * 创建时间: 2004年12月8日
793 ********************************************************************************************************/
794 /*
795 void KLine(BYTE bSx, BYTE bSy, BYTE bWidth)
796 {
797 LcdDrawLine(bSx, bSy, bSx+bWidth, bSy, 1);
798 LcdDrawLine(bSx, bSy+1, bSx+bWidth, bSy+1, 1);
799 }
C51 COMPILER V7.10 SHOW 06/18/2007 11:05:54 PAGE 14
800 */
801 /*********************************************************************************************************
802 * 函数名称: myprintf
803 *
804 * 功能描述: 自编简单printf函数,只限于浮点数处理显示
805 *
806 * 入口参数: dotx=0,无小数显示; dotx=1,1位小数显示; =2,2位小数显示; =3,3位小数显示;
807 * Attr, 0-正显; 1-反显
808 *
809 * 出口参数: 返回输出数据所占的字节数
810 *
811 * 全局变量: 无
812 *
813 * 调用模块: 无
814 *
815 * 作 者: Aoker
816 * 创建时间: 2004年12月20日
817 ********************************************************************************************************/
818 /*
819 BYTE myprintf(BYTE bSx, bSy, BYTE dotx, bit Attr, float fp)
820 {
821 DWORD mulnum;
822 BYTE shiwan,wan,qian,bai,shi,ge;
823 BYTE NumByte;
824
825 if(dotx == 0)
826 mulnum = (DWORD)(floor(fp * 1));
827 if(dotx == 1)
828 mulnum = (DWORD)(floor(fp * 10));
829 if(dotx == 2)
830 mulnum = (DWORD)(floor(fp * 100));
831 if(dotx == 3)
832 mulnum = (DWORD)(floor(fp * 1000));
833
834 if(mulnum > 999999)
835 {
836 DispStr(76, 64, 0, "data error!");
837 DispStr(76, 80, 0, "Please restart!");
838 return 0;
839 }
840 shiwan = mulnum/100000; //十万位
841 wan = mulnum/10000%10; //万位
842 qian = mulnum/1000%10; //千位
843 bai = mulnum/100%10; //百位
844 shi = mulnum/10%10; //十位
845 ge = mulnum%10; //个位
846
847 if(shiwan != 0)
848 {
849 DispNum(bSx, bSy, Attr, shiwan);
850 DispNum(bSx+8, bSy, Attr, wan);
851 DispNum(bSx+16, bSy, Attr, qian);
852
853 if(dotx == 3)
854 {
855 DispStr(bSx+24, bSy, Attr, ".");
856 DispNum(bSx+32, bSy, Attr, bai);
857 DispNum(bSx+40, bSy, Attr, shi);
858 DispNum(bSx+48, bSy, Attr, ge);
859 NumByte = 56;
860 }
861 if(dotx == 2)
C51 COMPILER V7.10 SHOW 06/18/2007 11:05:54 PAGE 15
862 {
863 DispNum(bSx+24, bSy, Attr, bai);
864 DispStr(bSx+32, bSy, Attr, ".");
865 DispNum(bSx+40, bSy, Attr, shi);
866 DispNum(bSx+48, bSy, Attr, ge);
867 NumByte = 56;
868 }
869 if(dotx == 1)
870 {
871 DispNum(bSx+24, bSy, Attr, bai);
872 DispNum(bSx+32, bSy, Attr, shi);
873 DispStr(bSx+40, bSy, Attr, ".");
874 DispNum(bSx+48, bSy, Attr, ge);
875 NumByte = 56;
876 }
877 if(dotx == 0)
878 {
879 DispNum(bSx+24, bSy, Attr, bai);
880 DispNum(bSx+32, bSy, Attr, shi);
881 DispNum(bSx+40, bSy, Attr, ge);
882 NumByte = 48;
883 }
884 return(NumByte);
885 }
886
887 if(wan != 0)
888 {
889 DispNum(bSx, bSy, Attr, wan);
890 DispNum(bSx+8, bSy, Attr, qian);
891
892 if(dotx == 3)
893 {
894 DispStr(bSx+16, bSy, Attr, ".");
895 DispNum(bSx+24, bSy, Attr, bai);
896 DispNum(bSx+32, bSy, Attr, shi);
897 DispNum(bSx+40, bSy, Attr, ge);
898 NumByte = 48;
899 }
900 if(dotx == 2)
901 {
902 DispNum(bSx+16, bSy, Attr, bai);
903 DispStr(bSx+24, bSy, Attr, ".");
904 DispNum(bSx+32, bSy, Attr, shi);
905 DispNum(bSx+40, bSy, Attr, ge);
906 NumByte = 48;
907 }
908 if(dotx == 1)
909 {
910 DispNum(bSx+16, bSy, Attr, bai);
911 DispNum(bSx+24, bSy, Attr, shi);
912 DispStr(bSx+32, bSy, Attr, ".");
913 DispNum(bSx+40, bSy, Attr, ge);
914 NumByte = 48;
915 }
916 if(dotx == 0)
917 {
918 DispNum(bSx+16, bSy, Attr, bai);
919 DispNum(bSx+24, bSy, Attr, shi);
920 DispNum(bSx+32, bSy, Attr, ge);
921 NumByte = 40;
922 }
923 return(NumByte);
C51 COMPILER V7.10 SHOW 06/18/2007 11:05:54 PAGE 16
924 }
925
926 if(dotx == 3)
927 {
928 DispNum(bSx, bSy, Attr, qian);
929 DispStr(bSx+8, bSy, Attr, ".");
930 DispNum(bSx+16, bSy, Attr, bai);
931 DispNum(bSx+24, bSy, Attr, shi);
932 DispNum(bSx+32, bSy, Attr, ge);
933 NumByte = 40;
934 return(NumByte);
935 }
936
937 if(dotx == 2)
938 {
939 if(qian != 0)
940 {
941 DispNum(bSx, bSy, Attr, qian);
942 DispNum(bSx+8, bSy, Attr, bai);
943 DispStr(bSx+16, bSy, Attr, ".");
944 DispNum(bSx+24, bSy, Attr, shi);
945 DispNum(bSx+32, bSy, Attr, ge);
946 NumByte = 40;
947 }else{
948 DispNum(bSx, bSy, Attr, bai);
949 DispStr(bSx+8, bSy, Attr, ".");
950 DispNum(bSx+16, bSy, Attr, shi);
951 DispNum(bSx+24, bSy, Attr, ge);
952 NumByte = 32;
953 }
954 return(NumByte);
955 }
956 if(dotx == 1)
957 {
958 if(qian != 0)
959 {
960 DispNum(bSx, bSy, Attr, qian);
961 DispNum(bSx+8, bSy, Attr, bai);
962 DispNum(bSx+16, bSy, Attr, shi);
963 DispStr(bSx+24, bSy, Attr, ".");
964 DispNum(bSx+32, bSy, Attr, ge);
965 NumByte = 40;
966 }else if(bai != 0)
967 {
968 DispNum(bSx, bSy, Attr, bai);
969 DispNum(bSx+8, bSy, Attr, shi);
970 DispStr(bSx+16, bSy, Attr, ".");
971 DispNum(bSx+24, bSy, Attr, ge);
972 NumByte = 32;
973 }else{
974 DispNum(bSx, bSy, Attr, shi);
975 DispStr(bSx+8, bSy, Attr, ".");
976 DispNum(bSx+16, bSy, Attr, ge);
977 NumByte = 24;
978 }
979 return(NumByte);
980 }
981 if(dotx == 0)
982 {
983 if(qian != 0)
984 {
985 DispNum(bSx, bSy, Attr, qian);
C51 COMPILER V7.10 SHOW 06/18/2007 11:05:54 PAGE 17
986 DispNum(bSx+8, bSy, Attr, bai);
987 DispNum(bSx+16, bSy, Attr, shi);
988 DispNum(bSx+24, bSy, Attr, ge);
989 NumByte = 32;
990 return(NumByte);
991 }
992 if(bai != 0)
993 {
994 DispNum(bSx, bSy, Attr, bai);
995 DispNum(bSx+8, bSy, Attr, shi);
996 DispNum(bSx+16, bSy, Attr, ge);
997 NumByte = 24;
998 return(NumByte);
999 }
1000 if(shi != 0)
1001 {
1002 DispNum(bSx, bSy, Attr, shi);
1003 DispNum(bSx+8, bSy, Attr, ge);
1004 NumByte = 16;
1005 return(NumByte);
1006 }
1007 DispNum(bSx, bSy, Attr, ge);
1008 NumByte = 8;
1009 return(NumByte);
1010 }
1011 }
1012 */
1013 /*****************************************
1014 创建矩形框
1015 ******************************************/
1016 /*
1017 void SetRectangle(BYTE bStartX, BYTE bStartY, BYTE bWidth, BYTE bHeight)
1018 {
1019 BYTE i, t;
1020 if(bHeight>20)
1021 t = 2;
1022 else
1023 t = 1;
1024 for(i=0; i<t; i++)
1025 {
1026 LcdDrawLine(bStartX, bStartY-i, bStartX+bWidth, bStartY-i, 1);
1027 LcdDrawLine(bStartX, bStartY+bHeight-i, bStartX+bWidth, bStartY+bHeight-i, 1);
1028 LcdDrawLine(bStartX+i, bStartY, bStartX+i, bStartY+bHeight, 1);
1029 LcdDrawLine(bStartX+bWidth-i, bStartY, bStartX+bWidth-i, bStartY+bHeight, 1);
1030 }
1031 for(i=1; i<bHeight/20; i++)
1032 LcdDrawLine(bStartX, bStartY+i*20, bStartX+bWidth, bStartY+i*20, 1);
1033 }
1034 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1194 ----
CONSTANT SIZE = 18 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 61
IDATA SIZE = ---- ----
BIT SIZE = 1 4
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -