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

📄 math.lst

📁 这是一种温度变送器的源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 602                  ,       23                                                                              //点数                  
 603                  ,       400                                                                             //倍率                  
 604                  ,       -100                                                                    //起始点数值                    
 605          //      j                                                                                               
 606                  ,       27                                                                              //点数                  
 607                  ,       400                                                                             //倍率                  
 608                  ,       -100                                                                    //起始点数值                    
 609          //      n                                                                                               
 610                  ,       29                                                                              //点数                  
 611                  ,       500                                                                             //倍率                  
 612                  ,       -100                                                                    //起始点数值                    
 613          //      t                                                                                               
C51 COMPILER V7.06   MATH                                                                  01/03/2008 17:28:43 PAGE 11  

 614                  ,       11                                                                              //点数                  
 615                  ,       1000                                                                    //倍率                          
 616                  ,       -100                                                                    //起始点数值                    
 617          //      tu3                                                                                             
 618                  ,       47                                                                              //点数                  
 619                  ,       500                                                                             //倍率                  
 620                  ,       0                                                                               //起始点数值            
 621          //      tu5                                                                                             
 622                  ,       47                                                                              //点数                                                          
 623                  ,       500                                                                             //倍率                  
 624                  ,       0                                                                               //起始点数值            
 625          //      tu20                                                                                                                                                                                                                    
 626                  ,       41                                                                              //点数                  
 627                  ,       1000                                                                    //倍率                          
 628                  ,       0                                                                               //起始点数值            
 629          //      tu26                                                                                            
 630                  ,       47                                                                              //点数                  
 631                  ,       500                                                                             //倍率                  
 632                  ,       0                                                                               //起始点数值            
 633          //      pt100                                                                                           
 634                  ,       22                                                                              //点数          
 635                  ,       50                                                                              //倍率                                                          
 636                  ,       -2000                                                                   //由于精度原因 * 10, 应为 -200
 637          //      cu100                                   
 638                  ,       5                                                                               //点数 
 639                  ,       100                                                                             //倍率  
 640                  ,       -500                                                                    //由于精度原因 * 10, 应为 -50
 641          //      cu50                                                                            
 642                  ,       5                                                                               //点数 
 643                  ,       200                                                                             //倍率  
 644                  ,       -500                                                                    //由于精度原因 * 10, 应为 -50
 645          };
 646          
 647          //=========================================================================================
 648          //阻型电阻表
 649           int unsigned code  Tab_rt[5]=  //wint
 650          {
 651                                  18
 652                  ,               70
 653                  ,               170
 654                  ,               270
 655                  ,               350
 656                  
 657          };
 658          
 659          /*************************************************************************************
 660                  函数名                  mat_scale
 661                  功能                    标度变换
 662                  入口条件                tt                              目标标度高端
 663                                                  tb                              目标标度低端
 664                                                  st                              源标度高端
 665                                                  sb                              源标度低端                                                                                      
 666          **************************************************************************************/ 
 667          int mat_scale(int  temp_value)   //stt
 668                  {
 669   1                      if(temp_value>st)
 670   1                              {       
 671   2                                      temp_value=st;
 672   2                              }
 673   1                      if(temp_value<sb)
 674   1                              {
 675   2                                      temp_value=sb;
C51 COMPILER V7.06   MATH                                                                  01/03/2008 17:28:43 PAGE 12  

 676   2                              }
 677   1                              return mat_calculate(temp_value,1);
 678   1              }
 679          
 680          int mat_calculate(int temp_value,int multiple)
 681          {
 682   1              calculate=(long)(temp_value-sb)*(tt-tb)*multiple/(st-sb)+tb*multiple;//
 683   1              return (int)calculate;  
 684   1      }
 685          
 686          /**************************************************************************************
 687                  函数名                  mat_du_add      
 688                  功能                    对当前的温度进行修正,根据du0,duf,sc0,scf进行修正       
 689                  入口条件                当前的温度
 690                  出口条件                修正后的温度    
 691          ***************************************************************************************/        
 692          int mat_du_add(int temp_value)
 693          {       
 694   1              int data cycle_value;
 695   1              cycle_value=temp_value;
 696   1              tb=ref_table[ref_du0]+1000;
 697   1              tt=ref_table[ref_duf]+1000;
 698   1              sb=ref_table[ref_sc0];
 699   1              st=ref_table[ref_scf];
 700   1              temp_value=     mat_scale(temp_value);  
 701   1              return  (temp_value+cycle_value-1000);
 702   1      }
 703          
 704          /****************************************************************************************
 705                  函数名                  choose_range
 706                  功能                    根据分度号类型和量程选择不同的AD放大倍数
 707                  //////current 指向要查的表项
 708          ****************************************************************************************/               
 709          void choose_range(void)
 710          {
 711   1              unsigned char data temp=ref_table[ref_sn];
 712   1              switch(temp)
 713   1                              {
 714   2                                      //      s
 715   2                                      case 0: current=tab_sn_s;   // 铂铑10-铂热电偶分度表(℃) ;( 型号代码:   S )
 716   2                                              choose_range_sub(1700,0,0,0);    
 717   2                                              break;                                                          
 718   2                                      //      r                                                                       
 719   2                                      case 1: current=tab_sn_r;
 720   2                                              choose_range_sub(1750,0,0,0);            
 721   2                                               break;                                                                         
 722   2                                      //      b                                                                                               
 723   2                                      case 2: current=tab_sn_b;
 724   2                                              choose_range_sub(1800,0,0,0);             
 725   2                                              break;                                                                          
 726   2                                      //      k                                                                                               
 727   2                                      case 3: current=tab_sn_k;       
 728   2                                              choose_range_sub(484,967,1350,0);         
 729   2                                              break;                                                                          
 730   2                                      //      e                                                                                               
 731   2                                      case 4: current=tab_sn_e;       
 732   2                                              choose_range_sub(286,536,787,1000);             
 733   2                                              break;                                                                  
 734   2                                      //      j                                                                                               
 735   2                                      case 5: current=tab_sn_j;
 736   2                                              choose_range_sub(366,713,1034,1200);                    
 737   2                                              break;                                                          
C51 COMPILER V7.06   MATH                                                                  01/03/2008 17:28:43 PAGE 13  

 738   2                                      //      n                                                                                               
 739   2                                      case 6: current=tab_sn_n;
 740   2                                              choose_range_sub(584,1100,1300,0);                      
 741   2                                              break;                                                                  
 742   2                                      //      t                                                                                               
 743   2                                      case 7: current=tab_sn_t;       
 744   2                                              choose_range_sub(400,0,0,0);            
 745   2                                              break;                                                                  
 746   2                                      //      tu3                                                                                             
 747   2                                      case 8: current=tab_sn_tu3;
 748   2                                              choose_range_sub(1089,2300,0,0);          
 749   2                                              break;                                                                  
 750   2                                      //      tu5                                                                                             
 751   2                                      case 9: current=tab_sn_tu5;     
 752   2                                              choose_range_sub

⌨️ 快捷键说明

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