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

📄 main.lst

📁 电梯控制程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 5   

 240                                  {
 241                                  Write_DispBuf(0,0x0b,0x01,0,0);    //进入b功能
 242                                          FlightLed3=1;                      //led3闪烁
 243                                          FlightLed4=0;ClearLed4=0; 
 244                                  }
 245                                  else
 246                                  {
 247                                          Write_DispBuf(0,0x0b,0x12,0x12,0x12);    //进入b功能
 248                                  }
 249                                  break;
 250                    case  2:
 251                          Write_DispBuf(0,0x0c,0x01,0,0);       //进入c功能
 252                                  FlightLed3=1;                         //led3闪烁
 253                                  FlightLed4=0;ClearLed4=0; 
 254                                  break;
 255                    case  3:
 256                          Write_DispBuf(0,0x05,0x0d,0,0);           //进入自动发送功能
 257                          FlightLed3=1;                         //led3闪烁
 258                                  FlightLed4=0;ClearLed4=0; 
 259                              break;
 260                    default:
 261                                  AutoSendFlag=0;
 262                          break;
 263                  }
 264            }
 265            else
 266            {
 267               FunckeyFlag=1;
 268                   BCAN_ENTER_RETMODEL();
 269                   i = ReadSjaReg(REG_ACR);
 270               Write_DispBuf(0,0x0a,0x01,i>>4,i&0x0f);       //a1功能
 271                   BCAN_QUIT_RETMODEL();
 272                   FlightLed3=1;                         //led3闪烁
 273                  FlightLed4=0;ClearLed4=0; 
 274            }
 275          }
 276          
 277           //检索键处理
 278          static    uchar  data  SearchCount;        //检索计数器
 279          void      SearchKey(void)                  //检索键
 280          {
 281                  uchar   i;
 282            if(FunckeyFlag)
 283            {
 284              switch(DispBuf[1])
 285                  {
 286                case  0x0a:
 287                          SearchCount=DispBuf[2];        //检索a功能项  
 288                          if(++SearchCount>3)SearchCount=1;
 289                                  DispBuf[2]=SearchCount;
 290                                  switch(SearchCount)
 291                                  {
 292                                          case 1:
 293                                                  BCAN_ENTER_RETMODEL();
 294                                                  i = ReadSjaReg(REG_ACR);
 295                                          Write_DispBuf(0,0x0a,0x01,i>>4,i&0x0f);       //a1功能
 296                                                  BCAN_QUIT_RETMODEL();   
 297                                                  break;
 298                                          case    2:
 299                                                  BCAN_ENTER_RETMODEL();
 300                                                  i = ReadSjaReg(REG_AMR);
 301                                          Write_DispBuf(0,0x0a,0x02,i>>4,i&0x0f);       //a2功能  
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 6   

 302                                                  BCAN_QUIT_RETMODEL();
 303                                                  break;
 304                                          case    3:
 305                                                  i = ValueToBandRate();
 306                                          Write_DispBuf(0,0x0a,0x03,i>>4,i&0x0f);       //a3功能  
 307                                                  break;
 308                                          default:
 309                                                  SearchCount =1;
 310                                                  break;
 311                                  }
 312                                  break;
 313                    case  0x0b:                           //检索b功能项
 314                                  if((ReadSjaReg(REG_CONTROL)&0x01)==0)
 315                                  { 
 316                                  SearchCount=DispBuf[2];         
 317                                  if(++SearchCount>10)SearchCount=1;
 318                                          DispBuf[2]=SearchCount;
 319                                          switch(SearchCount)
 320                                          {
 321                                                  case 1:
 322                                                          i = ReadSjaReg(REG_TxBuffer1);
 323                                                          break;
 324                                                  case 2:
 325                                                          i = ReadSjaReg(REG_TxBuffer2);
 326                                                          break;
 327                                                  case 3:
 328                                                          i = ReadSjaReg(REG_TxBuffer3);
 329                                                          break;
 330                                                  case 4:
 331                                                          i = ReadSjaReg(REG_TxBuffer4);
 332                                                          break;
 333                                                  case 5:
 334                                                          i = ReadSjaReg(REG_TxBuffer5);
 335                                                          break;
 336                                                  case 6:
 337                                                          i = ReadSjaReg(REG_TxBuffer6);
 338                                                          break;
 339                                                  case 7:
 340                                                          i = ReadSjaReg(REG_TxBuffer7);
 341                                                          break;
 342                                                  case 8:
 343                                                          i = ReadSjaReg(REG_TxBuffer8);
 344                                                          break;
 345                                                  case 9:
 346                                                          i = ReadSjaReg(REG_TxBuffer9);
 347                                                          break;
 348                                                  case 10:
 349                                                          i = ReadSjaReg(REG_TxBuffer10);
 350                                                          break;
 351                                                  default:
 352                                                          i=0;
 353                                                          break;
 354                                          }
 355                                          Write_DispBuf(0,0x0b,SearchCount,i>>4,i&0x0f);       //b功能    
 356          
 357                                  }
 358                                  break;
 359                    case  0x0c:
 360                          
 361                    default:
 362                          break;
 363                  }
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 7   

 364            }//if结束
 365          }
 366          
 367          
 368          //移位键处理
 369           
 370          void      MoveKey(void)                //移位键
 371          {
 372            if(FunckeyFlag)
 373            {
 374               MoveFlag=~ MoveFlag;              //移位
 375                   if(MoveFlag)
 376                   {FlightLed3=0;ClearLed3=0; 
 377                    FlightLed4=1;
 378                   }
 379                   else
 380                   {
 381                FlightLed3=1;
 382                    FlightLed4=0;ClearLed4=0; 
 383                   }
 384            }
 385          }
 386          
 387          //增加键处理
 388          void      IncKey(void)                  //增加键
 389          {
 390             if(FunckeyFlag)
 391            {
 392              if(MoveFlag)
 393                  {
 394                if(++DispBuf[4]>0x0f)DispBuf[4]=0;
 395                  }
 396              else
 397                    if(++DispBuf[3]>0x0f)DispBuf[3]=0;
 398            }
 399          }
 400          
 401          //退出键处理
 402          void      QuitKey(void)                        //退出键
 403          {
 404            if(FunckeyFlag)
 405            {
 406               FunckeyFlag=0;
 407               Disp_Can();                               //上电显示CAN1
 408                   AutoSendFlag=0;
 409                   DispFlag=0x00;
 410                   AutoSendFlag=0;
 411            }
 412          }
 413          
 414          //确认键处理
 415          void      EnterKey(void)                       //确认键
 416          {
 417            uchar   Tempdata,i;
 418            if(FunckeyFlag)
 419            {
 420               Tempdata=GetLedData();
 421               if(DispBuf[1]==0x0a)
 422                   {
 423                  switch(DispBuf[2])
 424                      {
 425                     case  0x01:
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 8   

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

⌨️ 快捷键说明

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