📄 adc.lst
字号:
C51 COMPILER V8.02 ADC 10/01/2007 00:33:26 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE ADC
OBJECT MODULE PLACED IN .\obj\adc.obj
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE adc.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\adc.lst) OBJECT(.\obj\adc.obj)
line level source
1 //adc.c
2 //
3
4 #include "AppDefine.h"
5
6
7 //排序
8 void bubble(unsigned short *item, unsigned char count)
9 {
10 1 register unsigned char a,b;
11 1 register unsigned short t;
12 1
13 1 for(a=1;a<count;++a)
14 1 for(b=count-1;b>=a;--b){
15 2 if(item[b-1]>item[b]){
16 3 t=item[b-1];
17 3 item[b-1]=item[b];
18 3 item[b]=t;
19 3 }
20 2 }
21 1 }
22
23 unsigned short AD_acq(void)
24 {
25 1 unsigned int result;
26 1 unsigned char i;
27 1 unsigned char al=0,ah=0;
28 1
29 1 DCS0=1;
30 1 DCLK=1;
31 1 DCLK=0;
32 1 DOUT=1;
33 1 DCS0=0;
34 1
35 1 while(DOUT==1) { //if(DOUT==0) break;
36 2 DCLK=1;
37 2 DCLK=0;
38 2 DOUT=1;
39 2 }
40 1 for(i=0;i<4;i++) {
41 2 DOUT=1;
42 2 DCLK=1;
43 2 DCLK=0;
44 2 ah<<=1;
45 2 if(DOUT) {
46 3 ah|=0x01;
47 3 }
48 2 }
49 1 for(i=0;i<8;i++)
50 1 {
51 2 DOUT=1;
52 2 DCLK=1;
53 2 DCLK=0;
54 2 al<<=1;
55 2 if(DOUT){
C51 COMPILER V8.02 ADC 10/01/2007 00:33:26 PAGE 2
56 3 al|=0x01;
57 3 }
58 2 }
59 1 DCS0=1;
60 1 result=ah;result<<=8;result|=al;//得到AD值
61 1 return (result);
62 1 }
63
64 //10----01,234567,8,9
65 unsigned short AD_result (void)
66 {
67 1 unsigned short i,addata[10],sum;
68 1 float temp;
69 1
70 1 for(i=0;i<10;i++)
71 1 addata[i] = AD_acq ();
72 1 //sort
73 1 bubble(addata, 10);
74 1
75 1 //中间三个sum--平均
76 1 sum=0;
77 1 for(i=2;i<8;i++)
78 1 sum += addata[i];
79 1 temp = sum/6.0;
80 1
81 1 //mV
82 1 //temp = temp * 3300/1024.0;
83 1 //temp *= 3.22265625 ;
84 1
85 1 return (unsigned short)temp;
86 1
87 1 }
88
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 341 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 28
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 + -