📄 ad7705.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -