求ad7707的51单片机的程序, AD7707是一款适合低频测量应用的完整模拟前端。这款3通道器

求ad7707的51单片机的程序, AD7707是一款适合低频测量应用的完整模拟前端。这款3通道器,第1张

#include <AT89X51.H>   

#include<math.h>   

#include<INTRINS.h>   

#define uchar unsigned char   

#define uint unsigned int   

   

sbit AD7707_DRDY=P3^3   

sbit AD7707_DIN=P1^5   

sbit AD7707_DOUT=P1^6   

sbit AD7707_SCLK=P1^7   

   

bdata uchar WtrByte   

sbit WtrBit=WtrByte^7   

   

   

void Init_AD7707(void) /*初始化AD7707*/   

{   

    uchar i   

    AD7707_SCLK=1   

    AD7707_DIN=1   

    for(i=0i<100i++) /*防止接口迷失*/   

    {   

        AD7707_SCLK=0   

        AD7707_SCLK=1   

    }   

}   

   

void WriteToReg_AD7707(uchar RegByte) /*写AD7707寄存器*/   

{   

    uchar i   

    WtrByte=RegByte   

   

    for(i=0i<8i++)   

    {   

        AD7707_SCLK=0   

        AD7707_DIN=WtrBit   

                AD7707_SCLK=1   

        WtrByte=WtrByte<<1   

   

    }   

}   

void AD_AINT1(void)  //通道1初始化   

{   

   

    WriteToReg_AD7707(0x20) /*激活通道 AIN1/LOCOM, 下一步 *** 作为写 Clock Register*/   

    WriteToReg_AD7707(0x18) /*启用 Master Clock, 2.4576MHz Clock, 设置 Output Rate 为 50Hz*/   

    WriteToReg_AD7707(0x10) /*激活通道 AIN1/LOCOM, 下一步 *** 作为写 Setup Register*/   

    WriteToReg_AD7707(0x44) /*Gain = 1, Unipolar 模式, Buffer 关闭, 清 FSYNC 并执行 Self Calibration*/   

   

}   

   

   

void AD_AINT2(void)     //通道2初始化   

{   

    WriteToReg_AD7707(0x21) //*激活通道 AIN2/LOCOM, 下一步 *** 作为写 Clock Register*/   

    WriteToReg_AD7707(0x18) /*启用 Master Clock, 2.4576MHz Clock, 设置 Output Rate 为 50Hz*/   

    WriteToReg_AD7707(0x11) /*激活通道 AIN2/LOCOM, 下一步 *** 作为写 Setup Register*/   

    WriteToReg_AD7707(0x44) /*Gain = 1, Unipolar 模式, Buffer 关闭, 清 FSYNC 并执行 Self Calibration*/   

}   

void AD_AINT3(void)   //通道3初始化   

{       WriteToReg_AD7707(0x23) /*激活通道 AIN3/HICOM, 下一步 *** 作为写 Clock Register*/   

    WriteToReg_AD7707(0x18) /*启用 Master Clock, 2.4576MHz Clock, 设置 Output Rate 为 50Hz*/   

    WriteToReg_AD7707(0x13) /*激活通道 AIN3/HICOM, 下一步 *** 作为写 Setup Register*/   

    WriteToReg_AD7707(0x44) /*Gain = 1, Unipolar 模式, Buffer 关闭, 清 FSYNC 并执行 Self Calibration*/   

   

 }   

uint Read_AD7707(void) /*读取AD7707数据*/   

{   

    uchar i   

    uint Data=0   

   

       while(AD7707_DRDY==1)   

   

    for(i=0i<16i++)   

    {   

        Data=Data<<1   

        AD7707_SCLK=0   

        Data=Data|AD7707_DOUT   

        AD7707_SCLK=1   

   

         }   

    return Data   

}

供供参考:http://www.zhixinrui.com/forum.php?gid=1

DAC_WRTA是对D/A写数据的,DAC_clk是D/A的工作时钟,应该不能直接连接一起的。

选择双通道模式,可以使用一个通道,但好像有点画蛇添足的感觉。

开发板不重要,重要的是这个开发板上用什么FPGA芯片?

从佛山-佛山火车站走到佛山火车站总站(公交站总站)乘坐旅游城巴四线(坐18站)\x0d\x0a到陈村海关站走到马路对面的陈村海关站转乘顺德931路(坐13站)\x0d\x0a到北_轻轨站(公交站)走到广东省佛山市北_轻轨站转乘火车:\x0d\x0aD7703(广州南→新会)(坐2站)、\x0d\x0aD7717(广州南→新会)(坐2站)、\x0d\x0aD7701(广州南→新会)(坐3站)、\x0d\x0aD7707(广州南→新会)(坐3站)、\x0d\x0aD7711(广州南→新会)(坐3站)\x0d\x0a到中山-广东省中山市小榄轻轨站下\x0d\x0a\x0d\x0a从佛山-佛山火车站走到佛山火车站总站(公交站总站)乘坐旅游城巴四线(坐18站)\x0d\x0a到陈村海关站走到马路对面的陈村海关站转乘顺德931路(坐13站)\x0d\x0a到北_轻轨站(公交站)走到广东省佛山市北_轻轨站转乘火车:\x0d\x0aD7653(广州南→珠海北)(坐3站)、\x0d\x0aD7663(广州南→珠海北)(坐3站)、\x0d\x0aD7655(广州南→珠海北)(坐4站)、\x0d\x0aD7657(广州南→珠海北)(坐5站)\x0d\x0a到中山-广东省中山北轻轨站下。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12138582.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存