📄 main.lst
字号:
970 2
971 2 ADC_CONTR|=0x01;
972 2
973 2 break;
974 2
975 2
976 2
977 2 case 2:
978 2
979 2 P1M0=0x04;
980 2
981 2 P1M1=0x00;
982 2
983 2 ADC_CONTR&=0xf8;
984 2
985 2 ADC_CONTR|=0x02;
986 2
987 2 break;
988 2
989 2
990 2
991 2 case 3:
992 2
993 2 P1M0=0x08;
994 2
995 2 P1M1=0x10;
996 2
997 2 ADC_CONTR&=0xf8;
998 2
999 2 ADC_CONTR|=0x03;
1000 2
1001 2 break;
1002 2
1003 2
1004 2
1005 2 case 4:
1006 2
1007 2 P1M0=0x10;
1008 2
1009 2 P1M1=0x00;
1010 2
1011 2 ADC_CONTR&=0xf8;
1012 2
C51 COMPILER V7.50 MAIN 08/24/2007 11:21:58 PAGE 20
1013 2 ADC_CONTR|=0x03;
1014 2
1015 2 break;
1016 2
1017 2
1018 2
1019 2 case 5:
1020 2
1021 2 P1M0=0x20;
1022 2
1023 2 P1M1=0x00;
1024 2
1025 2 ADC_CONTR&=0xf8;
1026 2
1027 2 ADC_CONTR|=0x05;
1028 2
1029 2 break;
1030 2
1031 2
1032 2
1033 2 case 6:
1034 2
1035 2 P1M0=0x40;
1036 2
1037 2 P1M1=0x00;
1038 2
1039 2 ADC_CONTR&=0xf8;
1040 2
1041 2 ADC_CONTR|=0x06;
1042 2
1043 2 break;
1044 2
1045 2
1046 2
1047 2 case 7:
1048 2
1049 2 P1M0=0x80;
1050 2
1051 2 P1M1=0x80;
1052 2
1053 2 ADC_CONTR&=0xf8;
1054 2
1055 2 ADC_CONTR|=0x07;
1056 2
1057 2 break;
1058 2
1059 2 }
1060 1
1061 1 ADC_CONTR=0xe7;
1062 1
1063 1 }
1064
1065 //--------------------------------------------------------------------
1066
1067 uint GET_AD_Result()//启动AD转换并返回转换值
1068
1069 {
1070 1
1071 1 uchar temp;
1072 1
1073 1 uint data_temp;
1074 1
C51 COMPILER V7.50 MAIN 08/24/2007 11:21:58 PAGE 21
1075 1 data_temp=0;
1076 1
1077 1 ADC_DATA=0;
1078 1
1079 1 ADC_LOW2=0;
1080 1
1081 1 ADC_CONTR|=0x08;
1082 1
1083 1 re: temp=0x10;
1084 1
1085 1 temp&=ADC_CONTR;
1086 1
1087 1 if(temp==0)
1088 1
1089 1 goto re;
1090 1
1091 1 ADC_CONTR&=0xe7;
1092 1
1093 1 data_temp=ADC_DATA;
1094 1
1095 1 data_temp<<=2;
1096 1
1097 1 data_temp+=ADC_LOW2;
1098 1
1099 1 return data_temp;
1100 1
1101 1 }
1102
1103 //--------------------------------------------------------------------
1104
1105
1106
1107 //模块:Dis_Wave.C
1108
1109 //功能:示波器模块
1110
1111 //晶振:24.000MHz
1112
1113 //芯片: STC12C5412AD
1114
1115 //版本:V1.0.0
1116
1117 //设计:魏广寅
1118
1119 //日期:2007.4.10
1120
1121 #include "lcd12864_driver_new.h"
*** WARNING C318 IN LINE 1121 OF main.c: can't open file 'lcd12864_driver_new.h'
1122
1123 #define uchar unsigned char
1124
1125 #define uint unsigned int
1126
1127 extern void d0(void);
1128
1129 extern uchar keyfuncindex;
1130
1131 extern void d1(void);
1132
1133 extern void AD_init(uchar AD_port_sel );
1134
1135 extern uint GET_AD_Result();//启动AD转换并返回转换值
C51 COMPILER V7.50 MAIN 08/24/2007 11:21:58 PAGE 22
1136
1137 extern void delay_1(uchar time);
1138
1139 uint xdata record[128];
1140
1141 sbit key1=P3^0;
1142
1143 sbit key2=P3^1;
1144
1145 //--------------------------------------------------------------------
1146
1147 void delay(uint time)
1148
1149 {
1150 1
1151 1 uchar jj,hh;
1152 1
1153 1 while(--time!=0)
1154 1
1155 1 {
1156 2
1157 2 for(jj==0;jj<255;jj++)
1158 2
1159 2 {
1160 3
1161 3 for(hh==0;hh<255;hh++);
1162 3
1163 3 }
1164 2
1165 2
1166 2
1167 2 }
1168 1
1169 1 }
1170
1171 //--------------------------------------------------------------------
1172
1173 void wave()
1174
1175 {
*** ERROR C231 IN LINE 1175 OF MAIN.C: 'wave': redefinition
1176 1
1177 1
1178 1
1179 1 uchar mod=1;
1180 1
1181 1 uchar data k;
1182 1
1183 1 float x2;
1184 1
1185 1 lcd_init();
1186 1
1187 1 AD_init(7);
1188 1
1189 1 while(1)
1190 1
1191 1 {
1192 2
1193 2
1194 2
1195 2 for(k=0;k<128;k++)
1196 2
C51 COMPILER V7.50 MAIN 08/24/2007 11:21:58 PAGE 23
1197 2 {
1198 3
1199 3 record[k]=GET_AD_Result();
1200 3
1201 3
1202 3
1203 3 }
1204 2
1205 2
1206 2
1207 2 switch(mod)
1208 2
1209 2 {
1210 3
1211 3 case 0:
1212 3
1213 3 {
1214 4
1215 4 if(record[k]==512)
1216 4
1217 4 {
1218 5
1219 5 dis_cls();
1220 5
1221 5 for(k=0;k<128;k++)
1222 5
1223 5 {
1224 6
1225 6 x2=record[k]/16;
1226 6
1227 6 dis_point(64-x2,k);
1228 6
1229 6 }
1230 5
1231 5 for(k=127;k>0;k--)
1232 5
1233 5 {
1234 6
1235 6 x2=record[k]/16;
1236 6
1237 6 dis_point(64-x2,k);
1238 6
1239 6 }
1240 5
1241 5 }
1242 4
1243 4 }
1244 3
1245 3 break;
1246 3
1247 3
1248 3
1249 3 case 1:
1250 3
1251 3 {
1252 4
1253 4 dis_cls();
1254 4
1255 4 for(k=0;k<128;k++)
1256 4
1257 4 {
1258 5
C51 COMPILER V7.50 MAIN 08/24/2007 11:21:58 PAGE 24
1259 5 x2=record[k]/16;
1260 5
1261 5 dis_point(64-x2,k);
1262 5
1263 5 }
1264 4
1265 4 for(k=127;k>0;k--)
1266 4
1267 4 {
1268 5
1269 5 x2=record[k]/16;
1270 5
1271 5 dis_point(64-x2,k);
1272 5
1273 5 }
1274 4
1275 4 delay(30000);
1276 4
1277 4 }
1278 3
1279 3 break;
1280 3
1281 3 }
1282 2
1283 2
1284 2
1285 2 key2=1;
1286 2
1287 2 if(key2==0)
1288 2
1289 2 {
1290 3
1291 3 mod=!mod;
1292 3
1293 3 delay_1(5);
1294 3
1295 3 }
1296 2
1297 2
1298 2
1299 2 key1=1;
1300 2
1301 2 if(key1==0)
1302 2
1303 2 {
1304 3
1305 3 delay_1(5);
1306 3
1307 3 goto exit;
1308 3
1309 3 }
1310 2
1311 2 }
1312 1
1313 1 exit: keyfuncindex=1;
1314 1
1315 1 d1();
1316 1
1317 1 delay(1);
1318 1
1319 1 }
1320
C51 COMPILER V7.50 MAIN 08/24/2007 11:21:58 PAGE 25
1321 //--------------------------------------------------------------------
1322
1323 //模块:Freqen.C
1324
1325 //功能:频率计模块
1326
1327 //晶振:24.000MHz
1328
1329 //芯片: STC12C5412AD
1330
1331 //版本:V1.0.0
1332
1333 //设计:魏广寅
1334
1335 //日期:2007.4.10
1336
1337 #include "stc12c5412ad.h"
1338
1339 #define uchar unsigned char
1340
1341 #define uint unsigned int
1342
1343 extern uchar keyfuncindex;
1344
1345 void dis_cls(void);
1346
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -