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

📄 main.lst

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

 488                          case 1:
 489                       EditMsSendCount =Tempdata; 
 490                                   EditMsSendSave  =Tempdata; 
 491                                   DispBuf[1]=0x05;
 492                                   DispBuf[2]=0x0d;
 493                                   FunckeyCount++;
 494                                   ClearDispAttr();
 495                                   MoveFlag=0;
 496                                   break;
 497                          default:
 498                                  break;
 499                    }
 500                  }
 501                  if((DispBuf[1]==0x05)&&(DispBuf[2]==0x0d))      //设定
 502                  {
 503                          SendFrq =Tempdata; 
 504                          AutoSendFlag =1;
 505                          DispBuf[3]=0;
 506                          DispBuf[4]=0;
 507                          MoveFlag=0;
 508                          FlightLed3=1;
 509                          FlightLed4=0;ClearLed4=0; 
 510                  }
 511            }
 512          }
 513          
 514           //按确认键后进入下一小项处理
 515          void      EnterNext(void)  
 516          {
 517                  unsigned        char i;
 518             FlightLed3=1;
 519             FlightLed4=0;ClearLed4=0;
 520             MoveFlag=0;
 521             i=ReadSjaReg(REG_TxBuffer1+DispBuf[2]);
 522             DispBuf[2]++;
 523             DispBuf[3]=i>>4;
 524             DispBuf[4]=i&0x0f;
 525          }
 526          
 527          //发送键处理
 528          void      CanSendKey(void)                                              //发送键
 529          {
 530                  if((ReadSjaReg(REG_CONTROL)&0x01)==0)
 531                  {
 532                  BCAN_CMD_PRG(TR_CMD);
 533                  }
 534                  else
 535                  {
 536                          Write_DispBuf(0,0x0E,0x12,0x0f,0x0d);//在复位模式
 537                  }
 538          }
 539          ji*/
 540          //
 541          void  InitCPU(void)
 542          {
 543   1       EA         =1;
*** ERROR C202 IN LINE 543 OF MAIN.C: 'EA': undefined identifier
 544   1       IT0        =1;
*** ERROR C202 IN LINE 544 OF MAIN.C: 'IT0': undefined identifier
 545   1      //ji EX0        =1;
 546   1       PX0        =1; 
*** ERROR C202 IN LINE 546 OF MAIN.C: 'PX0': undefined identifier
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 10  

 547   1      //ji InitUart();        //初始化串口 
 548   1      }                                             
 549          
 550          ////
 551          
 552          //
 553          void   CanRcv_Prg(void)
 554          {
 555   1        uchar  data buf[10],status;
 556   1         if(BCAN_DATA_RECEIVE(buf))                                   //接收数据
 557   1         {status=0xe9;
 558   2              for(;;);        //Error_disp(status);
 559   2         }
 560   1        else
 561   1        {  
 562   2          if(BCAN_CMD_PRG(0x04))
 563   2            for(;;);          //Error_disp(0xe8);
 564   2              
 565   2              if((buf[1]&0x10)!=0)
 566   2              {
 567   3            switch(buf[1]&0x0f){                                              //远程帧处理
 568   4                  case  0:                                                            //请求发送命令字为0c1h的命令帧
 569   4                            buf[1]=(buf[1]&0xe0)|0x06;
 570   4                                buf[2]=0xc1;
 571   4                    BCAN_DATA_WRITE(buf);                             //将编辑的数据发送到can总线
 572   4                    BCAN_CMD_PRG(TR_CMD);
 573   4                                break;
 574   4                      case  1:
 575   4                            buf[1]=(buf[1]&0xe0)|0x06;
 576   4                                buf[2]=0xc2;
 577   4                    BCAN_DATA_WRITE(buf);                             //将编辑的数据发送到can总线
 578   4                    BCAN_CMD_PRG(TR_CMD);
 579   4                                break;
 580   4                      case  2:
 581   4                            buf[1]=(buf[1]&0xe0)|0x06;
 582   4                                buf[2]=0xc3;
 583   4                    BCAN_DATA_WRITE(buf);                             //将编辑的数据发送到can总线
 584   4                    BCAN_CMD_PRG(TR_CMD);
 585   4                                break;
 586   4              case  3:
 587   4                    buf[1]=(buf[1]&0xe0)|0x06;
 588   4                                buf[2]=0xc4;
 589   4                    BCAN_DATA_WRITE(buf);                             //将编辑的数据发送到can总线
 590   4                    BCAN_CMD_PRG(TR_CMD);
 591   4                                break;        
 592   4                      case  4:
 593   4                            buf[1]=(buf[1]&0xe0)|0x06;
 594   4                                buf[2]=0xc5;
 595   4                    BCAN_DATA_WRITE(buf);                             //将编辑的数据发送到can总线
 596   4                    BCAN_CMD_PRG(TR_CMD);
 597   4                                break;
 598   4                      case  5:
 599   4                            buf[1]=(buf[1]&0xe0)|0x06;
 600   4                                buf[2]=0xc6;
 601   4                    BCAN_DATA_WRITE(buf);                             //将编辑的数据发送到can总线
 602   4                    BCAN_CMD_PRG(TR_CMD);
 603   4                                break;
 604   4                      case  6:
 605   4                      case  7:
 606   4                      case  8:
 607   4                      case  9:
 608   4                      default:
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 11  

 609   4                            break;
 610   4                }
 611   3              }
 612   2      /*ji
 613   2              else
 614   2              switch(buf[2])
 615   2          {
 616   2                case 0xc1:                                                            //直通显示
 617   2                     DrecDisplay(&buf[3]);
 618   2                         break;
 619   2                case 0xc2:                                                            //消隐命令
 620   2                     ClearDispPrg(&buf[3]);
 621   2                         break;
 622   2                case 0xc3:                                                            //测试命令
 623   2                     TestDispPrg();
 624   2                         break;
 625   2                case 0xc4:                                                            //左循环命令
 626   2                     LiftCrcDispPrg(&buf[3]);
 627   2                         break;
 628   2                case 0xc5:                                                            //右循环命令
 629   2                     RightCrcDispPrg(&buf[3]);
 630   2                 break;
 631   2                case 0xc6:                                                            //闪烁
 632   2                     FlightDispPrg(&buf[3]);            
 633   2                     break;
 634   2                case 0xc9:                                                            //改变总线波特率命令
 635   2                default:
 636   2                     break;
 637   2              }
 638   2      ji*/
 639   2       }
 640   1      }
 641          
 642          //
 643          /*ji
 644          void   DrecDisplay(uchar *databuf)      //直通显示
 645          {
 646             ClearDispAttr();
 647             memcpy(&DispBuf[1],&databuf[1],4);
 648             switch(databuf[0])
 649             {  
 650              case   0:
 651                         DispFlag|=0xe0;
 652                     break;
 653                  case   1:
 654                         DispFlag|=0xd0;
 655                     break;
 656              case   2:
 657                         DispFlag|=0xb0;
 658                     break;
 659                  case   3:
 660                         DispFlag|=0x70;
 661                     break;
 662                  case   4:
 663                         DispFlag|=0xc0;
 664                     break;
 665                  case   5:
 666                         DispFlag|=0xa0;
 667                     break;
 668                  case   6:
 669                         DispFlag|=0x60;
 670                     break;
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 12  

 671                  case   7:
 672                         DispFlag|=0x90;
 673                     break;
 674                  case   8:
 675                         DispFlag|=0x50;
 676                     break;
 677                  case   9:
 678                         DispFlag|=0x30;
 679                     break;
 680                  case   10:
 681                         DispFlag|=0x80;
 682                     break;
 683                  case   11:
 684                         DispFlag|=0x40;
 685                     break;
 686                  case   12:
 687                         DispFlag|=0x10;
 688                     break;
 689                  case   13:
 690                         DispFlag|=0x20;
 691                     break;
 692                  case   14:
 693                         DispFlag=0;
 694                     break;
 695              default:
 696                         break;
 697             }
 698          
 699          }
 700          
 701          //测试处理函数
 702          void   TestDispPrg(void)                       //测试处理函数
 703          {
 704             uchar i;
 705             DispFlag=0;
 706             DispFlag|=0x0f;
 707             for(i=1;i<5;i++) DispBuf[i]=0x08;        
 708                
 709          }
 710          //消隐处理函数
 711          void   ClearDispPrg(uchar *databuf)                                             //消隐处理函数
 712          {
 713             ClearDispAttr();
 714             memcpy(&DispBuf[1],&databuf[1],4);
 715             DispFlag=0;
 716            switch(databuf[0])
 717             {  
 718              case   0:
 719                         DispFlag|=0x10;
 720                     break;
 721                  case   1:
 722                         DispFlag|=0x20;
 723                     break;
 724              case   2:
 725                         DispFlag|=0x40;
 726                     break;
 727                  case   3:
 728                         DispFlag|=0x80;
 729                     break;
 730                  case   4:
 731                         DispFlag|=0x30;
 732                     break;

⌨️ 快捷键说明

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