#include "Config.h"
sbit ADC0832_CLK = P1^4;
sbit ADC0832_ADDI = P1^5;
sbit ADC0832_ADDO = P1^6;
sbit ADC0832_CS = P1^0;
sbit ADC0832_dian = P0^7;
unsigned char adc0832_value=0;
unsigned char Read_ADC0832(unsigned char chx)
{
unsigned char i,data_c;
unsigned char ch;
if(chx==0)
{
ch=1;
}
else
{
ch=0;
}
data_c = 0;
ADC0832_CS = 0;
ADC0832_ADDO = 0;
Delay(2);
ADC0832_CLK = 0;
Delay(2);
ADC0832_ADDI = 1; //第一个脉冲 启动AD转换器
ADC0832_CLK = 1;
Delay(2);
ADC0832_CLK = 0;
Delay(2);
ADC0832_CLK = 1; // 第二的脉冲 送出1
Delay(2);
ADC0832_CLK = 0;
Delay(2);
ADC0832_ADDO = ch;
ADC0832_CLK = 1; //第三个脉冲 送出0
Delay(2);
ADC0832_CLK = 0;
ADC0832_ADDI = 0; //D1口转为高阻态
ADC0832_ADDO = 1; //D0口脱离高阻态 为输出做准备
for (i=0;i<8;i++)//读出数据
{
ADC0832_CLK=1;
Delay(2);
ADC0832_CLK=0;
Delay(2);
data_c=(data_c<<1)|ADC0832_ADDO;
}
ADC0832_CS=1;
return(data_c);
}
|