📄 ad7715.lst
字号:
C51 COMPILER V8.02 AD7715 02/16/2009 20:57:03 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE AD7715
OBJECT MODULE PLACED IN ad7715.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ad7715.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "at89x52.h"
2 #include "mytype.h"
3 #include "ad7715.h"
4
5
6 void WriteADData(uchar write_data)
7 {
8 1 uchar i;
9 1 for(i=0;i<8;i++)
10 1 {
11 2
12 2 if ( (write_data & 0x80)!= 0 ) AD_DIN = 1;
13 2 else AD_DIN = 0;
14 2 write_data = write_data << 1;
15 2
16 2 AD_SCLK = 1;
17 2 AD_SCLK = 0;
18 2 AD_SCLK = 1;
19 2
20 2
21 2 }
22 1
23 1 }
24
25 uint ReadADData(uchar zijie)
26 {
27 1 uchar i;
28 1 uint ad_data = 0;
29 1
30 1 for(i=0;i<zijie*8;i++)
31 1 {
32 2 AD_SCLK = 1;
33 2 AD_SCLK = 0;
34 2 AD_SCLK = 0;
35 2
36 2
37 2 ad_data = ad_data << 1;
38 2
39 2 if(AD_DOUT)
40 2 ad_data += 1;
41 2
42 2 AD_SCLK = 1;
43 2
44 2 }
45 1 return ad_data;
46 1 }
47
48 void InitAD7715(void)
49 {
50 1
51 1 WriteADData(0x10); //设置增益为1;同时设定下次为设置Setregister;
52 1 WriteADData(0x66); //设置校准为自标定(很重要!),主频率为大于2M,更新频率为20Hz,单极;
53 1
54 1 //关于很多网站上说的频率必须为2.4576M或1M,本人不能认同,
55 1 //官方网站上提到,大于2M时,CLK应设为1,以便提供足够的电流给芯片工作
C51 COMPILER V8.02 AD7715 02/16/2009 20:57:03 PAGE 2
56 1
57 1 }
58
59 uint GetADNum(void)
60 {
61 1 while(AD_DRDY == 1) ; //等待转换完成;
62 1
63 1 WriteADData(0x38); //,写通讯寄存器,读取更新的数值;
64 1
65 1
66 1 return ReadADData(2);
67 1 }
68
69
70
71
72
73
74
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 107 ----
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 + -