下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、AD7705 性价比比较高的 16位 ad 使用比较简单 用做单通道的时候 基本不怎么需要设置 做双通道的时候,发现的点问题 ,而这几点问题在网上的前辈那也没有特别说明 这里提出来供用的着 AD7705 的参考下 1. 关于时钟寄存器 AD7705 只有一个时钟寄存器 而不是两个。 2.4576MHZ 是标准频率 ,如果用 4.9152MHZ的时候,要将 CLKDIV位置位
2、160; 也就是 2 分频到 2.4576 具体设置看手册 2. 关于数据寄存器 AD7705 也只有一个数据寄存器 ,一段时间内只能对一路 AD输入做数据转换 。数据转换范围 单极性 0 - Vref/Gain 对应 0 - 0xffff(65535) 双极性 -Vref/Gain - 0&
3、#160;对应 0 - 0x8000(32768) 0 - Vref/Gain 对应 0x8000(32768) - 0xffff(65535) 3. 关于设置寄存器 同样也只有一个 ,要用哪个通道 就要先设置这个通道对应的寄存器值 4. 校准寄存器 虽然有 4对 但只是对应外部校准的 所以在用自校准,通道切换的时候也要重新自校准一下,校准的时候 DRDY 为高电平,校准完后
4、 为低电平 校准完后 第一次读的数据 不怎么准 应该读第二次转换出来的数据。 下边是我单通道切换转换的程序: #include <iom16v.h> /SPI 引脚定义 PB 口 #define CS_DRDY 3 #define CS_CS 4 #define CS_MOS
5、I 5 #define CS_MISO 6 #define CS_SCK 7 extern void SpiInit(void); /
6、 SPI 初始化 M16 extern void InitAD7705(void); / AD7705 初始化 extern unsigned int ReadDataCH1(void); &
7、#160; /读取转换数据 extern unsigned int ReadDataCH2(void); /读取转换数据 #include "AD7705.H" /定义位操作 #define SET_BIT(x,y) (x)
8、|= (0x0001 << (y) #define CLR_BIT(x,y) (x) &= (0x0001 <<(y) #define CPL_BIT(x,y) (x) = (0x0001 << (y) #define GET_BIT(x,y) (x) & (1 <<
9、60;(y) = 0? 0:1) #define LET_BIT(x,y,z) (x) = (x) & (1 << (y) | (z) << (y) /*短延时程序50us*/ void delay50us(unsigned int t) unsigned int j;
10、 for(;t>0;t-) for(j=0;j<70;j+); / SPI 初始化 M16 void SpiInit(void) /cs 置为输出 方可不影响 SPI 总线 DDRB|=(1<<CS_MOSI)|(1<<
11、CS_SCK)|(1<<CS_CS); /使能 spi 设置为主机 时钟极性为空闲时高平 上升沿采样下降沿设置 分频系数为128分频 SPCR|=(1<<SPE)|(1<<MSTR)|(1<<SPR0); SPSR = 0x00; /setup SPI SET_BIT(PORTB,
12、CS_DRDY); /设置 REDY 信号输入端口上拉电阻使能 SET_BIT(PORTB,CS_MISO); /设置 MISO 信号输入端口上拉电阻使能 / SPI 发送接收数据 unsigned char TransmitterSpi(unsigned ch
13、ar cData) SPDR = cData; while(!(SPSR&(1<<SPIF); return SPDR; /复位 AD7705 void ResetAD(void) unsigned char i
14、0;for(i = 10;i>0;i-) /持续DIN高电平写操作,恢复AD7705接口 TransmitterSpi(0xff); / AD7705 初始化 void InitAD7705(void) CLR_BIT
15、(PORTB,CS_CS); /CS置为输出低电平,使能 AD7705 ResetAD() TransmitterSpi(0x20); /通讯寄存器 /通道 1,下一个写时钟寄存器 自校准 TransmitterSpi(0x00);
16、0; /时钟寄存器 /写时钟寄存器设置 2.459Mhz更新速率为20hz TransmitterSpi(0x10); /通讯寄存器 /通道 1,下一个写设置寄存器 TransmitterSpi(0x48); /设置寄存器 /自校准,增益 1,双极 ,缓冲 d
17、elay50us(100); /延时 TransmitterSpi(0x21); /通讯寄存器 /通道 2,下一个写时钟寄存器 自校准 TransmitterSpi(0x00);
18、 /时钟寄存器 /写时钟寄存器设置 2.459Mhz更新速率为20hz TransmitterSpi(0x11); /通讯寄存器 /通道 2,下一个写设置寄存器 TransmitterSpi(0x48); /设置寄存器 /自校准,增益 1,双极,缓冲 delay50us
19、(100); /* 按照通道 1 读取 */ unsigned int ReadDataCH1(void) unsigned int getData
20、= 0; unsigned char bufR5; TransmitterSpi(0x10); /通讯寄存器 /通道 1,下一个写设置寄存器 TransmitterSpi(0x48); /设置寄存器 /自校准,增益
21、60;1,双极 ,缓冲 while(PINB&(1<<CS_DRDY); /等待校准完成 READY 信号变为低电平 TransmitterSpi(0x38); /发送 0x38 读取 CH1 数据寄存器
22、; while(PINB&(1<<CS_DRDY); /等待 READY 信号变为低电平 bufR0=TransmitterSpi(0xff); /转换结果高位 bufR1=TransmitterSpi(0xff); /转换结果低位 getData=(bufR0<<8)|buf
23、R1; /获得数据 16 位 return getData /返回数据 /*按照通道 2 读取*/ unsigned int ReadDataCH2(void) unsigned int getData =
24、0;0; unsigned char bufR5; TransmitterSpi(0x11); /通讯寄存器 /通道 1,下一个写设置寄存器 TransmitterSpi(0x48); /设置寄存器 /自
25、校准,增益 1,双极 ,缓冲 while(PINB&(1<<CS_DRDY); /等待校准完成 READY 信号变为低电平 TransmitterSpi(0x39); /发送 0x01 读取 AD7705 数据寄存器 while(PINB&(1<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版绿色建筑房地产转让合同补充协议3篇
- 二零二五年教育培训机构教师聘用合同书3篇
- 二零二五年度特色农产品黄牛养殖购销合同3篇
- 二零二五年融资租赁合同规范本2篇
- 二零二五版个人房产抵押借款担保合同3篇
- 二零二五年度食堂厨房设计咨询与服务合同2篇
- 二零二五版LOGO知识产权授权与品牌战略规划合同3篇
- 二零二五版粮食进出口贸易代理合同示范文本3篇
- 二零二五版服务器租赁与数据同步服务合同3篇
- 二零二五年度高速铁路建设用聚乙烯管材管件采购合同3篇
- 2025年度土地经营权流转合同补充条款范本
- 南通市2025届高三第一次调研测试(一模)地理试卷(含答案 )
- Python试题库(附参考答案)
- 聚酯合成副反应介绍
- DB37-T 1342-2021平原水库工程设计规范
- 电除颤教学课件
- 广东省药品电子交易平台结算门户系统会员操作手册
- DB32T 3960-2020 抗水性自修复稳定土基层施工技术规范
- 大断面隧道设计技术基本原理
- 41某31层框架结构住宅预算书工程概算表
- 成都市国土资源局关于加强国有建设用地土地用途变更和
评论
0/150
提交评论