没有合适的资源?快使用搜索试试~ 我知道了~
ad7705源程序
4星 · 超过85%的资源 需积分: 35 3 下载量 187 浏览量
2014-05-17
13:42:18
上传
评论 2
收藏 15KB TXT 举报
温馨提示
试读
16页
自己写的,很好用的,分享给大家试用。我是用来做电流表的
资源推荐
资源详情
资源评论
AD7705的源程序
------------AD7705头文件开始-------------------
#ifndef _AD7705_H
#define _AD7705_H
//通讯寄存器地址定义
#define WR_SETUP_REG 0x10 //选中写设置寄存器
#define RD_SETUP_REG 0x18 //选中写设置寄存器
#define WR_CLOCK_REG 0x20 //选中写时钟寄存器
#define RD_DATA_REG 0x38 //选中数据寄存器读
#define WR_OFFSET_REG 0x60 //选中写offset寄存器
#define RD_OFFSET_REG 0x68 //选中读offset寄存器
#define WR_FULL_REG 0x70 //选中写full scale寄存器
#define RD_FULL_REG 0x78 //选中读full scale寄存器
#define SYS_ZERO_CALI 0x80 //系统零校准模式
#define SYS_FULL_CALI 0xC0 //系统满量程校准模式
#define ZERO_CALIBRATION 0x00 //系统零校准
#define FULL_CALIBRATION 0x01 //系统满量程校准
//CLOCK寄存器设置,无分频,50HZ输出更新速率
#define CLOCK_REG_SET 0X04
//函数声明
void reset_AD7705(void);
unsigned char read_AD7705_byte(void);
unsigned int read_AD7705_word(void);
unsigned long int read_AD7705_dword(void);
------------AD7705头文件开始-------------------
#ifndef _AD7705_H
#define _AD7705_H
//通讯寄存器地址定义
#define WR_SETUP_REG 0x10 //选中写设置寄存器
#define RD_SETUP_REG 0x18 //选中写设置寄存器
#define WR_CLOCK_REG 0x20 //选中写时钟寄存器
#define RD_DATA_REG 0x38 //选中数据寄存器读
#define WR_OFFSET_REG 0x60 //选中写offset寄存器
#define RD_OFFSET_REG 0x68 //选中读offset寄存器
#define WR_FULL_REG 0x70 //选中写full scale寄存器
#define RD_FULL_REG 0x78 //选中读full scale寄存器
#define SYS_ZERO_CALI 0x80 //系统零校准模式
#define SYS_FULL_CALI 0xC0 //系统满量程校准模式
#define ZERO_CALIBRATION 0x00 //系统零校准
#define FULL_CALIBRATION 0x01 //系统满量程校准
//CLOCK寄存器设置,无分频,50HZ输出更新速率
#define CLOCK_REG_SET 0X04
//函数声明
void reset_AD7705(void);
unsigned char read_AD7705_byte(void);
unsigned int read_AD7705_word(void);
unsigned long int read_AD7705_dword(void);
void write_AD7705_byte(unsigned char data);
void write_AD7705_word(unsigned int data);
void write_AD7705_dword(unsigned long int data);
void ReadData7705(unsigned int *const pdata);
void AD7705_calibration(void);
void start_AD7705(void);
#endif
-----------AD7705主文件开始--------------
#include <util/delay.h>
#include <avr/eeprom.h>
#include "ad7705.h"
#include "main.h"
#include "crc16.h"
#include "Usart.h"
//针对四个量程的设置寄存器的设置内容
//(1)对于单极性V级别输入0-5V、0-20mA、0-10V这三个量程,输入范围为0-2V,无极性,增益为1,缓冲模式--0-2V
//(2)对于双极性V级别输入+-2.5V、+-5V这两个量程,输入范围为+-1V,双极性,增益为2,缓冲模式--+-2V
//(3)对于双精度mV级别输入+-500mV,增益为4,双极性,缓冲模式--+-2V
//(4)对双精度mV级别+-50mV,增益为32,双极性,缓冲模式--+-1.6V
//----MD1(0) MD0(0) G2(0) G1(0) G0(0) B/U(0) BUF(0) FSYNC(0)--------------------//
const unsigned char text_of_setup[4]={0X06,0X0A,0X12,0X2A}; //缓冲模式,数字滤波同步
extern volatile unsigned char command[7]; //校准命令全局数组
extern volatile unsigned char scale; //记录系统量程
extern volatile unsigned char NO_CALI_TYPE; //未校准类型
剩余15页未读,继续阅读
资源评论
- a57457854aaa2015-01-25有参考价值
c45516466443599
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功