📄 ad7705初始化.txt
字号:
#include <reg52.h>
#include <intrins.h>
#include "global_var.h"
#include "my_type.h"
#include "temp_interface.h"
#include "temp_constant.h"
#include "temp_function.h"
/*ad7705初始化*/
void ad7705_init()
{
AD7705_nRST = 0;
delay(5);//有效复位AD7705
AD7705_nRST = 1;
_nop_();
ad7705_write(time_reg);//写时钟寄存器
ad7705_write(0x44);//自校准,增益为1,单极性,无缓冲模式
}
/*ad7705写状态寄存器*/
void ad7705_write(uchar ad_word)
{
uchar i;
AD7705_nCS = 0;
for(i=0x80;i>=0x01;i>>=1)
{
AD7705_SCK = 0;
if(0==(ad_word&i))
AD7705_DIO = 0;
else
AD7705_DIO = 1;
AD7705_SCK = 1;//写脉冲
}
AD7705_DIO = 1;//拉高防干扰
AD7705_nCS = 1;
}
/*ad7705读数据寄存器*/
uint ad7705_read()
{
uchar i;
uint ad_data = 0;
AD7705_nCS = 0;
for(i=0;i<16;i++)
{
AD7705_SCK = 0;
if(1 == AD7705_DIO)
ad_data++;
ad_data<<=1;
AD7705_SCK = 1;//读脉冲
}
AD7705_DIO = 1;//拉高防干扰
AD7705_nCS = 1;
return ad_data;
}
void ad7705_int1() interrupt 2
{
uint ad_num;//模数转换数字量
EX1 = 0;//关模数转换中断
ad_num = ad7705_read();//读模数转换数字量
/*XUJIN数字滤波*/
vt_pt100(ad_num);//得到温度
EX1 = 1;//开模数转换中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -