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

📄 transducer.lst

📁 通过串口控制变频器的程序源码 Transducer.c为变频器相关 Uart_Fun.c为串口相关 单片机采用新华龙的F020
💻 LST
字号:
C51 COMPILER V8.02   TRANSDUCER                                                            01/01/2007 22:09:43 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TRANSDUCER
OBJECT MODULE PLACED IN Transducer.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE Transducer.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #define _TRANSDUCER_
   2          #include "include.h"
   3          
   4          /*******************************************************
   5          函数名:send_cmd(unsigned char *send_data)
   6          功能:发送命令
   7          传入参数: unsigned char *send_data :要发送得数据
   8                             unsigned char Len :数据长度 
   9          传出参数:无
  10          ********************************************************/
  11          void send_cmd(unsigned char *send_data,unsigned char Len)
  12          {
  13   1              unsigned int i;
  14   1              for(i=0;i<Len;i++)
  15   1              {
  16   2                uart_send(send_data[i]);
  17   2              
  18   2              }
  19   1      }
  20          
  21          /**************************************************************
  22          函数名:send_cmd(unsigned char *send_data)
  23          功能:发送命令
  24          传入参数: unsigned char *send_data
  25          传出参数:无
  26          ***************************************************************/
  27          void check_sum(unsigned char *send_data,unsigned char *result_sum)
  28          {
  29   1              
  30   1         unsigned char i;
  31   1         unsigned int n,sum=0;
  32   1      
  33   1         for(i=0;i<strlen(send_data);i++)
  34   1                      sum +=(unsigned int)send_data[i];
  35   1      
  36   1         n = sprintf(result_sum,"%4x",sum);
  37   1      
  38   1         for(i=0;i<3;i++)     
  39   1         {
  40   2                      if(result_sum[i] == 32) result_sum[i]= '0';
  41   2              }
  42   1      
  43   1       }
  44          
  45          /********************************************************************
  46          函数名:data_encap_send(unsigned char *data_send)
  47          功能描述:要发送的数据的封装和发送
  48          传入参数:unsigned char *data_send :要发送的数据
  49          传出参数:无
  50          *********************************************************************/
  51          void data_encap_send(unsigned char *data_send)
  52          {
  53   1              unsigned char buffer[20];
  54   1              unsigned char result_sum[4];
  55   1              int n;
C51 COMPILER V8.02   TRANSDUCER                                                            01/01/2007 22:09:43 PAGE 2   

  56   1              unsigned char i;
  57   1              check_sum(data_send,result_sum);
  58   1              n = sprintf(buffer,"%c%s%s%c",'~',data_send,result_sum,'\r');
  59   1              for(i=0;i<n;i++)
  60   1              {
  61   2                      buffer[i]=toupper(buffer[i]);
  62   2              }
  63   1              send_cmd(buffer,n);
  64   1       }
  65          
  66          /****************************************************************************
  67          函数名:data_send_process(unsigned char *send_data,float frequ)
  68          函数功能:对要设定的频率进行设定并整合到send[]数组中
  69          传入参数: unsigned char *send_data 要传入的数组,由前面DEFINE中定义的··中进行选择
  70                             float frequ :要设定的频率
  71          传出参数:无                    
  72          *****************************************************************************/
  73          void data_send_process(unsigned char *send_data,float frequ) 
  74          {
  75   1         int tmp,n;
  76   1         char i;
  77   1         tmp = (int)(frequ*100);
  78   1         n = sprintf(send,"%s%4x",send_data,tmp);
  79   1      
  80   1         for(i=4;i>1;i--)     
  81   1         {
  82   2                      if(send[n-i] == 32) send[n-i]= '0';
  83   2              }
  84   1      
  85   1      }
  86          
  87          /**********************************************************************************
  88          函数名:data_res_proce(void)
  89          功能描述:接收数据并判断是否发送失败
  90          传入参数:无
  91          传出参数:char : 为0的话,传输正确,否则失败
  92          ************************************************************************************/
  93          char data_res_proce(void)
  94          {
  95   1      
  96   1              flg = 0;
  97   1          r=0;
  98   1      
  99   1              while(res[r-1]!=13 && r<=18);
 100   1              if(!flg) 
 101   1               {
 102   2                      if((res[3]==48) && (res[4]==48) ) return 0;
 103   2                      else return 1;
 104   2               }
 105   1               return 1;
 106   1      
 107   1      
 108   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    478    ----
   CONSTANT SIZE    =     19    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      54
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.02   TRANSDUCER                                                            01/01/2007 22:09:43 PAGE 3   

   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 + -