📄 adc0832.lst
字号:
C51 COMPILER V8.05a ADC0832 12/09/2006 18:03:03 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE ADC0832
OBJECT MODULE PLACED IN ADC0832.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE ADC0832.c ROM(COMPACT) OPTIMIZE(SIZE) DEBUG OBJECTEXTEND
line level source
1 /************************
2 ADC0832实验
3 ************************/
4 #include <intrins.h>
5 #include <at89x52.h>
6
7 #define ulong unsigned long
8 #define uint unsigned int
9 #define uchar unsigned char
10
11 sbit ADCS =P1^3; //ADC0832 chip seclect
12 sbit ADDI =P1^1; //ADC0832 data in
13 sbit ADDO =P1^1; //ADC0832 data out
14 sbit ADCLK =P1^0; //ADC0832 clock signal
15
16 unsigned int Adc0832(unsigned char channel);
17
18 /************
19 读ADC0832函数
20 ************/
21
22 //采集并返回
23 unsigned int Adc0832(unsigned char channel)
24 {
25 1 uchar i=0;
26 1 uchar j;
27 1 uint dat=0;
28 1 uchar ndat=0;
29 1
30 1 if(channel==0)channel=2;
31 1 if(channel==1)channel=3;
32 1 ADDI=1;
33 1 _nop_();
34 1 _nop_();
35 1 ADCS=0;//拉低CS端
36 1 _nop_();
37 1 _nop_();
38 1 ADCLK=1;//拉高CLK端
39 1 _nop_();
40 1 _nop_();
41 1 ADCLK=0;//拉低CLK端,形成下降沿1
42 1 _nop_();
43 1 _nop_();
44 1 ADCLK=1;//拉高CLK端
45 1 ADDI=channel&0x1;
46 1 _nop_();
47 1 _nop_();
48 1 ADCLK=0;//拉低CLK端,形成下降沿2
49 1 _nop_();
50 1 _nop_();
51 1 ADCLK=1;//拉高CLK端
52 1 ADDI=(channel>>1)&0x1;
53 1 _nop_();
54 1 _nop_();
55 1 ADCLK=0;//拉低CLK端,形成下降沿3
C51 COMPILER V8.05a ADC0832 12/09/2006 18:03:03 PAGE 2
56 1 ADDI=1;//控制命令结束
57 1 _nop_();
58 1 _nop_();
59 1 dat=0;
60 1 for(i=0;i<8;i++)
61 1 {
62 2 dat|=ADDO;//收数据
63 2 ADCLK=1;
64 2 _nop_();
65 2 _nop_();
66 2 ADCLK=0;//形成一次时钟脉冲
67 2 _nop_();
68 2 _nop_();
69 2 dat<<=1;
70 2 if(i==7)dat|=ADDO;
71 2 }
72 1 for(i=0;i<8;i++)
73 1 {
74 2 j=0;
75 2 j=j|ADDO;//收数据
76 2 ADCLK=1;
77 2 _nop_();
78 2 _nop_();
79 2 ADCLK=0;//形成一次时钟脉冲
80 2 _nop_();
81 2 _nop_();
82 2 j=j<<7;
83 2 ndat=ndat|j;
84 2 if(i<7)ndat>>=1;
85 2 }
86 1 ADCS=1;//拉低CS端
87 1 ADCLK=0;//拉低CLK端
88 1 ADDO=1;//拉高数据端,回到初始状态
89 1 dat<<=8;
90 1 dat|=ndat;
91 1 return(dat); //return ad data
92 1 }
93
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 145 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -