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

📄 mmm.lst

📁 矿工定位系统单端
💻 LST
📖 第 1 页 / 共 5 页
字号:
 689   2                                      SerBuffer[2] = 0;
 690   2                                      break;
 691   2      
 692   2                case 0x82:                              //red RED
 693   2                      if ( SerBuffer[3] == 1) {LED_RED  = 1;}
 694   2                                      else if( SerBuffer[3] == 0) { LED_RED  = 0;};    
 695   2      
 696   2                                      SerBuffer[1] = 0;
 697   2                                      SerBuffer[2] = 0;
 698   2                                      break;
 699   2      
 700   2      
 701   2                case 0x83:                              //Transfer Record
 702   2                              //      Status = TransferRecord(SerBuffer[3],SerBuffer[4]);
 703   2                              //      SerBuffer[1] = Status;
 704   2                                  recordint.chrX[1]=SerBuffer[4];
 705   2                                  recordint.chrX[0]=SerBuffer[5];
 706   2                      
 707   2                                  TransferRecord(SerBuffer[3],recordint.intX);
 708   2                                      rx_bcc.intX=cal_crc3964(&SerBuffer[3],16);
 709   2                      SerBuffer[19]=rx_bcc.chrX[0];
 710   2                                        SerBuffer[20]=rx_bcc.chrX[1];
 711   2                                      SerBuffer[1] =0;
 712   2                                      SerBuffer[2] =18;
 713   2                                      
 714   2                     
 715   2                      
 716   2                      
 717   2                                      break;
 718   2      
 719   2                case 0x85:                              //Config FeeRate
 720   2                     for(i=0;i<8;i++)
 721   2                                 Call_id[i]= SerBuffer[i+4]; 
 722   2                                      SerBuffer[1] = 0;
 723   2                                      SerBuffer[2] = 0;
 724   2                                      break;
 725   2      
 726   2                case 0x86:                              //return ocuppy or vacance
 727   2                              
 728   2                                      SerBuffer[2] = 0;
 729   2                                      break;
 730   2      
 731   2                case 0x87:                              //Set Meter Number
 732   2                                      //MeterNum.chrX[3] = SerBuffer[3]; 
 733   2                              //      MeterNum.chrX[2] = SerBuffer[4]; 
C51 COMPILER V7.05   MMM                                                                   04/11/2005 13:01:02 PAGE 13  

 734   2                              //      MeterNum.chrX[1] = SerBuffer[5]; 
 735   2                              //      MeterNum.chrX[0] = SerBuffer[6]; 
 736   2                                      SetPosNum(&SerBuffer[3]); //add
 737   2                                      SerBuffer[1] = 0;
 738   2                                      SerBuffer[2] = 0;
 739   2                                      break;
 740   2            case 0x90:
 741   2                      SerBuffer[1] = 0;
 742   2                                      SerBuffer[2] = 0;
 743   2                                      break;
 744   2            case 0x91:
 745   2                      SerBuffer[1] = 0;
 746   2                                      SerBuffer[2] = 0;
 747   2                                      break;
 748   2            case 0x92:
 749   2                      SerBuffer[1] = 0;
 750   2                                      SerBuffer[2] = 0;
 751   2                                      
 752   2                                      break;
 753   2            case 0x93:
 754   2                      SerBuffer[1] = 0;
 755   2                                      SerBuffer[2] = 0;
 756   2                                      break;
 757   2      
 758   2      
 759   2                default:
 760   2                                      SerBuffer[1] = 250;  //command error
 761   2                                      SerBuffer[2] = 0;
 762   2                                  break;
 763   2              };  
 764   1                               
 765   1      }
 766          /********************************************************************8*/
 767          void Check_call(void)
 768          {
 769   1         unsigned char idata i,tt;
 770   1         for(i=0;i<8;i++)
 771   1         {
 772   2          if((Call_id[i]>0)&&(Call_id[i]<201))
 773   2              {   
 774   3                 tt=Find(Call_id[i],1);
 775   3                 if(!tt)Find(Call_id[i],1);
 776   3              }
 777   2         }
 778   1      }
 779          //**************************************************************************
 780          void main(void)
 781          {
 782   1           unsigned int  xx=0;//,bcc;
 783   1      
 784   1           unsigned char idata i=0,j,ttt,uuu;
 785   1               unsigned long idata yyy=0;
 786   1      
 787   1         TX_EN=0;
 788   1         /* SerBuffer[0]=0x01;
 789   1       SerBuffer[1]=0x92;
 790   1       SerBuffer[2]=0x0;
 791   1          bcc=cal_crc3964(SerBuffer, 3);*/
 792   1         
 793   1      
 794   1         rest_delay=0;
 795   1         En485 = RECV;
C51 COMPILER V7.05   MMM                                                                   04/11/2005 13:01:02 PAGE 14  

 796   1         //Delay100ms(1);
 797   1         TX_EN=1;
 798   1         init_com();
 799   1         InitREG();
 800   1         UartInit();
 801   1         Test_led=!Test_led;
 802   1         Delay100ms(1);  
 803   1         Comm_Off();
 804   1         PWR_UP=1;
 805   1         Test_led=!Test_led;
 806   1         EA=1;
 807   1         Init_X25045(0x00);
 808   1        /* ByteWrite_Check (22,0X34);
 809   1        if( ByteRead_Check (22)==0x34)//测试25045
 810   1        {   Test_led=!Test_led;
 811   1            Delay100ms(10); 
 812   1               Test_led=!Test_led;
 813   1        }*/
 814   1      
 815   1         if((ByteRead_Check(20)==0x00)||(ByteRead_Check(20)==0xff))ADDR=0XD2;
 816   1        else
 817   1         ADDR=ByteRead_Check(20);
 818   1        // ADDR=0xd2;
 819   1        if(ADDR%2)
 820   1         {
 821   2          CS=0;
 822   2         }
 823   1        else
 824   1         {
 825   2           CS=1;
 826   2          }
 827   1         CS=1;
 828   1        for(i=0;i<4;i++)//clear
 829   1         {
 830   2           for(j=0;j<16;j++)
 831   2              RemainRec[i][j]=0;
 832   2         }
 833   1         Watch_dog();
 834   1         for(i=0;i<8;i++)Call_id[i]=0;
 835   1      
 836   1        while(1)
 837   1         {
 838   2           /*init_com();
 839   2         InitREG();
 840   2         UartInit(); */
 841   2           TX_EN=1;
 842   2               Watch_dog();
 843   2        if(rest_delay>750)while(1);
 844   2       
 845   2         if (Cmdok)             //通讯
 846   2              { 
 847   3                 
 848   3                  rest_delay=0;
 849   3                  Watch_dog();
 850   3              Cmdok = FALSE;
 851   3                      Waring=0;                    //报警清掉
 852   3                      RecvReady = FALSE;
 853   3                      SendReady = FALSE;
 854   3                      cmd_execution();
 855   3                      SendReady = TRUE ;   //发起始字
 856   3                      TI = 1;
 857   3           
C51 COMPILER V7.05   MMM                                                                   04/11/2005 13:01:02 PAGE 15  

 858   3          }
 859   2       
 860   2         for(i=1;i<201;i++)
 861   2         { 
 862   3           if((i==1)||(i==150)||(i==50)||(i==100))Check_call();
 863   3           if(rest_delay>750)while(1);
 864   3           Watch_dog(); 
 865   3          if (Cmdok)            //通讯
 866   3               {
 867   4                  
 868   4                
 869   4              rest_delay=0;
 870   4              Cmdok = FALSE;
 871   4                      RecvReady = FALSE;
 872   4                      SendReady = FALSE;
 873   4                      cmd_execution();
 874   4                      SendReady = TRUE ;   //发起始字
 875   4                      TI = 1;
 876   4             Test_led=!Test_led;
 877   4           }
 878   3                Watch_dog(); 
 879   3               //ttt=Find(i);
 880   3               ttt=0;
 881   3            if(ttt==0)
 882   3                { 
 883   4            
 884   4                 
 885   4                  ttt=Find(i,0);
 886   4                
 887   4             if(ttt)
 888   4                  {
 889   5                        Card_id[i]=4;//循环监测的次数
 890   5                       if((i%4)==0)
 891   5                {
 892   6                         if(ttt==0x01)
 893   6                        {
 894   7                                 uuu=RemainRec[i/64][(i%64)/4];
 895   7                                 uuu=uuu|0x01;
 896   7                                 uuu=uuu&0xfd;
 897   7                     RemainRec[i/64][(i%64)/4]=uuu;
 898   7                                }
 899   6                         if(ttt==0x02)
 900   6                           {
 901   7                                 uuu=RemainRec[i/64][(i%64)/4];
 902   7                                 uuu=uuu|0x02;
 903   7                                 uuu=uuu&0xfe;
 904   7                     RemainRec[i/64][(i%64)/4]=uuu;
 905   7                               }
 906   6                        }
 907   5                       if((i%4)==1)
 908   5                {
 909   6                         if(ttt==0x01)
 910   6                        {
 911   7                                 uuu=RemainRec[i/64][(i%64)/4];
 912   7                                 uuu=uuu|0x04;
 913   7                                 uuu=uuu&0xf7;
 914   7                     RemainRec[i/64][(i%64)/4]=uuu;
 915   7                                }
 916   6                         if(ttt==0x02)
 917   6                           {
 918   7                                 uuu=RemainRec[i/64][(i%64)/4];
 919   7                                 uuu=uuu|0x08;
C51 COMPILER V7.05   MMM                                                                   04/11/2005 13:01:02 PAGE 16  

 920   7                                 uuu=uuu&0xfb;
 921   7                     RemainRec[i/64][(i%64)/4]=uuu;

⌨️ 快捷键说明

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