• 大小: 49KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: uV  

资源简介

利用AD7705芯片制作精度达到uV级的电压表

资源截图

代码片段和文件信息

/************AD7705初始化及基本应用模块*****************/

#define uint unsigned int
#define uchar unsigned char

sbit adclk=P1^3;/***时钟脉冲***/
sbit addout=P1^4;/***数据输出的反向脉冲***/
sbit addin=P1^5;/**数据输入脉冲***/
#define ch1 1/**输入通道IN1***/
#define ch2 2/**输入通道IN2***/
#define bipolar 0/**双极性输入***/
#define unipolar 1/**单极性输入***/
#define ad_clk_width 1/**串口时钟脉冲宽度***/
/**软件延时***/
void wait7705(uint t)
{
for(;t>0;t--);
}
/**向ad7705写入一个字节***/
void wbyte7705(uchar x)
{
uchar i;
adclk=1;
for(i=0;i<8;i++)
{
adclk=0;
wait7705(ad_clk_width);
addin=(bit)(x & 0x80);
wait7705(ad_clk_width);
adclk=1;
wait7705(ad_clk_width);
x<<=1;
}
}
/**从ad7705读一个字***/
uint rword7705()
{
uchar i;
uint x;
adclk=1;
for(i=0x=0;i<16;i++)
{
adclk=0;
wait7705(ad_clk_width);
x<<=1;
if(!addout)/**光电耦合器反相***/
x|=0x01;
adclk=1;
wait7705(ad_clk_width);
}
return x;
}
/**ad7705通信端口复位***/
void reset7705()
{
uchar i;
for(i=0;i<35;i++)
{/*多于连续32个DIN=1,使端口复位*/
adclk=0;
wait7705(ad_clk_width);
addin=1;
wait7705(ad_clk_width);
adclk=1;
wait7705(ad_clk_width);
}
}

/**ad7705初始化 输入通道channel-----1=IN12=IN2;
输入极性polarity----0=双极性,1=单极性;
PGA增益gain-----[1248163264128]
非缓冲模式**************/
void init7705(uchar channelbit polarityuchar gain)
{
uchar x;
reset7705();/***防止串口失步***/
wbyte7705(0x20);/**写ch0 clock register***/
wbyte7705(0x00);/**2.4576MHz 时钟,20Hz数据更新速率***/
wbyte7705(0x21);/**写ch1 clock register***/
wbyte7705(0x00);/**2.4576MHz 时钟,20Hz数据更新速率***/
if(channel==1)/**com register选择下步操作setup register***/
wbyte7705(0x10);
else
wbyte7705(0x11);
if(polarity)
x=0x04;
else
x=0x00;
switch(gain)
{
case 1:x|=0x40;break;
case 2:x|=0x48;break;
case 4:x|=0x50;break;
case 8:x|=0x58;break;
case 16:x|=0x60;break;
case 32:x|=0x68;break;
case 64:x|=0x70;break;
case 128:x|=0x78;break;
default :x|=0x40;break;
}
wbyte7705(x);
}
/***读ad7705转换数据 输入通道channel-----1=IN12=IN2;***/
uint getdata7705(uchar channel)
{
if(channel==1)
wbyte7705(0x38);
else
wbyte7705(0x39);
return(rword7705());
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2322  2011-09-06 22:52  AD7705\7705.c

     文件       2551  2011-10-25 18:27  AD7705\7705.h

     文件      33142  2011-10-26 02:49  AD7705\AD7705

     文件       8780  2011-10-27 00:22  AD7705\AD7705.c

     文件        273  2011-09-07 01:18  AD7705\ad7705.h

     文件      12119  2011-10-26 02:49  AD7705\AD7705.hex

     文件         45  2011-10-26 02:49  AD7705\AD7705.lnp

     文件      30554  2011-10-26 02:49  AD7705\AD7705.LST

     文件      44877  2011-10-26 02:49  AD7705\AD7705.M51

     文件      37139  2011-10-26 02:49  AD7705\AD7705.OBJ

     文件       2381  2011-10-27 00:23  AD7705\AD7705.Opt

     文件        159  2011-10-27 00:15  AD7705\AD7705.plg

     文件       2145  2011-09-12 21:03  AD7705\AD7705.Uv2

    .......      2383  2011-10-26 02:53  AD7705\AD7705_Opt.Bak

     文件       2145  2011-09-12 20:57  AD7705\AD7705_Uv2.Bak

     文件       1588  2011-09-06 23:21  AD7705\buttom4x4.h

     文件       2157  2011-10-23 11:45  AD7705\LCD_1602.h

     文件       5115  2002-04-16 14:32  AD7705\STARTUP.A51

     文件      11679  2011-10-26 02:49  AD7705\STARTUP.LST

     文件        749  2011-10-26 02:49  AD7705\STARTUP.OBJ

     目录          0  2011-10-27 00:23  AD7705

----------- ---------  ---------- -----  ----

               202303                    21


评论

共有 条评论