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

📄 main.lst

📁 C51 CAN开发测试软件和驱动程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 249   3                case  3:
 250   3                      Write_DispBuf(0,0x05,0x0d,0,0);           //进入自动发送功能
 251   3                      FlightLed3=1;                         //led3闪烁
 252   3                              FlightLed4=0;ClearLed4=0; 
 253   3                          break;
 254   3                default:
 255   3                              AutoSendFlag=0;
 256   3                      break;
 257   3              }
 258   2        }
 259   1        else
 260   1        {
 261   2           FunckeyFlag=1;
 262   2               BCAN_ENTER_RETMODEL();
 263   2               i = ReadSjaReg(REG_ACR);
 264   2           Write_DispBuf(0,0x0a,0x01,i>>4,i&0x0f);       //a1功能
 265   2               BCAN_QUIT_RETMODEL();
 266   2               FlightLed3=1;                         //led3闪烁
 267   2              FlightLed4=0;ClearLed4=0; 
 268   2        }
 269   1      }
 270          
 271           //检索键处理
 272          static    uchar  data  SearchCount;        //检索计数器
 273          void      SearchKey(void)                  //检索键
 274          {
 275   1              uchar   i;
 276   1        if(FunckeyFlag)
 277   1        {
 278   2          switch(DispBuf[1])
 279   2              {
 280   3            case  0x0a:
 281   3                      SearchCount=DispBuf[2];        //检索a功能项  
 282   3                      if(++SearchCount>3)SearchCount=1;
 283   3                              DispBuf[2]=SearchCount;
 284   3                              switch(SearchCount)
 285   3                              {
 286   4                                      case 1:
 287   4                                              BCAN_ENTER_RETMODEL();
 288   4                                              i = ReadSjaReg(REG_ACR);
 289   4                                      Write_DispBuf(0,0x0a,0x01,i>>4,i&0x0f);       //a1功能
 290   4                                              BCAN_QUIT_RETMODEL();   
 291   4                                              break;
 292   4                                      case    2:
 293   4                                              BCAN_ENTER_RETMODEL();
 294   4                                              i = ReadSjaReg(REG_AMR);
 295   4                                      Write_DispBuf(0,0x0a,0x02,i>>4,i&0x0f);       //a2功能  
 296   4                                              BCAN_QUIT_RETMODEL();
 297   4                                              break;
 298   4                                      case    3:
 299   4                                              i = ValueToBandRate();
 300   4                                      Write_DispBuf(0,0x0a,0x03,i>>4,i&0x0f);       //a3功能  
 301   4                                              break;
 302   4                                      default:
 303   4                                              SearchCount =1;
C51 COMPILER V7.01  MAIN                                                                   01/24/2003 11:54:43 PAGE 6   

 304   4                                              break;
 305   4                              }
 306   3                              break;
 307   3                case  0x0b:                           //检索b功能项
 308   3                              if((ReadSjaReg(REG_CONTROL)&0x01)==0)
 309   3                              { 
 310   4                              SearchCount=DispBuf[2];         
 311   4                              if(++SearchCount>10)SearchCount=1;
 312   4                                      DispBuf[2]=SearchCount;
 313   4                                      switch(SearchCount)
 314   4                                      {
 315   5                                              case 1:
 316   5                                                      i = ReadSjaReg(REG_TxBuffer1);
 317   5                                                      break;
 318   5                                              case 2:
 319   5                                                      i = ReadSjaReg(REG_TxBuffer2);
 320   5                                                      break;
 321   5                                              case 3:
 322   5                                                      i = ReadSjaReg(REG_TxBuffer3);
 323   5                                                      break;
 324   5                                              case 4:
 325   5                                                      i = ReadSjaReg(REG_TxBuffer4);
 326   5                                                      break;
 327   5                                              case 5:
 328   5                                                      i = ReadSjaReg(REG_TxBuffer5);
 329   5                                                      break;
 330   5                                              case 6:
 331   5                                                      i = ReadSjaReg(REG_TxBuffer6);
 332   5                                                      break;
 333   5                                              case 7:
 334   5                                                      i = ReadSjaReg(REG_TxBuffer7);
 335   5                                                      break;
 336   5                                              case 8:
 337   5                                                      i = ReadSjaReg(REG_TxBuffer8);
 338   5                                                      break;
 339   5                                              case 9:
 340   5                                                      i = ReadSjaReg(REG_TxBuffer9);
 341   5                                                      break;
 342   5                                              case 10:
 343   5                                                      i = ReadSjaReg(REG_TxBuffer10);
 344   5                                                      break;
 345   5                                              default:
 346   5                                                      i=0;
 347   5                                                      break;
 348   5                                      }
 349   4                                      Write_DispBuf(0,0x0b,SearchCount,i>>4,i&0x0f);       //b功能    
 350   4      
 351   4                              }
 352   3                              break;
 353   3                case  0x0c:
 354   3                      
 355   3                default:
 356   3                      break;
 357   3              }
 358   2        }//if结束
 359   1      }
 360          
 361          
 362          //移位键处理
 363           
 364          void      MoveKey(void)                //移位键
 365          {
C51 COMPILER V7.01  MAIN                                                                   01/24/2003 11:54:43 PAGE 7   

 366   1        if(FunckeyFlag)
 367   1        {
 368   2           MoveFlag=~ MoveFlag;              //移位
 369   2               if(MoveFlag)
 370   2               {FlightLed3=0;ClearLed3=0; 
 371   3                FlightLed4=1;
 372   3               }
 373   2               else
 374   2               {
 375   3            FlightLed3=1;
 376   3                FlightLed4=0;ClearLed4=0; 
 377   3               }
 378   2        }
 379   1      }
 380          
 381          //增加键处理
 382          void      IncKey(void)                  //增加键
 383          {
 384   1         if(FunckeyFlag)
 385   1        {
 386   2          if(MoveFlag)
 387   2              {
 388   3            if(++DispBuf[4]>0x0f)DispBuf[4]=0;
 389   3              }
 390   2          else
 391   2                if(++DispBuf[3]>0x0f)DispBuf[3]=0;
 392   2        }
 393   1      }
 394          
 395          //退出键处理
 396          void      QuitKey(void)                        //退出键
 397          {
 398   1        if(FunckeyFlag)
 399   1        {
 400   2           FunckeyFlag=0;
 401   2           Disp_Can();                               //上电显示CAN1
 402   2               AutoSendFlag=0;
 403   2               DispFlag=0x00;
 404   2               AutoSendFlag=0;
 405   2        }
 406   1      }
 407          
 408          //确认键处理
 409          void      EnterKey(void)                       //确认键
 410          {
 411   1        uchar   Tempdata,i;
 412   1        if(FunckeyFlag)
 413   1        {
 414   2           Tempdata=GetLedData();
 415   2           if(DispBuf[1]==0x0a)
 416   2               {
 417   3              switch(DispBuf[2])
 418   3                  {
 419   4                 case  0x01:
 420   4                                      BCAN_ENTER_RETMODEL();
 421   4                                      WriteSjaReg(REG_ACR,Tempdata);       //a1功能
 422   4                                      i= ReadSjaReg(REG_AMR);
 423   4                                      BCAN_QUIT_RETMODEL();   
 424   4                                      Write_DispBuf(0,0x0a,0x02,i>>4,i&0x0f);       //a2功能
 425   4                                      MoveFlag=0;
 426   4                                      FlightLed3=1;
 427   4                                      FlightLed4=0;ClearLed4=0; 
C51 COMPILER V7.01  MAIN                                                                   01/24/2003 11:54:43 PAGE 8   

 428   4                                      break;
 429   4                         case  0x02:
 430   4                              BCAN_ENTER_RETMODEL();
 431   4                                      WriteSjaReg(REG_AMR,Tempdata);       //a2功能
 432   4                                      i = ValueToBandRate();
 433   4                                      BCAN_QUIT_RETMODEL();
 434   4                              Write_DispBuf(0,0x0a,0x03,i>>4,i&0x0f);       //a3功能
 435   4                                      
 436   4                                      MoveFlag=0;
 437   4                                      FlightLed3=1;
 438   4                                      FlightLed4=0;ClearLed4=0; 
 439   4                                      break;
 440   4                 case  0x03:
 441   4                              BCAN_ENTER_RETMODEL();
 442   4                                      BCAN_SET_BANDRATE(Tempdata);
 443   4                                      i= ReadSjaReg(REG_ACR);
 444   4                                      BCAN_QUIT_RETMODEL();
 445   4                                      Write_DispBuf(0,0x0a,1,i>>4,i&0x0f);
 446   4                                      MoveFlag=0;
 447   4                                      FlightLed3=1;
 448   4                                      FlightLed4=0;ClearLed4=0; 
 449   4                                      break;
 450   4                         default:
 451   4                                      MoveFlag=0;
 452   4                                      FlightLed3=1;
 453   4                                      FlightLed4=0;ClearLed4=0; 
 454   4                                      Write_DispBuf(0,0x0a,1,i>>4,i&0x0f);
 455   4                               break;
 456   4                      }
 457   3               }
 458   2               if(DispBuf[1]==0x0b)
 459   2               {
 460   3                      if((ReadSjaReg(REG_CONTROL)&0x01)==0)
 461   3                      {
 462   4                              if(0<DispBuf[2])
 463   4                              {
 464   5                                      WriteSjaReg(REG_TxBuffer1+DispBuf[2]-1,Tempdata);
 465   5                                      if(DispBuf[2]==0x0a)
 466   5                              { 
 467   6                                              i=ReadSjaReg(REG_TxBuffer1);
 468   6                                              Write_DispBuf(0,0x0b,1,i>>4,i&0x0f);
 469   6                                              MoveFlag=0;
 470   6                                              FlightLed3=1;
 471   6                                              FlightLed4=0;ClearLed4=0;  
 472   6                                      }
 473   5                                      else  EnterNext(); 
 474   5                              }
 475   4      
 476   4                      } 
 477   3               }
 478   2          if(DispBuf[1]==0x0c)
 479   2              {
 480   3                switch(DispBuf[2])
 481   3                {
 482   4                      case 1:
 483   4                   EditMsSendCount =Tempdata; 
 484   4                               EditMsSendSave  =Tempdata; 
 485   4                               DispBuf[1]=0x05;
 486   4                               DispBuf[2]=0x0d;
 487   4                               FunckeyCount++;
 488   4                               ClearDispAttr();
 489   4                               MoveFlag=0;
C51 COMPILER V7.01  MAIN                                                                   01/24/2003 11:54:43 PAGE 9   

 490   4                               break;
 491   4                      default:
 492   4                              break;
 493   4                }
 494   3              }
 495   2              if((DispBuf[1]==0x05)&&(DispBuf[2]==0x0d))      //设定
 496   2              {
 497   3                      SendFrq =Tempdata; 
 498   3                      AutoSendFlag =1;
 499   3                      DispBuf[3]=0;
 500   3                      DispBuf[4]=0;
 501   3                      MoveFlag=0;
 502   3                      FlightLed3=1;
 503   3                      FlightLed4=0;ClearLed4=0; 
 504   3              }
 505   2        }

⌨️ 快捷键说明

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