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

📄 main.lst

📁 总线测试程序源代码 C语言编程 基于51单片机
💻 LST
📖 第 1 页 / 共 3 页
字号:
 532   3                 break;
 533   3                case 0xc6:                                                            //闪烁
 534   3                     FlightDispPrg(&buf[3]);            
 535   3                     break;
 536   3                case 0xc9:                                                            //改变总线波特率命令
 537   3                default:
 538   3                     break;
 539   3              }
 540   2        }
 541   1      }
 542          
 543          //
 544          void   DrecDisplay(uchar *databuf)      //直通显示
 545          {
 546   1         ClearDispAttr();
 547   1         memcpy(&DispBuf[1],&databuf[1],4);
 548   1         switch(databuf[0])
 549   1         {  
 550   2          case   0:
 551   2                     DispFlag|=0xe0;
C51 COMPILER V7.01  MAIN                                                                   12/06/2003 08:57:11 PAGE 10  

 552   2                 break;
 553   2              case   1:
 554   2                     DispFlag|=0xd0;
 555   2                 break;
 556   2          case   2:
 557   2                     DispFlag|=0xb0;
 558   2                 break;
 559   2              case   3:
 560   2                     DispFlag|=0x70;
 561   2                 break;
 562   2              case   4:
 563   2                     DispFlag|=0xc0;
 564   2                 break;
 565   2              case   5:
 566   2                     DispFlag|=0xa0;
 567   2                 break;
 568   2              case   6:
 569   2                     DispFlag|=0x60;
 570   2                 break;
 571   2              case   7:
 572   2                     DispFlag|=0x90;
 573   2                 break;
 574   2              case   8:
 575   2                     DispFlag|=0x50;
 576   2                 break;
 577   2              case   9:
 578   2                     DispFlag|=0x30;
 579   2                 break;
 580   2              case   10:
 581   2                     DispFlag|=0x80;
 582   2                 break;
 583   2              case   11:
 584   2                     DispFlag|=0x40;
 585   2                 break;
 586   2              case   12:
 587   2                     DispFlag|=0x10;
 588   2                 break;
 589   2              case   13:
 590   2                     DispFlag|=0x20;
 591   2                 break;
 592   2              case   14:
 593   2                     DispFlag=0;
 594   2                 break;
 595   2          default:
 596   2                     break;
 597   2         }
 598   1      
 599   1      }
 600          
 601          //测试处理函数
 602          void   TestDispPrg(void)                       //测试处理函数
 603          {
 604   1         uchar i;
 605   1         DispFlag=0;
 606   1         DispFlag|=0x0f;
 607   1         for(i=1;i<5;i++) DispBuf[i]=0x08;        
 608   1            
 609   1      }
 610          //消隐处理函数
 611          void   ClearDispPrg(uchar *databuf)                                             //消隐处理函数
 612          {
 613   1         ClearDispAttr();
C51 COMPILER V7.01  MAIN                                                                   12/06/2003 08:57:11 PAGE 11  

 614   1         memcpy(&DispBuf[1],&databuf[1],4);
 615   1         DispFlag=0;
 616   1        switch(databuf[0])
 617   1         {  
 618   2          case   0:
 619   2                     DispFlag|=0x10;
 620   2                 break;
 621   2              case   1:
 622   2                     DispFlag|=0x20;
 623   2                 break;
 624   2          case   2:
 625   2                     DispFlag|=0x40;
 626   2                 break;
 627   2              case   3:
 628   2                     DispFlag|=0x80;
 629   2                 break;
 630   2              case   4:
 631   2                     DispFlag|=0x30;
 632   2                 break;
 633   2              case   5:
 634   2                     DispFlag|=0x50;
 635   2                 break;
 636   2              case   6:
 637   2                     DispFlag|=0x90;
 638   2                 break;
 639   2              case   7:
 640   2                     DispFlag|=0x60;
 641   2                 break;
 642   2              case   8:
 643   2                     DispFlag|=0xa0;
 644   2                 break;
 645   2              case   9:
 646   2                     DispFlag|=0xc0;
 647   2                 break;
 648   2              case   10:
 649   2                     DispFlag|=0x70;
 650   2                 break;
 651   2              case   11:
 652   2                     DispFlag|=0xb0;
 653   2                 break;
 654   2              case   12:
 655   2                     DispFlag|=0xe0;
 656   2                 break;
 657   2              case   13:
 658   2                     DispFlag|=0xd0;
 659   2                 break;
 660   2              case   14:
 661   2                     DispFlag|=0xf0;
 662   2                 break;
 663   2          default:
 664   2                     break;
 665   2         }
 666   1      }
 667          
 668          //
 669          void   FlightDispPrg(uchar *databuf)                                    //闪烁处理函数  
 670          {  
 671   1         ClearDispAttr();
 672   1         memcpy(&DispBuf[1],&databuf[1],4);
 673   1         DispFlag=0;
 674   1        switch(databuf[0])
 675   1         {  
C51 COMPILER V7.01  MAIN                                                                   12/06/2003 08:57:11 PAGE 12  

 676   2          case   0:
 677   2                     DispFlag|=0x01;
 678   2                 break;
 679   2              case   1:
 680   2                     DispFlag|=0x02;
 681   2                 break;
 682   2          case   2:
 683   2                     DispFlag|=0x04;
 684   2                 break;
 685   2              case   3:
 686   2                     DispFlag|=0x08;
 687   2                 break;
 688   2              case   4:
 689   2                     DispFlag|=0x03;
 690   2                 break;
 691   2              case   5:
 692   2                     DispFlag|=0x05;
 693   2                 break;
 694   2              case   6:
 695   2                     DispFlag|=0x09;
 696   2                 break;
 697   2              case   7:
 698   2                     DispFlag|=0x06;
 699   2                 break;
 700   2              case   8:
 701   2                     DispFlag|=0x0a;
 702   2                 break;
 703   2              case   9:
 704   2                     DispFlag|=0x0c;
 705   2                 break;
 706   2              case   10:
 707   2                     DispFlag|=0x07;
 708   2                 break;
 709   2              case   11:
 710   2                     DispFlag|=0x0b;
 711   2                 break;
 712   2              case   12:
 713   2                     DispFlag|=0x0e;
 714   2                 break;
 715   2              case   13:
 716   2                     DispFlag|=0x0d;
 717   2                 break;
 718   2              case   14:
 719   2                     DispFlag|=0x0f;
 720   2                 break;
 721   2          default:
 722   2                     break;
 723   2         }
 724   1      }
 725          
 726          //
 727          void   LiftCrcDispPrg(uchar *databuf)           //左循环显示处理
 728          {
 729   1         memcpy(&DispBuf[1],&databuf[1],4);
 730   1         LiftCrcDispFlag=1;RightCrcDispFlag=0;
 731   1      }
 732          void   RightCrcDispPrg(uchar *databuf)          //右循环显示处理
 733          {
 734   1        memcpy(&DispBuf[1],&databuf[1],4);
 735   1        LiftCrcDispFlag=0;RightCrcDispFlag=1;
 736   1      }
 737          
C51 COMPILER V7.01  MAIN                                                                   12/06/2003 08:57:11 PAGE 13  

 738          //
 739          void   CanSend_Prg(void)                                        //can发送数据
 740          {
 741   1      }
 742          void   CanErr_Prg(void)                             //发现错误后处理
 743          {
 744   1        Error_disp(CAN_BUS_ERR); 
 745   1        Config_SJA();                                                                 //
 746   1      }
 747          void   CanDtOver_Prg(void)                      //超载处理
 748          {
 749   1      //  BCAN_CMD_PRG(COS_CMD);
 750   1      }
 751          void   CanWui_Prg(void)                         //唤醒中断处理
 752          {
 753   1        
 754   1      }
 755          
 756          //
 757          void   UartRcv_Prg(void)                                                //串口接收到数据处理
 758          {
 759   1          BCAN_DATA_WRITE(RcvBuf);                                //将编辑的数据发送到can总线
 760   1          BCAN_CMD_PRG(TR_CMD);
 761   1      }
 762          
 763          //自动发送
 764          void   AutoSendDataToCanBus(void)
 765          {
 766   1       /* uchar i;
 767   1       if((DispBuf[1]==0x05)&&(DispBuf[2]==0x0d))
 768   1       {
 769   1              
 770   1              if(EditMsSendCount ==0){
 771   1                      EditMsSendCount = EditMsSendSave;
 772   1                      SendDataCount++;
 773   1                      SetSystemBuf[0]++;
 774   1                      SetSystemBuf[1]=0x08;
 775   1              for(i=2;i<10;i++)
 776   1                              SetSystemBuf[i]=SendDataCount;
 777   1              BCAN_DATA_WRITE(SetSystemBuf);                          //将编辑的数据发送到can总线
 778   1              BCAN_CMD_PRG(TR_CMD); 
 779   1                      DispBuf[3]=SendDataCount>>4;
 780   1                      DispBuf[4]=SendDataCount&0x0f;
 781   1              }
 782   1              else{
 783   1           EditMsSendCount--;
 784   1              }
 785   1       }*/
 786   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2863    ----
   CONSTANT SIZE    =     45    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     39      33
   IDATA SIZE       =     35    ----
   BIT SIZE         =      7       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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