ad7705.c

来自「AD7705数据转换程序」· C语言 代码 · 共 63 行

C
63
字号
#include<reg51.h>
#include<intrins.h>

#define uchar unsigned char
#define uint  unsigned int

sbit ad_Clk=P1^0;
sbit ad_In=P1^1;
sbit ad_Out=P1^2;
sbit ad_DRDY=P1^3;

uchar bdata temp;
sbit temp7=temp^7;
sbit temp0=temp^0;

void W7705byte(uchar x)          /*写一字节数据函数*/
{
	 uchar i;
   temp=x;
    for(i=8;i>0;i--)
    {
    ad_In=temp0;
     ad_Clk=1;
     ad_Clk=0;
     temp=temp>>1;
    }
}

void init_ad()          /*ad7705的初始化*/
{
 W7705byte(0x21);
 W7705byte(0x04);
 W7705byte(0x11);
 W7705byte(0x78);
}

uint get_ad_data(void)   /*启动ad7705并读取转换完毕的数据*/
{
  uint r_data;
  uchar i;
  temp=0x39;
   for(i=8;i>0;i--)
  {
   ad_In=temp0;
   ad_Clk=1;
   ad_Clk=0;
   temp=temp>>1;
  }
   
   while(ad_DRDY==1);
   
   temp=0;
   
   for(i=16;i>0;i--)
  {
   temp7=ad_Out;
   ad_Clk=1;
   ad_Clk=0;
   temp=temp>>1;
   }
  r_data=temp;
return(r_data);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?