?? 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 + -