关于da转化,我们要自己再添加两个函数
1 void PCF8591_Init()
{
IIC_Start() //开启iic
IIC_SendByte(0X90) //开始写
IIC_WaitAck();
IIC_SendByte(0X01);//选择通道1 用于光敏
IIC_WaitAck();
IIC_Stop();
somenop;
}
2.uchar DA_PCF8591()
{
uchar temp;
IIC_SendByte(0X91) //开始读
IIC_WaitAck();
temp=IIC_RecByte();
IIC_ACK(1);
IIC_Stop();
return temp;
somenop;
}
当我们添加这两个函数后,就可以利用led来检测光
void LED()
{
uchar temp;
temp=DA_PCF8591;
if(temp<=63) //63是我随意取得值,ad转化中,所能测的最大电压是5v,而8位2进制最大为256,因此读取出的值与256的比值即为实际电压与最大电压5v的比值
{
P2=(P2&0X1F)|0X80;
P0=0X00;
P2=0X1F;
}
else
{
P2=(P2&0X1F)|0X80;
P0=0Xff;
P2=0X1F;
}
}