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

📄 main.lst

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

 733                  case   5:
 734                         DispFlag|=0x50;
 735                     break;
 736                  case   6:
 737                         DispFlag|=0x90;
 738                     break;
 739                  case   7:
 740                         DispFlag|=0x60;
 741                     break;
 742                  case   8:
 743                         DispFlag|=0xa0;
 744                     break;
 745                  case   9:
 746                         DispFlag|=0xc0;
 747                     break;
 748                  case   10:
 749                         DispFlag|=0x70;
 750                     break;
 751                  case   11:
 752                         DispFlag|=0xb0;
 753                     break;
 754                  case   12:
 755                         DispFlag|=0xe0;
 756                     break;
 757                  case   13:
 758                         DispFlag|=0xd0;
 759                     break;
 760                  case   14:
 761                         DispFlag|=0xf0;
 762                     break;
 763              default:
 764                         break;
 765             }
 766          }
 767          
 768          //
 769          void   FlightDispPrg(uchar *databuf)                                    //闪烁处理函数  
 770          {  
 771             ClearDispAttr();
 772             memcpy(&DispBuf[1],&databuf[1],4);
 773             DispFlag=0;
 774            switch(databuf[0])
 775             {  
 776              case   0:
 777                         DispFlag|=0x01;
 778                     break;
 779                  case   1:
 780                         DispFlag|=0x02;
 781                     break;
 782              case   2:
 783                         DispFlag|=0x04;
 784                     break;
 785                  case   3:
 786                         DispFlag|=0x08;
 787                     break;
 788                  case   4:
 789                         DispFlag|=0x03;
 790                     break;
 791                  case   5:
 792                         DispFlag|=0x05;
 793                     break;
 794                  case   6:
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 14  

 795                         DispFlag|=0x09;
 796                     break;
 797                  case   7:
 798                         DispFlag|=0x06;
 799                     break;
 800                  case   8:
 801                         DispFlag|=0x0a;
 802                     break;
 803                  case   9:
 804                         DispFlag|=0x0c;
 805                     break;
 806                  case   10:
 807                         DispFlag|=0x07;
 808                     break;
 809                  case   11:
 810                         DispFlag|=0x0b;
 811                     break;
 812                  case   12:
 813                         DispFlag|=0x0e;
 814                     break;
 815                  case   13:
 816                         DispFlag|=0x0d;
 817                     break;
 818                  case   14:
 819                         DispFlag|=0x0f;
 820                     break;
 821              default:
 822                         break;
 823             }
 824          }
 825          
 826          //
 827          void   LiftCrcDispPrg(uchar *databuf)           //左循环显示处理
 828          {
 829             ClearDispAttr();
 830             memcpy(&DispBuf[1],&databuf[1],4);
 831             LiftCrcDispFlag=1;RightCrcDispFlag=0;
 832          }
 833          void   RightCrcDispPrg(uchar *databuf)          //右循环显示处理
 834          {
 835            ClearDispAttr();
 836            memcpy(&DispBuf[1],&databuf[1],4);
 837            LiftCrcDispFlag=0;RightCrcDispFlag=1;
 838          }
 839          
 840          //
 841          void   CanSend_Prg(void)                                        //can发送数据
 842          {
 843                  if(AutoSendFlag)
 844                  {
 845                          if((DispBuf[1]==0x05)&&(DispBuf[2]==0x0d))      //
 846                          {
 847                                  DispBuf[3]=     (unsigned char )TestSendData>>4;
 848                                  DispBuf[4]=     ((unsigned char )TestSendData)&0x0f;
 849                          }       
 850                  }
 851          }
 852          void   CanErr_Prg(void)                             //发现错误后处理
 853          {
 854                  DispBuf[1]=0;
 855                  DispBuf[2]=0;
 856                  Config_SJA();                                                                   //
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 15  

 857                  Error_disp(CAN_BUS_ERR); 
 858          }
 859          void   CanDtOver_Prg(void)                      //超载处理
 860          {
 861          //  BCAN_CMD_PRG(COS_CMD);
 862          }
 863          void   CanWui_Prg(void)                         //唤醒中断处理
 864          {
 865            
 866          }
 867          
 868          //
 869          
 870          void   UartRcv_Prg(void)                                                //串口接收到数据处理
 871          {
 872              BCAN_DATA_WRITE(RcvBuf);                                //将编辑的数据发送到can总线
 873              BCAN_CMD_PRG(TR_CMD);
 874          }
 875          ji*/
 876          
 877          //自动发送
 878          void   AutoSendDataToCanBus(void)
 879          {
 880   1              
 881   1      //ji    if(AutoSendFlag)
 882   1      //ji    {
 883   1      //ji            if((ReadSjaReg(REG_CONTROL)&0x01)==0)
 884   1      //ji            {
 885   1                              AutoSendFrameID >>=5;
 886   1                              AutoSendFrameID++;
 887   1                              if(AutoSendFrameID>0x0fe00)
 888   1                              {
 889   2                                      AutoSendFrameID=0;      
 890   2                              }
 891   1                              AutoSendFrameID <<=5;
 892   1                              TestSendData++;
 893   1                              WriteSjaReg(REG_TxBuffer1,AutoSendFrameID>>8);
 894   1                              WriteSjaReg(REG_TxBuffer2,((unsigned char)AutoSendFrameID&0xf0)|0x06);
 895   1                              WriteSjaReg(REG_TxBuffer3,0xc1);
 896   1                              WriteSjaReg(REG_TxBuffer4,14);
 897   1                              WriteSjaReg(REG_TxBuffer5,(unsigned char)(TestSendData>>12));
 898   1                              WriteSjaReg(REG_TxBuffer6,(unsigned char)((TestSendData>>8)&0x0f));
 899   1                              WriteSjaReg(REG_TxBuffer7,((unsigned char)TestSendData>>4));
 900   1                              WriteSjaReg(REG_TxBuffer8,((unsigned char)TestSendData&0x0f));
 901   1                              BCAN_CMD_PRG(TR_CMD);
 902   1      //ji            }
 903   1      //ji            else
 904   1      //ji            {       
 905   1      //ji                    AutoSendFlag=0;
 906   1      //ji                    Write_DispBuf(0,0x0E,0x12,0x0f,0x0d);//在复位模式
 907   1      //ji            }
 908   1      //ji    }
 909   1        
 910   1      }
 911          /*ji
 912          //提取波特率的对应值
 913          unsigned        char    ValueToBandRate(void)
 914          {
 915                  unsigned        char    i;
 916                  unsigned        int             BandRate;       
 917                  BCAN_ENTER_RETMODEL();
 918                  i = ReadSjaReg(REG_BTR0);
C51 COMPILER V7.20   MAIN                                                                  09/15/2005 21:50:42 PAGE 16  

 919                  BandRate=(unsigned      int)(i<<8);
 920                  i = ReadSjaReg(REG_BTR1);
 921                  BandRate +=i;
 922                  BCAN_QUIT_RETMODEL();
 923                  switch(BandRate)
 924                  {
 925                          case    0xbfff:                                         //;5KBPS的预设值
 926                                  i =0;
 927                                  break;
 928                          case    0x672f:                                         //;10KBPS的预设值
 929                                  i =1;
 930                                  break;
 931                  case    0x532F:                        //;20KBPS的预设值
 932                                  i =2;
 933                                  break;
 934                  case    0x87FF:                     //;40KBPS的预设值
 935                                  i =3;
 936                                  break;
 937                  case    0x472F:                     //;50KBPS的预设值
 938                                  i =4;
 939                                  break;
 940                  case    0x83FF:                     //;80KBPS的预设值
 941                                  i =5;
 942                                  break;
 943                  case    0x432f:                     //;100KBPS的预设值
 944                                  i =6;
 945                                  break;
 946                  case    0x031c:                     //;125KBPS的预设值
 947                                  i =7;
 948                                  break;
 949                  case    0x81fa:                     //;200KBPS的预设值
 950                                  i =8;
 951                                  break;
 952                  case    0x011c:                     //;250KBPS的预设值
 953                                  i =9;
 954                                  break;
 955                  case    0x80fa:                     //;400KBPS的预设值
 956                                  i =10;
 957                                  break;
 958                  case    0x001c:                     //;500KBPS的预设值
 959                                  i =11;
 960                                  break;
 961                  case    0x80b6:                     //;666KBPS的预设值
 962                                  i =12;
 963                                  break;
 964                  case    0x0016:                    //;800KBPS的预设值
 965                                  i =13;
 966                                  break;
 967                  case    0x0014:                      //;1000KBPS的预设值
 968                                  i =14;
 969                                  break;
 970                          default:
 971                                  i=0xff;
 972                                  break;
 973                  }
 974                  return  i;
 975          }
 976          ji*/

C51 COMPILATION COMPLETE.  1 WARNING(S),  3 ERROR(S)

⌨️ 快捷键说明

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