📄 water_test.lst
字号:
C51 COMPILER V7.06 WATER_TEST 11/27/2005 14:53:41 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE WATER_TEST
OBJECT MODULE PLACED IN water_test.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE water_test.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #include "adc.h"
3 #include<INTRINS.H>
4 #include <stdio.h>
5 #define uchar unsigned char
6 #define uint unsigned int
7 #define ushort unsigned short
8
9 sbit EOC = P1^3;
10 sbit CLK = P1^4;
11 sbit DIN = P1^5;
12 sbit DOUT = P1^6;
13 sbit CS = P1^7;
14
15
16 sbit P10 = P1^0;
17 sbit P11 = P1^1;
18
19
20 float idata voltage;
21 void adc_init(void);
22 float adc_voltage(int channel);
23 float adc_value(int channel);
24
25 void adc_init(void)
26 {
27 1 CS = 1;
28 1 CLK = 0;
29 1 }
30
31 float adc_voltage(int channel)
32 {
33 1 float r;
34 1 switch(channel)
35 1 {
36 2 case 1:r = adc_value(channel); r = r;return r;
37 2 case 0:r = adc_value(channel); r = r;return r;
38 2 default:return 0;
39 2 }
40 1 }
41
42 float adc_value(int channel)
43 {
44 1 int i;
45 1 uchar d;
46 1 ushort r;
47 1
48 1 d = (((unsigned char)channel)<<4)+0x02;
49 1 CS = 0;
50 1 for(i=0;i<12;i++)
51 1 {
52 2 if(i<8)
53 2 {
54 3 if( d&(1<<(7-i))) DIN = 1;else DIN=0;
55 3 }
C51 COMPILER V7.06 WATER_TEST 11/27/2005 14:53:41 PAGE 2
56 2 else
57 2 DIN = 0;
58 2 CLK = 1;
59 2 CLK = 0;
60 2 }
61 1 DIN = 0;
62 1 while(EOC==0);
63 1
64 1 r = 0;
65 1 for(i=0;i<12;i++)
66 1 {
67 2 CLK = 1;
68 2 if(DOUT)r|=(1<<i);
69 2 CLK = 0;
70 2 }
71 1 CS = 1;
72 1 return (float)r*5/4095.0;
73 1 }
74
75
76
77 void main(void)
78 {
79 1
80 1 adc_init();
81 1 while(1)
82 1 {
83 2 voltage=adc_voltage(0);
84 2
85 2 }
86 1
87 1 }
88
89
90
91
92
93
94
95
96
97
98
99
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 221 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
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 + -