|
#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);
}
|
|