AD7705经验总结

合集下载

AD7705 及其应用

AD7705 及其应用

为此, 我们选用 AD7705 作为模数转换器。AD7705
1 闸位荷重仪的基本原理
在 闸 位 荷 重 仪 中 ,最 基 本 的 测 量 参 数 包 括 开 度 和荷重。闸位编码传感器与闸门启闭机主轴相连, 把闸门的提升高度转换为数字编码后可直接送入微 处 理 器;而 测 量 荷 重 我 们 采 用 压 力 传 感 器 。起 吊 闸 门时,传感器受力,输出电压信号。此信号经 A/D 转换后,由微处理器读入、处理并显示输出,进行 报警控制。图 1所示为闸位荷重仪的原理框图。
在我们的系统中,由于89C51的串行口用于扩展 RS-485 接口。因此,采用另一种方法,即用 89C51的 并行口模拟串行口的时序,完成对 AD7705的操作, 详细的连接方法如图 1 所示。把 89C51 的 P1.7、P1.6、
P1.5、P1.4 分别与 AD7705 的 DIN、SCLK、DOUT、CS
程增益 (具有 1、 2、 4、 8、 16、 32、 64、 128 八种
的 24 位并行输入口完全可以满足不同位数的编码
放 大 倍 数 )、可 编 程 输 出 数 据 更 新 率 及 自 校 准 和 系
器需要 ; 另一片 8255 用作键盘显示接口。
统 校 准 功 能;同 时 具 有 三 线 串 行 接 口 ,与 微 处 理 器
AD7705 是 AD 公司新推出的 16 位 Σ - Δ A/D 转换器。器件包括由缓冲器
图1 闸位荷重仪的原理框图
和 增 益 可 编 程 放 大 器( PGA )组 成 的 前 端来自拟调节电路、Σ - Δ调制器、可编
综 合 考 虑 仪 器 的 功 能 、运 行 环 境 及 经 济 效 益 等
程数字滤波器等部件。能直接将传感器测量到的 2

AD7705770616位ΣΔAD转换器原理及其应用

AD7705770616位ΣΔAD转换器原理及其应用

AD7705 7706 16位Σ ΔA D转换器原理及其应用AD7705/7706 16位Σ-ΔA/D转换器原理及其应用AD7705/7706是 AD公司新推出的16位Σ-ΔA/D转换器。

器件包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路,Σ-Δ调制器,可编程数字滤波器等部件。

能直接将传感器测量到的多路微小信号进行A/D转换。

这两种器件还具有高分辨率、宽动态范围、自校准、优良的抗噪声性能以及低电压低功耗等特点,非常适合应用在仪表测量、工业控制等领域。

一.主要特点1. AD7705:两个全差分输入通道的ADC2. AD7706:三个准差分输入通道的ADC3. 16位无丢失代码4. %非线性5. 可编程增益:1、2、4、8、16、32、64、1286. 可编程输出数据更新率7. 可选择输入模拟缓冲器8. 自校准和系统校准9. 三线串行接口,QSPITM,MICROWIRETM和DSP兼容或5V工作电压电压时,最大功耗为1mW13. 等待模式下电源电流为8μA二.功能框图和引脚排列引脚排列如图1所示,功能框图见图2,,AD7706部分引脚(6,7,8,11)与图1 AD7705的引脚AD7705不同,已标注在图中括号内。

图 2 AD7705/7706功能框图三.应用说明AD7705/7706是完整的16位A/D转换器。

外接晶体振荡器、精密基准源和少量去耦电容,即可连续进行A/D转换。

下面对器件的几个重要部分和特性作简要说明。

1.增益可编程放大器和采样频率AD7705包括两个全差分模拟输入通道,AD7706包括三个准差分模拟输入通道。

片内的增益可编程放大器PGA可选择1、2、4、8、16、32、64、128八种增益之一,能将不同摆幅范围的各类输入信号放大到接近A/D转换器的满标度电压再进行A/D转换,这样有利于提高转换质量。

当电源电压为5V,基准电压为时,器件可直接接受从0~+20mV至0~+摆幅范围的单极性信号和从0~±20mV至0~±范围的双极性信号。

AD7705的操作

AD7705的操作

AD7705的操作我现在使用外部TL431(2.5V基准电压),电源电压为5V,外接晶体振荡器2.4576MHz,电路如下:程序如下:--------------------------AD7705.H -----------------------------------#ifndef _AD7705_H_#define _AD7705_H_// 引脚定义sbit AD7705_SCLK = P2^4;sbit AD7705_DRDY = P2^5;sbit AD7705_DOUT = P2^6;sbit AD7705_DIN = P2^7;// 通讯寄存器地址定义#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_CALIBRA TION 0x00 //系统零校准#define FULL_CALIBRA TION 0x01 //系统满量程校准#define CLOCK_REG_SET 0x04 //CLOCK寄存器设置,无分频,50HZ 输出更新速率#define DELAY() {_nop_();_nop_();_nop_();}// 函数声明void AD7705_Init(void);void AD7705_Reset(void);void AD7705_Start(void);uchar AD7705_ReadByte(void);void AD7705_WritByte(uchar d);float AD7705_ReadV ol(void);#endif--------------------------AD7705.C -----------------------------------//**************************************************************************** //功能:AD7705串行接口失步后将其复位。

[设计]AD转换芯片7705

[设计]AD转换芯片7705

[设计]AD转换芯片7705AD7705 性价比比较高的 16位 ad 使用比较简单用做单通道的时候基本不怎么需要设置做双通道的时候,发现的点问题,而这几点问题在网上的前辈那也没有特别说明这里提出来供用的着 AD7705 的参考下1. 关于时钟寄存器 AD7705 只有一个时钟寄存器而不是两个。

2.4576MHZ 是标准频率,如果用 4.9152MHZ的时候,要将 CLKDIV位置位也就是 2 分频到 2.4576 具体设置看手册2. 关于数据寄存器 AD7705 也只有一个数据寄存器,一段时间内只能对一路AD输入做数据转换。

数据转换范围单极性 0 -- Vref/Gain 对应 0 -- 0xffff(65535)双极性 -Vref/Gain -- 0 对应 0 -- 0x8000(32768) 0 - Vref/Gain 对应0x8000(32768) -- 0xffff(65535)3. 关于设置寄存器同样也只有一个,要用哪个通道就要先设置这个通道对应的寄存器值4. 校准寄存器虽然有 4对但只是对应外部校准的所以在用自校准,通道切换的时候也要重新自校准一下,校准的时候 DRDY 为高电平,校准完后为低电平校准完后第一次读的数据不怎么准应该读第二次转换出来的数据。

下边是我单通道切换转换的程序:#include <iom16v.h>//SPI 引脚定义 PB 口#define CS_DRDY 3#define CS_CS 4#define CS_MOSI 5#define CS_MISO 6#define CS_SCK 7extern void SpiInit(void); // SPI 初始化 M16extern void InitAD7705(void); // AD7705 初始化extern unsigned int ReadDataCH1(void); //读取转换数据extern unsigned int ReadDataCH2(void); //读取转换数据#include "AD7705.H"//定义位操作#define SET_BIT(x,y) ((x) |= (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 << (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;for(;t>0;t--)for(j=0;j<70;j++);}// SPI 初始化 M16void SpiInit(void){//cs 置为输出方可不影响 SPI 总线DDRB|=(1<<CS_MOSI)|(1<<CS_SCK)|(1<<CS_CS);//使能 spi 设置为主机时钟极性为空闲时高平上升沿采样下降沿设置分频系数为128分频SPCR|=(1<<SPE)|(1<<MSTR)|(1<<SPR0);SPSR = 0x00; //setup SPISET_BIT(PORTB,CS_DRDY); //设置 REDY 信号输入端口上拉电阻使能SET_BIT(PORTB,CS_MISO); //设置 MISO 信号输入端口上拉电阻使能 }// SPI 发送接收数据unsigned char TransmitterSpi(unsigned char cData){SPDR = cData;while(!(SPSR&(1<<SPIF)));return SPDR;}//复位 AD7705void ResetAD(void){unsigned char i ;for(i = 10;i>0;i--) //持续DIN高电平写操作,恢复AD7705接口{TransmitterSpi(0xff);}}// AD7705 初始化void InitAD7705(void){CLR_BIT(PORTB,CS_CS); //CS置为输出低电平,使能 AD7705ResetAD() ;TransmitterSpi(0x20); //通讯寄存器 //通道 1,下一个写时钟寄存器自校准TransmitterSpi(0x00); //时钟寄存器 //写时钟寄存器设置 2.459Mhz更新速率为20hzTransmitterSpi(0x10); //通讯寄存器 //通道 1,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极 ,缓冲delay50us(100); //延时TransmitterSpi(0x21); //通讯寄存器 //通道 2,下一个写时钟寄存器自校准TransmitterSpi(0x00); //时钟寄存器 //写时钟寄存器设置 2.459Mhz更新速率为20hzTransmitterSpi(0x11); //通讯寄存器 //通道 2,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极,缓冲delay50us(100);}//*************************** 按照通道 1 读取****************************//unsigned int ReadDataCH1(void) {unsigned int getData = 0;unsigned char bufR[5];TransmitterSpi(0x10); //通讯寄存器 //通道 1,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极 ,缓冲while(PINB&(1<<CS_DRDY)); //等待校准完成 READY 信号变为低电平TransmitterSpi(0x38); //发送 0x38 读取 CH1 数据寄存器while(PINB&(1<<CS_DRDY)); //等待 READY 信号变为低电平bufR[0]=TransmitterSpi(0xff); //转换结果高位bufR[1]=TransmitterSpi(0xff); //转换结果低位getData=(bufR[0]<<8)|bufR[1]; //获得数据 16 位return getData ; //返回数据}//***************************按照通道 2 读取****************************//unsigned int ReadDataCH2(void) {unsigned int getData = 0;unsigned char bufR[5];TransmitterSpi(0x11); //通讯寄存器 //通道 1,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极 ,缓冲while(PINB&(1<<CS_DRDY)); //等待校准完成 READY 信号变为低电平TransmitterSpi(0x39); //发送 0x01 读取 AD7705 数据寄存器while(PINB&(1<<CS_DRDY)); //等待 READY 信号变为低电平bufR[0]=TransmitterSpi(0xff); //转换结果高位bufR[1]=TransmitterSpi(0xff); //转换结果低位getData=(bufR[0]<<8)|bufR[1]; //读取数据前 16 位return getData ;}void main(void){unsigned char adi ;unsigned int getData,getData2;SpiInit();InitAD7705();while(1){if(adi++ >=1) adi = 0;if(adi == 0) getData = ReadDataCH1(); if(adi == 1) getData2 = ReadDataCH2(); }}。

AD7705原理及其在电子秤称重系统中的应用

AD7705原理及其在电子秤称重系统中的应用

AD7705原理及其在电子秤称重系统中的应用黄昆(攀枝花学院电信学院,四川攀枝花617000)摘要:AD7705是AD公司新推出的一种基于Σ-Δ转换技术16位A/D转换芯片,可用于测量低频模拟信号。

它具有分辨率高、增益可编程、动态范围广、自校准、功耗低等特点,因而非常适合于工业控制、仪表测量等领域。

关键词:Σ-Δ型A/D转换;AD7705;电子秤称重系统在工业控制、智能仪器仪表等许多应用场合需要16位以上的高精度测量,而传统的积分型和逐次比较型A/D转换器实现起来难度较大,且成本很高。

近年来兴起的Σ-Δ转换技术却能以较低的成本获得极高的分辨率。

AD7705是AD公司新推出的一种基于Σ-Δ转换技术16位A/D转换芯片,可用于测量低频模拟信号。

它具有分辨率高、增益可编程、动态范围广、自校准、功耗低等特点,因而非常适合于工业控制、仪表测量等领域。

一、Σ-Δ型A/D转换技术Σ-Δ转换器又称为过采样转换器,具有相对简单的结构。

它由Σ-Δ模拟调制器及数字滤波器构成(图1)。

调制器的结构非常近似于双斜率ADC,包括一个积分器和一个比较器,以及含有一个1位DAC的反馈环。

这个内置的DAC仅仅是一个开关,它将积分器输入切换到一个正或负的参考电压。

图1Σ-Δ转换器的结构窄带信号送入Σ-△ADC后被以非常低的分辨率(1位)进行量化,但采样频率却非常高,如2MHz或更高。

经数字滤波处理后这种过采样被降低到一个比较低的采样率,如8kHz左右,同时ADC的分辨率(即动态范围)被提高到16位或更高。

这种Σ-△技术在模数转换器市场上占据了很重要的位置。

它具有三个主要优势:①低价格、高性能;②集成化的数字滤波;③与DSP技术的兼容性便于实现系统集成。

二、AD7705原理1.内部结构AD7705内部由多路模拟开关(MUX)、缓冲器、可编程增益放大器(PGA)、Σ-Δ调制器、数字滤波器、基准电压输入、时钟电路及串行接口组成(图2)。

16位_模数转换器AD7705及其校准

16位_模数转换器AD7705及其校准

16位 模数转换器AD7705及其校准陈勇钢,吴伯农(北方工业大学机电工程学院 北京 100041)摘 要:A D7705是A D 公司推出的16位高性能、低功耗 A /D 转换器,具有增益可编程放大器,可通过编程直接测量传感器输出的微弱信号。

介绍了A D7705的基本特点、结构以及常用片上寄存器的格式与编程注意事项。

自校准和系统校准可消除偏置和增益误差,由于现场条件变化不定,还详细介绍了适用于特定条件的现场校准与手动校准,最后给出了数据手册中没有的手动校准实例。

关键词:A D7705;模/数转换;校准;现场校准;手动校准中图分类号:T P352 文献标识码:B 文章编号:1004373X(2006)0412403Introduction and Calibration of the 16b Sigma Delta A/D Converter AD7705CH EN Y ong gang,WU Bonong(Co llege o f Electrom echanical Eng i neeri ng,No rt h China Universi t y o f T echnolog y,Beij ing,100041,China)Abstract :A D7705is a high per for mance and low pow er 16b Sig ma Delta A /D convert er which is intr oduced by the A D Company.It employ s a P rog rammable Ga in A mplif ier (PG A )and accepts low lev el signals directly fr om a t ransducer.T his paper int roduces its feat ur es and structur e.T he bit desig nations o f the co mmon on chip r egister s ar e outlined as well as the co nsiderations in pr og ramming.Self calibration and sy st em calibr ation on the AD7705remov es offset and g ains er ro rs fr om the dev ice.F iled calibration and manual ca-l ibr atio n ar e discussed ex haustively to deal w ith the uncert ain conditio ns,and an ex ample which can t be found in t he datasheet is presen -ted.Keywords :A D7705;A /D co nv ersion;calibration;field calibration;manua l calibr atio n收稿日期:200509161 AD7705简介AD7705是A D 公司推出的16位 (电荷平衡式)A/D 转换器。

AD7705 及其应用

AD7705 及其应用

AD7705/06的PGA可通过指令设定,对不同幅度的输入信号实现1、2、4、8、16、32、64和128倍的放大,因此AD7705/06芯片既可接受从传感器送来的低电平输入信号,亦可接受高电平(10V)信号,它运用Σ―Δ技术实现16位无误码性能;它的输出速度同样可由指令设定,范围由20Hz到500Hz;它能够通过指令设定对零点和满程进行校正;AD7705/06与微处理器的数据传送通过串行方式进行,采用了节省端口线的通讯方式,最少只占用控制机的两条端口线。

3.AD7705/06的基本连接及其与微处理器接口电路AD7705/06的基本连接AD7705/06的基本连接如图2所示,其中AD780/REF192提供+2.5V高精度基准电压。

AD7705由于只有2个通道,所以它可以进行两种模拟量的转换,而AD7706具有3个通道,所以它可以进行三种模拟量的转换,笔者在设计压力变送器时就充分运用了`该芯片的功能,AD7706的基本连接与图2相似。

AD7705/06与单片机的接口电路AD7705/06与微处理器的接口非常方便,在对它的操作过程中,涉及到接口的引脚有CS、SCLK、DOUT、DIN和DRDY,它与微处理器的接口有三线、四线、五线及多线方式。

在三线方式下,通常使用DOUT、DIN及SCLK引脚进行控制,其中DOUT和DIN与微处理器的串行口相连,用于数据的输出和输入,SCLK用于输入串行时钟脉冲,CS始终为低电平。

在四线方式下,CS引脚也可以由微处理器的某一端口线控制。

在五线方式下,DRDY 引脚也可以由微处理器的某条端口线控制。

在多线控制方式下,所有的接口引脚都由微处理器来控制。

图3是笔者使用INTEL8031对AD7706进行控制的简化电路图。

MOV SBUF,AJNB TI,﹩;接收完毕,TI复位CLR TIMOV A,#0CH;设置CLKMOV SBUF,AJNB TI,CLR TIMOV A,#010H;对CMR进行写操作,下一操作选定STR MOV SBUF,AJNB TI,﹩CLR TIMOV A,#40H;设置STRMOV SBUF,AJNB TI,﹩CLR TIRET程序2输入字节程序(判断DRDY引脚):INB1:CLR CJB P1.1,INB1;判断DRDY引脚电平CLR P1.0;DRDY为0,有效数据,进行读数据操作MOV A,#38H;对CMR进行写操作,下一操作选定DOR MOV SBUF,AMOV A,SBUF;从AD7706中读入转换数据。

关于AD7705的技术文档

关于AD7705的技术文档

关于AD7705模块的技术文档一、模块描述1、简介:D7705/7706 是应用于低频测量的2/3 通道的模拟前端。

该器件可以接受直接来自传感器的低电平的输入信号,然后产生串行的数字输出。

利用Σ-∆转换技术实现了16 位无丢失代码性能。

选定的输入信号被送到一个基于模拟调制器的增益可编程专用前端。

片内数字滤波器处理调制器的输出信号。

通过片内控制寄存器可调节滤波器的截止点和输出更新速率,从而对数字滤波器的第一个陷波进行编程。

2、产品性能参数及特点:�AD7705:2 个全差分输入通道的ADC�AD7706:3 个伪差分输入通道的ADC16位无丢失代码0.003%非线性�可编程增益前端增益:1~128�三线串行接口SPITM、QSPITM、MICROWIRETM和DSP 兼容�有对模拟输入缓冲的能力�2.7~3.3V或4.75~5.25V工作电压� 3V电压时,最大功耗为1mW�等待电流的最大值为8μA�16脚DIP、SOIC和TSSOP封3、产品应用场合:AD7705/7706 是用于智能系统、微控制器系统和基于DSP 系统的理想产品。

其串行接口可配置为三线接口。

增益值、信号极性以及更新速率的选择可用串行输入口由软件来配置。

该器件还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差。

二、模块原理图三、引脚功能四、校准1、自校准过向设置寄存器的MD1和MD0写入相应值(0,1),器件开始自校准。

在单极性输入信号范围内,用来确定校准系数的零标度点是用差分输入对的输入端在器件内部短路(即,对于AD7705,AIN(+)=AIN(-)=内部偏置电压;对于AD7706,AIN=COMMON=内部偏置电压)。

增益可编程放大器(PGA)设置为用于零标度校准转换时选定的增益(由通信寄存器内的G1和G0位设置)。

满标度标准转换是在一个内部产生的VREF电压和选定增益的条件下完成的。

校准持续时间是6×1/输出速率。

AD7705在电子秤中的应用

AD7705在电子秤中的应用

① AT8 5 的 C ] 初始化 :硬件 设计 中如 果用到 中 9
断 ,则 需 对 单 片 机 的 中 断 系 统 进 行 初 始 化 .软 件 设 计
中如果 用到 串 口,则需对 单片 机的 串 口进 行初 始化 。 ② AD7 5 1 0 与5 系 列 单片机的 数据 交换 顺序 : 7 在
同接 P2门中 未
用 的 另 一 引 脚
留 3 写周 期 9 I序 图
(匕 P 3 L 夕n 2. 。在 )
要满 足前面 确定 的AD70 参数 . 75 设计 中AD70 75
硬件设计 连接 方式 下,只能 用手 工编程 模拟 AD70 的通 该种 75 信时 序 以 实现 对 AD77 05的操 作 。 ② SCLK 接 AT 9 5 8 C 1的同步 脉冲输 出端 T XD, 7 5的数据 AD70 输入 、输 出端 DI D N, OUT一同接 AT 9 5 的 串行 8C 1
八I P AI M M N ORG 0 3 0 1H AJ P M AD NT I ORG 0 0 0 3H M AI N
对A 8C1 T 95 初始化
留 石i匀 胃期 f 月 l 赴 y 程 留




APP CAT ON N OT LI I ES
AD7 0 7 5在 电子 秤 中 的应 用
A 70 A pit n i i Ssm D 75 lao iWe hn yt p c i n g g e
中 国 工 程 物 理 研 究 院 电 子 工 程 研 究 所 屈新 芬 金 春 雨 聂 文 清
一 同接 P 口中 2 未用的 另一 引脚 (匕 P ,) 数 , 1如 22 , 据输 入 、 出端 输

AD7705在起重机控制器中的应用

AD7705在起重机控制器中的应用

河南科技上河南职业技术学院机电系赵玉剑在起重机智能控制器中,限重拉力传感器采用应变式传感器,输出的是比较微弱的模拟信号,抗干扰能力差。

若用传统的电路设计方法,则需在A/D 之前增加一级或多级高精度放大器,这样不仅增加了成本和提高了系统的复杂性,而且还会出现外部低频(如工频)干扰和放大器漂移的情况。

为此,该控制器的A/D 芯片选用AD7705,避免了上述问题的出现,且转换精度也能满足系统的要求。

一、AD7705简介AD7705是AD 公司推出的应用于低频测量的2通道模拟前端。

该器件可以接受直接来自传感器的低电平输入信号,然后产生串行的数字输出。

利用∑-△转换技术实现了16位无丢失代码的性能。

1.AD7705的特点。

2个全差分输入通道,16位无丢失代码,0.003%非线性。

可编程增益为1~128。

三线串行接口SPITM 、QS PITM 、MICROWIRETM 和DS P 兼容。

有对模拟输入缓冲的能力。

2.7~3.3V 或4.75~5.25V 工作电压。

在3V 电压时,最大功耗为1Mw 。

等待电流的最大值为8μA 。

16脚DIP 、S OIC 和TS SOP 封装。

2.AD7705的引脚排列与功能。

AD7705的引脚排列如图1所示,各引脚的功能说明如下。

S CLK :串行时钟,施密特逻辑输入。

MCLK IN :转换器提供主时钟信号。

可以是晶振时钟或外部时钟,其频率范围为500kHz ~5MHz 。

M LK OUT :时钟信号输出。

当用晶振作为芯片的工作时钟时,晶振接在M LK IN 和M LK OUT 之间。

如果采用外部时钟时,则MCLK OUT 将提供一个反向时钟信号。

该时钟的输出可以通过编程来关闭从而节省能耗。

/CS :片选端,低电平有效。

/RES ET :复位输入端。

低电平有效的输入,将器件的控制逻辑、接口逻辑、校准系数、数字滤波器和模拟调制器复位至上电状态。

AIN1(+)、A IN1(-):为第1个差分输入通道的正端与负端。

AD7705在货车超偏载检测中的应用

AD7705在货车超偏载检测中的应用

AD7705在货车超偏载检测中的应用余小华,黄采伦,陈安华(湖南科技大学,湖南湘潭411201)Application of t he AD7705in Detecting the Overload and U nbalancedLoad of the Freight CarsYU Xiao hua,HUANG Cai lun,CHEN An hua(H unan U niversity of Science and T echno lo gy ,Xiang tan 411201,China)摘要:在对货车进行超偏载检测的过程中,由于存在工频信号、脉冲发生器、电子开关和射频信号等干扰源,严重影响了超偏载检测传感器的信号拾取。

利用AD7705在A/D 转换环节中内置的信号调理电路,有效地抑制干扰,并简化了前向通道的设计。

应用表明,该方法能有效地衰减检测现场的大部分干扰信号,提高超偏载检测的可靠性。

关键词:AD7705;超偏载;干扰;检测中图分类号:T P274文献标识码:B 文章编号:10012257(2006)12007503收稿日期:20060628Abstract:During the ex amination of the over -load and unbalanced lo ad of the freig ht car,the sig -nals fr om the detection sensors are influenced ser-i o usly because o f the so many disturbance so urces,such as the w ork frequency sig nal,pulses,electro n -ics switch,r adio fr equency sig nals and so on.In this ar ticle,the sig nal disposal circuit of the A/D con -v ersion taches inside the AD7705is used to restrain the distur bance effectively,and simplify the desig n of the fr ont channel.The applications show that the metho d can restrain the m ost of the disturbance signals fro m the detected surrounding av ailably,and the reliability of the ex amination of the over -load and unbalanced load is impr oved.Key words:AD7705;overload unbalanced load;disturbance;ex am ination0 引言由于装车不准、装载不匀或运输过程中货物移位等原因,铁路货车的欠载、偏载和超载现象时常发生。

任务三、AD7705的应用

任务三、AD7705的应用

1 AD7705 简介AD7705 是十六位分辨率的A/ D 转换器,2 通道全差分模拟输入,使用+ 5V 单电源,主要应用于低频测量。

它利用了Σ- △转换技术实现了16 位无误码数据输出,三线数字接口,可以通过串行输入接口,由软件配置芯片的增益值、输入信号极性和数据更新速率,非常灵活方便。

具有自校准和系统校准功能,能够消除器件本身和系统的增益以及偏移误差。

是用于开发智能系统、微控制器系统和基于DSP 系统的理想产品。

1. 1 主要特点2 个全差分输入通道的ADC ,十六位无丢失代码,0. 003 %非线性; 可编程增益:1~128 ; 三线串行接口; 具有模拟输入端缓冲器; 工作电压: 2. 7~3. 3V 或4. 75~5. 25V; 低功耗,3V 电压时, 最大功耗为1mW; 等待电流的最大值为8μA; 16 脚DIP、SOIC 和TSSOP 封装。

1.2 引脚功能1、SCLK串行时钟输入。

将一个外部的串行时钟加于这一输入端口,以访问TM7705 的串行数据。

2 、MCLK IN为转换器提供主时钟信号。

能以晶振或外部时钟的形式提供。

晶振可以接在MCLK IN 和MCLK OUT 二引脚之间。

此外,MCLK IN 也可用CMOS 兼容的时钟驱动,而MCLK OUT 不连接。

时钟频率的范围为500kHz~5MHz。

3、MCLK OUT当主时钟为晶振时,晶振在MCLK IN 和MCLK OUT之间。

如果在MCLK IN 引脚处接上一个外部时钟,MCLK OUT 将提供一个反相时钟信号。

这个时钟可以用来为外部电路提供时钟源,且可以驱动一个CMOS 负载。

如果用户不需要,MCLK OUT 可以通过时钟寄存器中的CLK DIS 位关掉。

这样,器件不会在MCLK OUT 脚上驱动电容负载而消耗不必要的功率4、CS:片选,低电平有效的逻辑输入,选择TM7705。

将该引脚接为低电平,TM7705 能以三线接口模式运行(以SCLK、DIN 和DOUT 与器件接口)。

AD7705应用经验总结

AD7705应用经验总结

AD7705应用经验总结这些经验同样适用于AD7799、AD7706等AD公司的拥有校准功能的AD芯片。

1.时序注意要点:数字接口迷失的时候可以通过ADIN输入持续32个脉冲周期(DCLK)以上的高电平将复位AD7705的数字接口,复位之后要等待500us以上才能访问AD7705芯片,这种复位方式不会影响AD7705内部的任何寄存器,所有的寄存器将保持复位之前的内容,但所有的寄存器在数字接口迷失的状态下内容是不确定的,因此强烈建议在复位之后重新设置AD7705内部所有的寄存器,防止错误。

而芯片管脚RESET的复位将使片内所有的寄存器恢复到上电的默认值。

时钟输入信号DCLK 是一种施密特出发信号,能够适应光耦合器的慢速边沿,其他数字输入信号的上升和下降时间不应超过1us。

2.AD7705时钟大于2M时,时钟设置寄存器的CLK位应置1,小于2M时应置0。

DCLK 的脉冲宽度要满足最小的脉宽要求。

在时钟DCLK下降之后的低电平期间读取数据ADOUT。

在时钟DCLK的低电平期间设置要写入数据ADIN,然后在DCLK的上升沿写入到7705。

写入数据以及读取数据的时钟DCLK的数目要与(被写入或被读取的寄存器)的位数长度一致,多于或少于(寄存器位长度)的时钟DCLK数目都将导致操作错误。

在两次写操作之间,ADIN应最好保持在高电平:因为任何(读或写)操作都必须从写通信寄存器开始,而且写入通信寄存器的8个位中的第1位必须为0,后续的位才能被写入到通信寄存器。

所以当ADIN为0的时候,万一时钟DCLK受到干扰导致0写入通信寄存器,AD7705会误认为是写通信寄存器的操作开始而等待后续的7位位串,发生这种干扰之后会导致AD7705的数字接口迷失,从而导致内部寄存器的内容也许会变得未知状态。

此外,时钟信号DCLK在两次操作AD7705之间要保持高电平。

即:在不访问AD7705的空闲时刻,或者两次操作之间的空闲时刻,ADIN、DCLK都最好保持高电平为最可靠。

16位高性能低功耗A/D转换器AD7705及其应用

16位高性能低功耗A/D转换器AD7705及其应用

16位高性能低功耗A/D转换器AD7705及其应用16位高性能低功耗A/D转换器AD7705及其应用沈国民王欢谢军龙(华中科技大学武汉,430074)摘要:介绍了16位高性能、低功耗A/D转换器AD7705的特点,并给出了AD7705结合8031单片机进行压力测量的硬件接口电路及软件编程方法。

关键词:A/D转换器单片机压力测量ABSTRACT:The paper describes the characters of the high—performance,low—power A/D converter AD7705,introduces its application for pressure measurement with a single chip mierocomputer8031.KEYWORDS:A/D Converter Single chip microcomputer Pressure measurement1 AD7705简介1.1 主要性能AD7705是美国AD公司新近推出的一种低成本、高分辨率A/D转换器,它适用于宽动态范围测量、工业控制或工艺控制中的低频信号的转换。

是用于智能系统、微控制系统和基于DSP系统的理想产品。

其功能框图如图1所示。

它具有如下功能及特点:(1)双通道全差分模拟输入,可接受直接来自传感器的低电平的输人信号;(2)用&#931;一△转换技术实现了16位无丢失代码性能,0.003%的非线性度;(3)可编程增益前端,增益:1—128;(4) 可配置成三线串行接口;(5)信号极性以及更新速率的选择可用串行输入口由软件来配置;(6)该器件包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差;(7) 只需2.7~3.3V或4.75~5.25V单电源;(8) CMOS结构确保器件具有极低功耗,3V电压时,最大功耗为lmV;(9)等待或掉电模式下,器件消耗的电源电流仅为10ptA;(10)主时钟频率为1MHz或2.4576MHz,数据输出更新频率有20Hz、25Hz、100Hz、200Hz、50Hz、60Hz、250Hz、500Hz八种选择。

AD7705/7706在仪器仪表中的应用 工业控制 解决方案

AD7705/7706在仪器仪表中的应用 工业控制 解决方案
热点解决方案 一种新型嵌入式系统电源监控模块设计 基于 BF533 的图像采集与显示 基于 ARM 核的 ADμC7024 在医疗电子中的应用 采用 DSP 的铁路道口图像监控系统设计 嵌入式 Linux 系统的动态电源管理技术
由于模拟输入和基准输入是差分的,模拟调制器的大部分电压都是共模电压,AD770 5/7706 的良好的共模抑制性能能消除这些共模输入信号里的共模噪声,数字滤波器能抑 制供电电源产生的除了调制器采样频率整数倍的频率以外的宽带噪声。此外 ,数字滤波器 还能消除模拟和基准输入信号里的噪声不使模拟调制器饱和。但是,由于它的分辨率太高, 而要求的噪声电平太小,所以,必须注意接地和电路布线。
(1) 低价格、高性能 (2) 集成化的数字滤波 (3) 与 DSP 技术的兼容性便于实现系统集成
AD7705/7706 是利用 Σ-△转换技术实现了 16 位无丢失代码性能。该器件可以接受 直接来自传感器的低电平的输入信号,然后产生串行的数字输出。
AD7705/7706 只需 2.7~3.3V 或 4.75~5.25V 单电源。AD7705 是双通道全 差分模拟输入,而 AD7706 是 3 通道伪差分模拟输入,二者都有一个差分基准输入。当电 源电压为 5V、基准电压为 2.5V 时,这二种器件都可将输入信号范围从 0~20mA 到 0~ 2.5V 的信号进行处理。还可以处理±20mV~±2.5V 的双极性输入信号。当电源电压为 3 V、基准电压为 1.225V 时,可处理 0~10mV 到 0~1.225V 的单极性输入信号,它的 双极性输入信号范围是±10mV 到±1.225V 对于 AD7705 是以 AIN(-)输入端为参考点,而 AD7706 是 COMMON 输入端。AD7705/7706 是用于智能系统、微控制器系统和基于 D SP 系统的理想产品。其串行接口可配置为三线接口。增益值、信号极性以及更新速率的 选择可用串行输入口由软件来配置。该器件还包括自校准和系统校准选项,以消除器件本 身或系统的增益和偏移误差。

基于AD7705的在线激光功率检测系统设计要点

基于AD7705的在线激光功率检测系统设计要点

基于AD7705的在线激光功率检测系统设计嵇晓强,戴明,张秋鄂(1.中国科学院长春光学精密机械与物理研究所吉林长春130033;2.中国科学院研究生院北京100039;3.长春理工大学吉林长春130022)0引言利用单片机和AD7705模/数转换器结合光电检测技术而设计了一种在线激光功率检测系统。

该系统特点是原理简单,造价低廉,智能操作,方便实用,误差小,精度高。

它采用单片机自动采集光功率信号,然后对采集的数据进行处理。

由于与单片机结合,实现了检测过程的智能化,因而操嵇晓强,戴明,张秋鄂(1.中国科学院长春光学精密机械与物理研究所吉林长春 130033;2.中国科学院研究生院北京100039;3.长春理工大学吉林长春 130022)0引言利用单片机和AD7705模/数转换器结合光电检测技术而设计了一种在线激光功率检测系统。

该系统特点是原理简单,造价低廉,智能操作,方便实用,误差小,精度高。

它采用单片机自动采集光功率信号,然后对采集的数据进行处理。

由于与单片机结合,实现了检测过程的智能化,因而操作方便。

1系统组成及原理设计要求测量波长范围宽(0.5~10 μm),功能稳定,响应迅速,工作环境适应性强,这对传感器的选择,A/D转换器的精度、速度以及单片机都提出了严格的要求。

经方案论证,设计的系统原理见图1所示。

该系统由光电传感器电路、模/数转换电路、单片机控制电路以及显示电路4部分组成。

1.1信号采集电路设计系统设计的基础是光电传感器电路。

对于传感器的选择,应考虑探测波长范围以及功率两个方面,可选用与待测波长相对应的光电传感器。

由于要求的波长范围为0.5~10μm,功率范围为0~100W,所以,一般的光电传感器无法满足要求。

这里采用一种“抽样检测”的方法,即针对某一特定波长(该设计中为1.064μm)的激光器进行测量,设计出一种通用电路,只要改变传感器型号即可测量其他波长范围的激光输出功率。

采用2DU1系列硅光敏二极管作为探测器。

模数转换器AD7705在蓄电池质量检测中的应用

模数转换器AD7705在蓄电池质量检测中的应用

图 1
AD7705 与 AT90S8515 单片机的接口电路
在一般的简单系统中 , 常常只有 1 片 AD7705或其 他共用口线的器件 , 故 CS片选引脚通常连接低电平 , 节省了单片机的输出输入控制线, 这样就可以配置成 三线连接方式。三线连接方式下决定数据寄存器是否 被更新即确定数据寄存器是否可以被读出, 只有通过 监控通信寄存器 DRDY 位来判断。这种做法的代价是 时间花费较多, 它并不适用于时效性要求比较强的系 统。比较好的办法是 , 监控硬件 DRDY 引脚的状态, 以
图 2 蓄电池检测模 /数转换电路图
76
转换电路, 通道 1 和通道 2 的选择通过软件设置进行 切换, 实际应用中往往需要对不同通道采取不同的增 益 , 动态地对 AD7705 进行增益、 通道设置 , 很灵活方便 地达到这一目的。 1. 3 软件设计 使用 AD7705 之前 , 首先要对所 有寄存器进行设 置 , 才能保证器件正常工作。在实际使用中, 首先选择 模拟输入模式 ( 单极性或双极性 ) 、 是否需要缓冲、 时钟 分频和输出更新速率。根据外部输入信号的幅度来决 定设置器件的增益值。本实例应用中, 选择输入通道 单极性 , 初始增益等于 128, 数据更新速率为 50H z 。根 据实际确定所有参数以后 , 对 AD7705芯片进行设置。 参数设置方法比较独特, 在设置参数之前, 首先对通信 寄存器进行一次写操作, 来决定下 1 个是什么样的寄 存器和什么样的操作内容 , 再进行下一步的参数写入。 模拟输入电路前端加入了 1 个简单的 R、 C 滤波器, 会 在输入电压中引起增益误差 , 必须对器 件进行校准。 因为每次系统校准可以对系统的增益、 偏移误差以及 器件本身的内部误差进行补偿 , 所以参数设置完毕以 后 , 应该对器件进行一次系统校准, 写入设置寄存器位 M D1和 MD0 分别为 0和 1 完成系统自校准 , 自校准后自 动返回模数转换工作模式。实际中, 各路输入信号幅 度往往不完全相同, 因此每转换一路就需要一次参数 设置和系统校准。还需注意的是, 在非缓冲模式下使 用时, 系统校准还可以消除模拟输入端由电源阻抗引 起的任何误差。 1. 4 软件设计思想 首先, 通过编程使 AVR 单片机在 SP I串行通信中 处于主机状态 , 然后向 AD7705写控制字 , 设置 AD7705 的转换速率、 缓冲模式、 自动增益值、 校准模式。当控 制字写入完毕后, AD7705 即刻处于工作状态 , 对压力 传感器采集到的模拟量进行模数转换。当模数转换完 毕后, AD7705的 DRDY 引脚会产生一个低电平 , AVR 单片机通过查询的方式 , 采集 AD7705的 DDRY 引脚的 电平状态。如果引脚为低 , 即 AD7705已成功将模拟数 据转换为数字数据 , 然后单片机通过 SPI串行接口读出 AD7705转换后的数值。 用 I CCAVR 语言编写初始化程序。初始化以后 , CPU 就可以从模数转换器中读数据。读取数据之前 , 必须确定数据寄存器的状 态。有两种不同 的方式查 询 : 第一种是查询 DRDY 引脚 , 如果 DRDY 引脚处于低 电平, 这表示数据已经转换完成 , 可以读取; 第二种是 2 结束语
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AD7705应用经验AD7705应用总结【转】:YW2314R12项目中用到了AD7705,先将AD7705的应用经验以及注意要点总结如下,这些经验同样适用于AD7799、AD7706等AD公司的拥有校准功能的AD芯片。

1.时序注意要点:数字接口迷失的时候可以通过ADIN输入持续32个脉冲周期(DCLK)以上的高电平将复位AD7705的数字接口,复位之后要等待500us 以上才能访问AD7705芯片,这种复位方式不会影响AD7705内部的任何寄存器,所有的寄存器将保持复位之前的内容,但所有的寄存器在数字接口迷失的状态下内容是不确定的,因此强烈建议在复位之后重新设置AD7705内部所有的寄存器,防止错误。

而芯片管脚RESET的复位将使片内所有的寄存器恢复到上电的默认值。

时钟输入信号DCLK是一种施密特出发信号,能够适应光耦合器的慢速边沿,其他数字输入信号的上升和下降时间不应超过1us。

2.AD7705时钟大于2M时,时钟设置寄存器的CLK位应置1,小于2M时应置0。

DCLK的脉冲宽度要满足最小的脉宽要求。

在时钟DCLK下降之后的低电平期间读取数据ADOUT。

在时钟DCLK的低电平期间设置要写入数据ADIN,然后在DCLK的上升沿写入到7705。

写入数据以及读取数据的时钟DCLK的数目要与(被写入或被读取的寄存器)的位数长度一致,多于或少于(寄存器位长度)的时钟DCLK数目都将导致操作错误。

在两次写操作之间,ADIN应最好保持在高电平:因为任何(读或写)操作都必须从写通信寄存器开始,而且写入通信寄存器的8个位中的第1位必须为0,后续的位才能被写入到通信寄存器。

所以当ADIN为0的时候,万一时钟DCLK受到干扰导致0写入通信寄存器,AD7705会误认为是写通信寄存器的操作开始而等待后续的7位位串,发生这种干扰之后会导致AD7705 的数字接口迷失,从而导致内部寄存器的内容也许会变得未知状态。

此外,时钟信号DCLK在两次操作AD7705之间要保持高电平。

即:在不访问AD7705的空闲时刻,或者两次操作之间的空闲时刻,ADIN、DCLK都最好保持高电平为最可靠。

3.DRDY信号为数据AD转换完成的指示信号,低电平期间表示AD转换完成,可以读取数据寄存器的内容,高电平期间表示AD转换正在进行,这时不能访问数据寄存器。

对于系统校准和内部校准也一样,低电平期间表示校准完成,可以读取校准寄存器的内容,高电平期间表示校准正在进行,这时不能访问校准寄存器。

违反这些规定的操作,结果时未知的。

此外程序中千万不能把DRDY的逻辑搞反,否则结果不可预料。

4.不管是校准还是数据AD转换,数字滤波器同步位FSYNC都要置为0,这样AD7705的校准或者数据AD转换工作才能进行,否则校准和AD转换不会进行,DRDY信号也不会变低。

当FSYNC=0时,在校准或AD转换结束后DRDY信号将变低,此时可以读取校准系数或者数据寄存器。

5.采用非缓冲模式时,AD7705模拟输入前端的电阻电容的变化对AD转换精度影响很大。

若系统工作时的信号源、温度环境、器件参数变化很大,导致AD7705模拟输入前端电路的参数跟系统校准时的参数不一致,误差会非常大。

缓冲模式能解决这种问题,当使能缓冲模式时,AD7705会在模拟输入端和AD转换器之间接入一个缓冲器Buffer,这样AD7705就能适应模拟输入前端信号源的大阻抗、器件参数(电阻电容)的变化、温度环境的变化等各种与系统校准时的不一致情况(即器件工作条件的变化)。

所以,AD7705的校准和正常工作最好都要在缓冲模式下进行。

6.电压输入范围:对于非缓冲模式,模拟输入信号范围是【GND-30mV】至【VDD+30mV】之间。

对于缓冲模式,模拟输入信号范围是【GND+50mV】至【VDD-1.5V】之间。

7.非缓冲模式、单极性、增益为GAIN:此时AD7705的反相输入端VIN-的范围是【GND-30mV】至【VDD+30mV-VREF/GAIN】之间,其中VREF为AD7705的参考电压。

正相输入端VIN+的范围是【V-】至【V-+VREF/GAIN】。

如右图,即V+和V-都必须大于GND小于VDD,同时还要考虑单极性的输入范围,即V-还必须小于VDD+30mV-VREF/GAIN,才不至于模拟输入为V+max=【V-+VREF/GAIN】时大于VDD+30mV。

8.非缓冲、双极性、增益为GAIN:此时V+和V-都必须大于GAN小于VDD,V-还必须小于VDD+30mV-VREF/GAIN,这样输入V+max=【V-+VREF/GAIN】不至于大于VDD+30mV。

V-还必须大于GND-30mV +VREF/GAIN,才不至于输入V+min=【V――VREF/GAIN】时小于GND-30mV。

正相输入端VIN+的正信号输入范围是【V-】至【V-+VREF/GAIN】,正相输入端VIN+的负信号输入范围是【V-】至【V--REF/GAIN】。

如右图:其中V+max为正的最大输入,V+min为负的最大输入。

9.缓冲模式、单极性、增益为GAIN:此时AD7705的反相输入端VIN-的范围是【GND+50mV】至【VDD-1.5V-VREF/GAIN】之间,其中VREF为AD7705的参考电压。

正相输入端VIN+的范围是【V-】至【V-+VREF/GAIN】。

如右图,即V+和V-都必须大于GND+50mV小于VDD-1.5V,同时还要考虑单极性的输入范围,即V-还必须小于VDD-1.5V-VREF/GAIN,才不至于输入V+max=【V -+VREF/GAIN】时大于VDD-1.5V。

10.缓冲模式、双极性、增益为GAIN:此时AD7705的反相输入端VIN-的范围是【GND+50mV+VREF/GAIN】至【VDD-1.5V-VREF/GAIN】之间,这样才不至于输入VIN+max=【V-+VREF/GAIN】时导致VIN+大于VDD-1.5V、输入VIN +min=【V――VREF/GAIN】时导致VIN+小于GND+50mV。

其中VREF为AD7705的参考电压。

正相输入端VIN+的正信号输入范围是【V-】至【V-+VREF/GAIN】,正相输入端VIN+的负信号输入范围是【V-】至【V--REF/GAIN】。

如右图:其中V+max为正的最大输入,V+min为负的最大输入。

#include<reg52.h>#include<absacc.h>#include<intrins.h>#include<math.h>sbit Number_BIT0 = P2^7;sbit Number_BIT1 = P2^6;sbit Number_BIT2 = P2^5;sbit Number_BIT3 = P2^4;sbit BUZZER = P2^3;sbit AD7705_DATA=P3^0; // AD7705 input & output datasbit AD7705_CLK=P3^1; // AD7705 CLKsbit AD7705_DRDY=P1^2; // AD7705 data readysbit AD7705_CS =P1^3; // AD7705 CSunsigned char Counter,dis_index,dis_digit;float T_Voltage;unsigned char MSB_Data,LSB_Data,temp0,temp1,temp2,temp3,temp4,temp5; unsigned char code Display_code[11]=//{0xa0,0xF9,0xc4,0xd0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,};{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF};void Delayms(unsigned char ms);void AD7705_Start();void AD7705_Read ();void AD7705_Write_Reg(unsigned char Data_byte);unsigned char AD7705_Read_Reg();main(){TMOD = 0x11;IT0 = 1;PCON=0X00;ET0 = 1;TH1 = 0xFC;TL1 = 0x17;TR0 = 1;EA = 1;P0 = 0xff; P1 = 0xff; P2 = 0xf7; P3 = 0xff; dis_digit = 0x77;dis_index = 0;Counter = 0;AD7705_Start();while(1){while(AD7705_DRDY);AD7705_Read();Delayms(50);}}void Delayms(unsigned char ms)// relay ms{ unsigned char i;while(ms--){for(i = 0; i < 120; i++);}}void AD7705_Start(){AD7705_Write_Reg(0x20);AD7705_Write_Reg(0x0c);AD7705_Write_Reg(0x10);AD7705_Write_Reg(0x44);}void AD7705_Read(){AD7705_Write_Reg(0x38);MSB_Data = AD7705_Read_Reg();LSB_Data = AD7705_Read_Reg();T_Voltage =(float)MSB_Data;T_Voltage = T_Voltage*100;T_Voltage = T_Voltage + (float)LSB_Data;temp0 = T_Voltage/100000;temp1 = ((T_Voltage-temp0*100000)/10000);temp2 = ((T_Voltage-temp0*100000-temp1*10000)/1000);temp3 = ((T_Voltage-temp0*100000-temp1*10000-temp2*1000)/100);temp4 = (T_Voltage-temp0*100000-temp1*10000-temp2*1000-temp3*100)/10;temp5 = (T_Voltage-temp0*100000-temp1*10000-temp2*1000-temp3*100-temp4*10); }void AD7705_Write_Reg(unsigned char Data_byte){unsigned char i;AD7705_CS = 0;AD7705_CLK = 1;_nop_();_nop_();for(i = 0; i < 8; i++){AD7705_DATA = (bit)(Data_byte & 0x80); AD7705_CLK = 0;_nop_();_nop_();_nop_();AD7705_CLK = 1;Data_byte <<= 1;}_nop_();AD7705_CS = 1;}unsigned char AD7705_Read_Reg(){unsigned char i,Data_read;AD7705_CS = 0;AD7705_CLK = 1;_nop_();for(i = 0; i < 8; i++){AD7705_CLK = 0;_nop_();_nop_();Data_read <<= 1;Data_read |= (unsigned char)AD7705_DATA; _nop_();_nop_();AD7705_CLK = 1;_nop_();_nop_();}_nop_();AD7705_CS = 1;AD7705_DRDY = 1;return(Data_read);}void time0(void) interrupt 1 {TR0 = 0;P2 = dis_digit; //P2.7 --DS8 P0 = Display_code[dis_index];TH0 = 0xFC;TL0 = 0x17;Counter++;if(Counter==1){dis_digit = 0x77;dis_index = temp5;}else if(Counter==2){dis_digit = 0xb7;dis_index = temp4;}else if(Counter==3){dis_digit = 0xd7;dis_index = temp3;}else if(Counter==4) {dis_digit = 0xe7;dis_index = temp2; Counter = 0;}TR0 = 1;}。

相关文档
最新文档