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

📄 5615.lst

📁 电磁流量计的源程序。将流体流量用电磁转换方式变换成弱电信号
💻 LST
字号:
C51 COMPILER V6.02  5615                                                                   09/10/2005 17:11:41 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE 5615
OBJECT MODULE PLACED IN D:\2005_09\5615.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE D:\2005_09\5615.c SMALL DB OE CO OT(SIZE) 

stmt level    source

   1          
   2          /************************************************************************/
   3          /************************************************************************/
   4          /*                                                                      */
   5          /*			    tlc 5615 d/a		                                    */
   6          /*                                                                      */
   7          /*              Author: zhiqiang huo                                    */
   8          /*                                                                      */
   9          /*                                                                      */
  10          /************************************************************************/
  11          //***********************************************************************/
  12            
  13            
  14          
  15          
  16          #include "math.h"
  17          #include "reg52.h"
  18          #include "typedef.h"
  19          #include "function.h"
  20          #include "define.h"
  21          #include "varible.h"
  22          
  23          
  24          
  25          #define    DA_K (1023.0/32767.0)
  26          //#define  DA_K (1024.0/32767.0)
  27          /**************function declare***************/
  28          void Da_init(void);
  29          void Da_convert(unsigned int da_data);
  30          void Da_data_chang(void);
  31          void Da_prc(void);
  32          sbit DA_CS = P2^0  ;
  33          sbit DA_CLK = P2^1  ;
  34          sbit DA_DATA = P2^2  ;
  35          /********************************************/
  36          
  37          void Da_init(void)
  38          {
  39   1      	DA_CLK = 0 ;
  40   1      	DA_CS = 1 ;
  41   1      	da_send_F = 0;
  42   1      	send_bit_count = 0 ;
  43   1      	da_offset = (Read1B(0x35,0)+Read1B(0x36,0)*10+Read1B(0x37,0)*100) ;
  44   1      }
  45          
  46          /********************************************/
  47          
  48          void Da_convert(unsigned int da_data)
  49          {
  50   1        unsigned char i;
  51   1        DA_CLK = 0 ;
  52   1        DA_CS = 0 ;
  53   1        Delay_1us();
  54   1      
  55   1      
C51 COMPILER V6.02  5615                                                                   09/10/2005 17:11:41 PAGE 2   

  56   1      	
  57   1      for (i=0;i<16;i++)
  58   1       {
  59   2         DA_DATA = (bit)(da_data&0x8000) ;
  60   2         da_data <<= 1 ;
  61   2         DA_CLK = 0;
  62   2         Delay_1us();
  63   2         DA_CLK = 1 ;
  64   2         Delay_1us();
  65   2        }
  66   1      DA_CLK = 0;
  67   1      DA_CS = 1;
  68   1      
  69   1      return;
  70   1      
  71   1      
  72   1      } 
  73          
  74          /*******************************************/
  75          /*******************************************/
  76          void   Da_data_chang(void)
  77          {  
  78   1      	unsigned int ad_consult ;
  79   1      
  80   1      +	ad_consult = da_data*DA_K;            // 16bit ad_data is changed to 10 bit da_data 
  81   1      	if(ad_consult >1023) 
  82   1      	  { 
  83   2      	   //ad_consult=1023; 
  84   2      	   da_send_data = 1023;   //out 4-20mA data convert
  85   2            }
  86   1      	else
  87   1      	  {
  88   2      //	  	da_send_data = (unsigned int)(4.0*ad_consult/5.0) + (unsigned int)203; //  205 ;   //out 4-20mA data
             - convert
  89   2              da_send_data = (unsigned int)((1.0-da_offset/1023.0)*ad_consult) + da_offset; //  205 ;   //out 4-
             -20mA data convert
  90   2      	    
  91   2              if(da_send_data > 1023)
  92   2      	       da_send_data = 1023 ;
  93   2      	  }	
  94   1      	  	
  95   1      //	da_send_data= 0x3ff;
  96   1      	da_send_data <<= 2;               //get 5615 data
  97   1          return;
  98   1      }
  99          extern bit next_F;
 100          /**************************************/
 101          /**************************************/
 102          
 103          void   Da_prc(void)
 104          {
 105   1      	ET1 = 0 ;
 106   1      	TF1 = 0 ;
 107   1      	DA_CS = 0 ;
 108   1      	DA_CLK = 0 ;
 109   1      	da_send_F = 1 ;
 110   1      	next_F = 0 ;
 111   1      	Da_data_chang();
 112   1      	TR1 = 1 ;
 113   1       //   Da_convert(da_send_data);
 114   1          ET1 = 1 ;
 115   1          return;
C51 COMPILER V6.02  5615                                                                   09/10/2005 17:11:41 PAGE 3   

 116   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    317    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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