📄 display.lst
字号:
851 3
852 3 if(Data1_2 & 0x0001)
853 3 {
854 4 LED_DIN2 = 1;
855 4 }
856 3 else
857 3 {
858 4 LED_DIN2 = 0;
859 4 }
860 3
861 3 LED_DCLK2 = 1;
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 15
862 3
863 3 Temp = Data1_2>>1;
864 3 Data1_2 = Temp;
865 3 }
866 2
867 2 LED_E = 0;
868 2 LED_E = 1;
869 2
870 2 for(i=0; i<12; i++)
871 2 {
872 3 LED_DCLK2 = 0;
873 3
874 3 if(Data0_2 & 0x0001)
875 3 {
876 4 LED_DIN2 = 1;
877 4 }
878 3 else
879 3 {
880 4 LED_DIN2 = 0;
881 4 }
882 3
883 3 LED_DCLK2 = 1;
884 3
885 3 Temp = Data0_2>>1;
886 3 Data0_2 = Temp;
887 3 }
888 2
889 2 LED_E = 0;
890 2 LED_E = 1;
891 2 }
892 1 }
893
894 void UpdateVoltage_3(unsigned char Channel, unsigned int Result) // 数码管17-21显示更新
895 {
896 1 unsigned int Data3_1 = 0x0f00;
897 1 unsigned int Data2_1 = 0x0e00;
898 1 unsigned int Data1_1 = 0x0d80;
899 1 unsigned int Data0_1 = 0x0c00;
900 1
901 1 unsigned int Data3_2 = 0x0b00;
902 1 unsigned int Data2_2 = 0x0a00;
903 1 unsigned int Data1_2 = 0x0980;
904 1 unsigned int Data0_2 = 0x0800;
905 1
906 1 unsigned char Hundred;
907 1 unsigned char Decade;
908 1 unsigned char One;
909 1 unsigned char Tenth;
910 1
911 1 unsigned int Temp;
912 1 unsigned char i;
913 1
914 1 Hundred = Result/0x0333; // 计算百位数值
915 1
916 1 Result %= 0x333;
917 1 Decade = Result/0x52; // 计算十位数值
918 1
919 1 Result %= 0x52;
920 1 One = Result/0x08; // 计算个位数值
921 1
922 1 Result %= 0x08;
923 1 Tenth = Result*1.22; // 计算小数位数值
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 16
924 1
925 1 if(Channel%2)
926 1 {
927 2 Data3_1 |= Hundred; // 准备要发送的数据
928 2 Data2_1 |= Decade;
929 2 Data1_1 |= One;
930 2 Data0_1 |= Tenth;
931 2
932 2 switch(Channel) // 确定要选通的驱动芯片
933 2 {
934 3 case 17:
935 3 LED_A3 = 0;
936 3 LED_A2 = 0;
937 3 LED_A1 = 0;
938 3 LED_A0 = 0;
939 3 break;
940 3 case 19:
941 3 LED_A3 = 0;
942 3 LED_A2 = 0;
943 3 LED_A1 = 0;
944 3 LED_A0 = 1;
945 3 break;
946 3 case 21:
947 3 LED_A3 = 0;
948 3 LED_A2 = 0;
949 3 LED_A1 = 1;
950 3 LED_A0 = 0;
951 3 break;
952 3 }
953 2
954 2 for(i=0; i<12; i++) // 更新数码管显示
955 2 {
956 3 LED_DCLK3 = 0;
957 3
958 3 if(Data3_1 & 0x0001)
959 3 {
960 4 LED_DIN3 = 1;
961 4 }
962 3 else
963 3 {
964 4 LED_DIN3 = 0;
965 4 }
966 3
967 3 LED_DCLK3 = 1;
968 3
969 3 Temp = Data3_1>>1;
970 3 Data3_1 = Temp;
971 3 }
972 2
973 2 LED_E = 0;
974 2 LED_E = 1;
975 2
976 2 for(i=0; i<12; i++)
977 2 {
978 3 LED_DCLK3 = 0;
979 3
980 3 if(Data2_1 & 0x0001)
981 3 {
982 4 LED_DIN3 = 1;
983 4 }
984 3 else
985 3 {
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 17
986 4 LED_DIN3 = 0;
987 4 }
988 3
989 3 LED_DCLK3 = 1;
990 3
991 3 Temp = Data2_1>>1;
992 3 Data2_1 = Temp;
993 3 }
994 2
995 2 LED_E = 0;
996 2 LED_E = 1;
997 2
998 2 for(i=0; i<12; i++)
999 2 {
1000 3 LED_DCLK3 = 0;
1001 3
1002 3 if(Data1_1 & 0x0001)
1003 3 {
1004 4 LED_DIN3 = 1;
1005 4 }
1006 3 else
1007 3 {
1008 4 LED_DIN3 = 0;
1009 4 }
1010 3
1011 3 LED_DCLK3 = 1;
1012 3
1013 3 Temp = Data1_1>>1;
1014 3 Data1_1 = Temp;
1015 3 }
1016 2
1017 2 LED_E = 0;
1018 2 LED_E = 1;
1019 2
1020 2 for(i=0; i<12; i++)
1021 2 {
1022 3 LED_DCLK3 = 0;
1023 3
1024 3 if(Data0_1 & 0x0001)
1025 3 {
1026 4 LED_DIN3 = 1;
1027 4 }
1028 3 else
1029 3 {
1030 4 LED_DIN3 = 0;
1031 4 }
1032 3
1033 3 LED_DCLK3 = 1;
1034 3
1035 3 Temp = Data0_1>>1;
1036 3 Data0_1 = Temp;
1037 3 }
1038 2
1039 2 LED_E = 0;
1040 2 LED_E = 1;
1041 2 }
1042 1 else
1043 1 {
1044 2 Data3_2 |= Hundred;
1045 2 Data2_2 |= Decade;
1046 2 Data1_2 |= One;
1047 2 Data0_2 |= Tenth;
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 18
1048 2
1049 2 switch(Channel) // 确定要选通的驱动芯片
1050 2 {
1051 3 case 18:
1052 3 LED_A3 = 0;
1053 3 LED_A2 = 0;
1054 3 LED_A1 = 0;
1055 3 LED_A0 = 0;
1056 3 break;
1057 3 case 20:
1058 3 LED_A3 = 0;
1059 3 LED_A2 = 0;
1060 3 LED_A1 = 0;
1061 3 LED_A0 = 1;
1062 3 break;
1063 3 }
1064 2
1065 2 for(i=0; i<12; i++) // 更新数码管显示
1066 2 {
1067 3 LED_DCLK3 = 0;
1068 3
1069 3 if(Data3_2 & 0x0001)
1070 3 {
1071 4 LED_DIN3 = 1;
1072 4 }
1073 3 else
1074 3 {
1075 4 LED_DIN3 = 0;
1076 4 }
1077 3
1078 3 LED_DCLK3 = 1;
1079 3
1080 3 Temp = Data3_2>>1;
1081 3 Data3_2 = Temp;
1082 3 }
1083 2
1084 2 LED_E = 0;
1085 2 LED_E = 1;
1086 2
1087 2 for(i=0; i<12; i++)
1088 2 {
1089 3 LED_DCLK3 = 0;
1090 3
1091 3 if(Data2_2 & 0x0001)
1092 3 {
1093 4 LED_DIN3 = 1;
1094 4 }
1095 3 else
1096 3 {
1097 4 LED_DIN3 = 0;
1098 4 }
1099 3
1100 3 LED_DCLK3 = 1;
1101 3
1102 3 Temp = Data2_2>>1;
1103 3 Data2_2 = Temp;
1104 3 }
1105 2
1106 2 LED_E = 0;
1107 2 LED_E = 1;
1108 2
1109 2 for(i=0; i<12; i++)
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 19
1110 2 {
1111 3 LED_DCLK3 = 0;
1112 3
1113 3 if(Data1_2 & 0x0001)
1114 3 {
1115 4 LED_DIN3 = 1;
1116 4 }
1117 3 else
1118 3 {
1119 4 LED_DIN3 = 0;
1120 4 }
1121 3
1122 3 LED_DCLK3 = 1;
1123 3
1124 3 Temp = Data1_2>>1;
1125 3 Data1_2 = Temp;
1126 3 }
1127 2
1128 2 LED_E = 0;
1129 2 LED_E = 1;
1130 2
1131 2 for(i=0; i<12; i++)
1132 2 {
1133 3 LED_DCLK3 = 0;
1134 3
1135 3 if(Data0_2 & 0x0001)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -