📄 ad.lst
字号:
C51 COMPILER V7.50 AD 08/29/2007 17:09:37 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE AD
OBJECT MODULE PLACED IN ad.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE ad.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.H>
2 #include<absacc.h>
3 #include <math.h>
4 extern void Display_num( unsigned char *ptr, unsigned char line, unsigned char col, unsigned char length )
-;
5 unsigned int getdata;
6 unsigned int ad_cun[9];//[9];
7 sbit ST=P2^5;
8 sbit OE=P2^6;
9 sbit EOC=P2^7;
10 void delay1(void)
11 {
12 1 unsigned char i;
13 1 for(i=255;i>0;i--);
14 1 }
15 unsigned int get_ad( )
16 {
17 1 unsigned char i,j;
18 1 ST=0;
19 1 for(i=0;i<100;i++){;}
20 1 ST=1;
21 1 for(j=0;j<100;j++){;}
22 1 ST=0;
23 1 // while(EOC==0);
24 1 OE=1;
25 1 P3=0xff;
26 1 getdata=P3;
27 1 OE=0;
28 1 return(getdata);
29 1 }
30 unsigned int ad_caiyang(void) //AD采集
31 {
32 1 unsigned char count,i,j;
33 1 unsigned int temp;
34 1 for ( count=0;count<9;count++)
35 1 {
36 2 ad_cun[count] = get_ad();
37 2 delay1();
38 2 }
39 1 for (j=0;j<8;j++)
40 1 {
41 2 for (i=0;i<9-j;i++) //中值滤波
42 2 {
43 3 if ( ad_cun[i]>ad_cun[i+1] )
44 3 {
45 4 temp = ad_cun[i];
46 4 ad_cun[i] = ad_cun[i+1];
47 4 ad_cun[i+1] = temp;
48 4 }
49 3 }
50 2 }
51 1
52 1
53 1 ad_cun[4]=ad_cun[4]*12/255; //数字量转化为模拟量
54 1 return(ad_cun[4]);//ad_cun[4];
C51 COMPILER V7.50 AD 08/29/2007 17:09:37 PAGE 2
55 1 }
56
57 unsigned int ad_vio(unsigned int a) //Vio计算
58 {
59 1 unsigned int advio;
60 1 advio=a*10;
61 1 return(advio);
62 1 }
63
64
65 void ad_xianshi(unsigned int m)
66 { unsigned char code zhifu[]={"Vio(mv):"};
67 1 unsigned int a;
68 1 unsigned char idata ad[4];
69 1 ad[0]=m/1000+0x30;
70 1 a=m%1000;
71 1 ad[1]=a/100+0x30;
72 1 a=a%100;
73 1 ad[2]=a/10+0x30;
74 1 a=a%10;
75 1 //if(a==0)
76 1 //ad[3]=a+0x30-0x08;
77 1 ad[3]=a+0x30;
78 1 Display_num(zhifu,1,1,8);
79 1 Display_num(ad,2,4,4);
80 1 /*Display_num(&ad1,2,4,1);
81 1 Display_num(&ad2,2,5,1);
82 1 Display_num(&ad3,2,6,1);
83 1 Display_num(&ad4,2,7,1);*/
84 1 delay1();
85 1 }
86
87
88
89
90
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 309 ----
CONSTANT SIZE = 9 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 ----
IDATA SIZE = ---- 4
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 + -