⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 一个用来实现单片机USB接口的程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
1196   4         i=OpenFile(Tfilename);
1197   4        if(CHEXING&0xf0==0xf0)
1198   4           i=SetFilePointer(50*((CHEXING&0x0f)-1));
1199   4       else if(CHEXING&0xf0==0xe0)
1200   4           i=SetFilePointer(150+50*((CHEXING&0x0f)-1));
1201   4       else if(CHEXING&0xf0==0xd0)
1202   4           i=SetFilePointer(250);    
1203   4           i=ReadFile(50,DDBUF); 
1204   4           for(i=0;i<50;i++)
1205   4           MEN_TAB[i]=DDBUF[i];  
1206   4         GET_MXI=0; 
1207   4        
1208   4         EA=1;
1209   4        // MCU_LED2=0;
1210   4       }
1211   3       if(CONFIG)
1212   3       {
1213   4         Watch_Dog=~Watch_Dog;
1214   4         EA=0;
1215   4         MCU_LED2=1;
1216   4         Bfilename[4]=0x30+FileNumber/10; 
1217   4         Bfilename[5]=0x30+(FileNumber-(FileNumber/10)*10);
1218   4         Yfilename[6]=0x30+FileNumber/10;
1219   4         Yfilename[7]=0x30+(FileNumber-(FileNumber/10)*10);
1220   4         if(CREATE_FILE)
1221   4         {
1222   5           i=OpenFile(Bfilename);
1223   5           if(i==0)
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 21  

1224   5          {
1225   6            i=CreateFile(Bfilename);
1226   6            i=0;
1227   6            mp=(unsigned char *)&STORE_DATAb;
1228   6            while(i++<1600)
1229   6            {
1230   7             *mp++=0;
1231   7             Watch_Dog=~Watch_Dog;
1232   7           }
1233   6           
1234   6          for(i=0;i<30;i++) 
1235   6           { 
1236   7            WriteFile(1600,(unsigned char *)&STORE_DATAb);//(unsigned char *)&STORE_DATAb
1237   7            Watch_Dog=~Watch_Dog;
1238   7           }   
1239   6          DDBUF[0]=1;
1240   6          DDBUF[1]=XIANHAO/256;DDBUF[2]=XIANHAO-DDBUF[1]*256;
1241   6          DDBUF[3]=TIAN_START/256;DDBUF[4]=TIAN_START-DDBUF[3]*256;
1242   6          DDBUF[5]=0x01;DDBUF[6]=0x00;
1243   6          Watch_Dog=~Watch_Dog; 
1244   6          i=SetFilePointer(0);
1245   6          i=WriteFile(7,DDBUF);
1246   6          xian_num=1;
1247   6          FILE_START=256;
1248   6          STORE_DATAb[0].mileage=mileageH;
1249   6          NOW_BCODE=1;
1250   6          BGROUP++;
1251   6         } 
1252   5       }   
1253   4         if(OPEN_FILE)
1254   4         {
1255   5          i=OpenFile(Bfilename); 
1256   5          i=ReadFile(256,DDBUF);
1257   5          xian_num=DDBUF[0];
1258   5          m=0;
1259   5          Watch_Dog=~Watch_Dog;
1260   5         for(i=1;i<6*xian_num+1;i=i+6)
1261   5         {        
1262   6            FileHead[m].xianhao=DDBUF[i]*256+DDBUF[i+1];
1263   6            FileHead[m].qicheng=DDBUF[i+2]*256+DDBUF[i+3];
1264   6            FileHead[m].qidian=DDBUF[i+4]*256+DDBUF[i+5];
1265   6            m++;
1266   6         }
1267   5         for(i=0;i<xian_num;i++)
1268   5         {
1269   6           if(XIANHAO==FileHead[i].xianhao)
1270   6           {
1271   7              m=0;
1272   7              if(DIRECTOR)
1273   7                FILE_START=FileHead[i].qidian+(TIAN_START-FileHead[i].qicheng)*16+16;
1274   7              else
1275   7                FILE_START=FileHead[i].qidian+(FileHead[i].qicheng-TIAN_START)*16+16;
1276   7              break;
1277   7           }
1278   6           else
1279   6              m=0xff;
1280   6         }
1281   5         if(m==0xff)
1282   5         { 
1283   6           Watch_Dog=~Watch_Dog;
1284   6           i=SetFilePointer(254);
1285   6           i=WriteFile(2,DDBUF);
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 22  

1286   6           FILE_START=DDBUF[0]*256+DDBUF[1];
1287   6           XIANCHANGE=1;
1288   6           XIAN_SPOT=FILE_START;
1289   6         }
1290   5          ASK_DATA=1; 
1291   5       }
1292   4        
1293   4         CONFIG=0;
1294   4         EA=1;
1295   4         MCU_LED2=0;
1296   4       }
1297   3       
1298   3       if(XIANCHANGE)
1299   3       {
1300   4         Watch_Dog=~Watch_Dog;
1301   4         XIAN_SPOT=FILE_START+(BGROUP-1)*1600+(NOW_BCODE-1)*16;
1302   4         MCU_LED2=1;
1303   4         EA=0;
1304   4         i=OpenFile(Bfilename);
1305   4         xian_num++;   
1306   4         DDBUF[0]=xian_num;
1307   4         i=WriteFile(1,DDBUF);
1308   4         i=SetFilePointer(1);
1309   4         FileHead[xian_num-1].xianhao=XIANHAO;
1310   4         FileHead[xian_num-1].qicheng=mileageH;
1311   4         FileHead[xian_num-1].qidian=XIAN_SPOT;
1312   4         i=WriteFile(6*xian_num,(unsigned char *)&FileHead);
1313   4         MCU_LED2=0;
1314   4         XIANCHANGE=0;
1315   4         EA=1;
1316   4         }
1317   3      
1318   3       if(ASK_DATA)  
1319   3          {
1320   4               Watch_Dog=~Watch_Dog;
1321   4               EA=0;
1322   4               if(FIRST_CHANGE)
1323   4               {
1324   5                 i=OpenFile(Bfilename);
1325   5                 i=SetFilePointer(FILE_START+(BGROUP-1)*1600);            
1326   5                 i=WriteFile(1600,(unsigned char *)&STORE_DATAb);
1327   5                 FIRST_CHANGE=0;
1328   5               }
1329   4               if(CREATE_FILE&&!XIU_LASTBLOCK)
1330   4               {
1331   5                 mp=(unsigned char *)&STORE_DATAb;
1332   5                 i=0;
1333   5                 while(i++<1600)
1334   5                 {
1335   6                  *mp++=0;
1336   6                  Watch_Dog=~Watch_Dog;
1337   6                 }
1338   5                  NOW_BCODE=0;
1339   5                  BGROUP++;
1340   5               if(BAKE_CODE!=0xff)
1341   5                {
1342   6                  NOW_BCODE=BAKE_CODE+1;
1343   6                  BAKE_CODE=0xff;
1344   6                 // GET_BIAO=1; 
1345   6                 CHECK_BCODE=Get_next_biao(NOW_BCODE);
1346   6                }
1347   5              }
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 23  

1348   4          
1349   4              if(OPEN_FILE||XIU_LASTBLOCK)
1350   4              {
1351   5                Watch_Dog=~Watch_Dog;
1352   5                i=OpenFile(Bfilename);
1353   5                i=SetFilePointer(FILE_START+BGROUP*1600);//FILE_START+BGROUP*1600  
1354   5                i=ReadFile(1600,(unsigned char *)&STORE_DATAb); 
1355   5                if(STORE_DATAb[0].mileage==mileageH+1)
1356   5                {FMQ_CNT=4;FMQ_CNTcai=3;BUZZEN=1;BUZZEN=1;}
1357   5                XIU_LASTBLOCK=0;
1358   5                NOW_BCODE=0;
1359   5                BGROUP++;
1360   5               if(BAKE_CODE!=0xff)
1361   5                {
1362   6                  NOW_BCODE=BAKE_CODE+1;
1363   6                  BAKE_CODE=0xff; 
1364   6                } 
1365   5                 CHECK_BCODE=Get_next_biao(NOW_BCODE); 
1366   5                  
1367   5              }                                         
1368   4      ASK_DATA=0;
1369   4      EA=1;
1370   4      }
1371   3         
1372   3       if(YX3_DATA)
1373   3          {
1374   4            Watch_Dog=~Watch_Dog;
1375   4            EA=0;
1376   4            Yfilename[5]=0x33;
1377   4            i=OpenFile(Yfilename);
1378   4            if(!i)
1379   4            {
1380   5              i=CreateFile(Yfilename);
1381   5              YYX3_len=0;
1382   5              for(i=0;i<16;i++)
1383   5              DDBUF[i]=0;
1384   5              i=WriteFile(16,DDBUF);
1385   5            }
1386   4            else
1387   4            {
1388   5              i=ReadFile(2,DDBUF);
1389   5              YYX3_len=DDBUF[1]+DDBUF[0]*256;
1390   5              if(YYX3_len>800)
1391   5                 YYX3_len=0;
1392   5            }
1393   4            i=YYX3_len;
1394   4            YYX3_len=YYX3_len+YX3_LEN;
1395   4            DDBUF[0]=YYX3_len/256;
1396   4            DDBUF[1]=YYX3_len-DDBUF[0]*256;
1397   4            i=SetFilePointer(0);
1398   4            i=WriteFile(2,DDBUF);
1399   4            i=SetFilePointer(i*16+16);
1400   4            i=WriteFile(YX3_LEN*16,(unsigned char *)STORE_DATAy3);
1401   4            YX3_DATA=0;
1402   4            YX3_LEN=0;
1403   4            EA=1;
1404   4          } 
1405   3        if(YX2_DATA)
1406   3          {
1407   4            Watch_Dog=~Watch_Dog;
1408   4            EA=0;
1409   4            Yfilename[5]=0x32;
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 24  

1410   4            i=OpenFile(Yfilename);
1411   4            if(!i)
1412   4            {
1413   5              i=CreateFile(Yfilename);
1414   5              YYX2_len=0;
1415   5              for(i=0;i<16;i++)
1416   5              DDBUF[i]=0;
1417   5              i=WriteFile(16,DDBUF);
1418   5            }
1419   4            else
1420   4            {
1421   5              i=ReadFile(2,DDBUF);
1422   5              YYX2_len=DDBUF[1]+DDBUF[0]*256;
1423   5              if(YYX2_len>2000)
1424   5                 YYX2_len=0;
1425   5            }
1426   4            i=YYX2_len;
1427   4            Watch_Dog=~Watch_Dog;
1428   4            YYX2_len=YYX2_len+YX2_LEN;
1429   4            DDBUF[0]=YYX2_len/256;
1430   4            DDBUF[1]=YYX2_len-DDBUF[0]*256;
1431   4            i=SetFilePointer(0);
1432   4            Watch_Dog=~Watch_Dog;
1433   4            i=WriteFile(2,DDBUF);
1434   4            i=SetFilePointer(i*16+16);
1435   4            Watch_Dog=~Watch_Dog;
1436   4            i=WriteFile(YX2_LEN*16,(unsigned char *)STORE_DATAy2);
1437   4            YX2_DATA=0;
1438   4            YX2_LEN=0;
1439   4            EA=1;
1440   4          }  
1441   3       if(YX1_DATA)
1442   3          {
1443   4            Watch_Dog=~Watch_Dog;
1444   4            EA=0;
1445   4            Yfilename[5]=0x31;
1446   4            i=OpenFile(Yfilename);
1447   4            if(!i)
1448   4            {
1449   5              i=CreateFile(Yfilename);
1450   5              YYX1_len=0;
1451   5              for(i=0;i<16;i++)
1452   5              DDBUF[i]=0;
1453   5              i=WriteFile(16,DDBUF);
1454   5            }
1455   4            else
1456   4            {
1457   5              i=ReadFile(2,DDBUF);
1458   5              YYX1_len=DDBUF[1]+DDBUF[0]*256;
1459   5              if(YYX1_len>30000)
1460   5                 YYX1_len=0;
1461   5            }
1462   4            i=YYX1_len;
1463   4            Watch_Dog=~Watch_Dog;
1464   4            YYX1_len=YYX1_len+YX1_LEN;
1465   4            DDBUF[0]=YYX1_len/256;
1466   4            DDBUF[1]=YYX1_len-DDBUF[0]*256;
1467   4            i=SetFilePointer(0);
1468   4            Watch_Dog=~Watch_Dog;
1469   4            i=WriteFile(2,DDBUF);
1470   4            i=SetFilePointer(i*16+16);
1471   4            Watch_Dog=~Watch_Dog;
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 25  

1472   4            i=WriteFile(YX1_LEN*16,(unsigned char *)STORE_DATAy1);
1473   4            YX1_DATA=0;
1474   4            YX1_LEN=0;
1475   4            EA=1;
1476   4          }    
1477   3       //-------------------------------- 
1478   3           
1479   3          
1480   3         
1481   3         if(START_RUN)
1482   3         {
1483   4           Watch_Dog=~Watch_Dog;; //run main loop
1484   4           if(GPS_DATA.speed!=OLD_speed)
1485   4           {
1486   5              SEND_LCD=1;
1487   5              OLD_speed=GPS_DATA.speed;
1488   5            }
1489   4           if(HANDRED!=mileageL/1000)
1490   4           {
1491   5             HANDRED=mileageL/1000;
1492   5             LCD_DATA.soutineH=mileageH;
1493   5             LCD_DATA.soutineL=mileageL/10;
1494   5             SEND_LCD=1;
1495   5             if(HANDRED==10)
1496   5             {FMQ_CNTcai=3;BUZZEN=1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -