📄 data_process.lst
字号:
C51 COMPILER V8.02 DATA_PROCESS 04/04/2008 19:55:15 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DATA_PROCESS
OBJECT MODULE PLACED IN data_process.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE data_process.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*===============================================================*/
2 /*函数名称: data_process.c */
3 /*函数功能: 数据处理 */
4 /*函数思想: N次取平均值 */
5 /*编写作者: t483-4-19chenyong */
6 /*编写日期: 2007-4-06 */
7 /*===============================================================*/
8 #include"common.h"
9 #include"delay.h"
10 #include<math.h>
11 #define N 10
12
13 float data_process(unsigned char t)
14 {
15 1 float adc_value=0;
16 1
17 1 if(t==0) //如果是电流,则启动量程转换
18 1 {
19 2 delay_nms(1000);
20 2 if(Get_Value(t)<0.1414427) /*值太小则采用量程转化*/
21 2 {
22 3 delay_nms(1000);
23 3 adc_value = liangcheng_convert(t);
24 3 delay_nms(1000);
25 3 }
26 2 else
27 2 {
28 3 adc_value = Get_Value(t); /*从t通道中采得的值*/
29 3
30 3 }
31 2
32 2 }
33 1 else
34 1 {
35 2 adc_value= Get_Value(t);
36 2 }
37 1 return (adc_value); //返回值
38 1 }
39 float Get_Value(unsigned char m) /*m 为选择通道*/
40 {
41 1 float my_data;
42 1 ADC_Choice_MulChannel(m); //预采样
43 1 ADC_Choice_MulChannel(m);
44 1
45 1
46 1 while(!AD0INT); //等待ADC转换结束
47 1 AD0INT=0;
48 1 my_data = (float)ADJRATESE*ADC0VAL;
49 1 my_data = my_data/1000;
50 1 my_data = my_data/100;
51 1 my_data = (float)my_data;
52 1 return(my_data); //返回转换值
53 1 }
54
C51 COMPILER V8.02 DATA_PROCESS 04/04/2008 19:55:15 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 179 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 10
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 + -