ad7705.c

来自「温度仪表软件」· C语言 代码 · 共 73 行

C
73
字号
#include "reg52.h"
#include "intrins.h"


#include "my_type.h"

#include "function.h"
#include"global_var.h"	   
#include"interface.h"

/*ad7705初始化*/
void ad7705_init()
{
	AD7705_RESET = 0;
	delay(5);//有效复位AD7705
	AD7705_RESET = 1;
	_nop_();
	
	ad7705_write(0x10);//写设置寄存器
	ad7705_write(0x44);//自校准,增益为1,单极性,无缓冲模式

	ad7705_write(0x20);//写时钟寄存器
	ad7705_write(0x40);//                                                                                                                                                                                                                                                                                                                                             

}	
	
/*ad7705写状态寄存器*/
void ad7705_write(uchar ad_word)
{
	uchar i;
	for(i=0x80;i>=0x01;i>>=1)
	{		
		AD7705_SCLK = 0;
		if(0==(ad_word&i))
			AD7705_DIO = 0;
		else
			AD7705_DIO = 1;
		AD7705_SCLK = 1;//写脉冲
	}
	AD7705_DIO = 1;//拉高防干扰
}

/*ad7705读数据寄存器*/
uint ad7705_read()
{
	uchar i;
	uint ad_data = 0;	
	ad7705_write(0x38);
	for(i=0;i<16;i++)
	{	
		AD7705_SCLK = 0; 
			ad_data<<=1;
		if(1 == AD7705_DIO)
			ad_data++;
		AD7705_SCLK = 1;//读脉冲			
	}							  
	AD7705_DIO = 1;//拉高防干扰
	return ad_data;
}
/*uint filter()
{
	uint a[8];
	uint i,ad_zhi;
	for(i=0;i<8;i++)
	{
		a[i]=ad7705_read();
		_nop_(); 
		 ad_zhi+=a[i];
	}

	  ad_zhi=ad_zhi/8;
	  return ad_zhi;
}  */

⌨️ 快捷键说明

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