📄 transducer.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 + -