你好,它的輸出值有在一個10K的電阻上進行測量,然后置于的環境也是正常的室內環境。將模擬亮度轉換為數字值的是用ADC0832轉換的,代碼如下,能幫忙看一下嗎?
uchar Adc0832() //AD轉換,返回結果
{
uchar u=0;
uchar dat=0;
ADCLK=0;
delayms(1);
ADCS=0;//拉低CS端
delayms(1);
ADDI=1;
delayms(1);
ADCLK=1;//拉高CLK端
delayms(1);
ADCLK=0;//形成下降沿1
delayms(1);
ADCLK=1;//拉高CLK端
ADDI=1;
delayms(1);
ADCLK=0;//形成下降沿2
delayms(1);
ADCLK=1;//拉高CLK端
ADDI=1;
delayms(1);
ADCLK=0;//形成下降沿3
delayms(1);
ADDI=1;//控制命令結束
delayms(1);
dat=0;
for(u=0;u<8;u++)
{
ADCLK=1;
delayms(1);
ADCLK=0;//形成一次時鐘脈沖
delayms(1);
dat|=ADDO;//收數據
if(u<7)
dat<<=1;
}
for(u=0;u<8;u++)
{
ADCLK=1;
delayms(1);
ADCLK=0;//形成一次時鐘脈沖
delayms(1);
}
ADCS=1;//拉低CS端
ADCLK=0;//拉低CLK端
ADDO=1;//拉高數據端,回到初始狀態
return dat; //return 數據
} |