关于蓝桥杯——DA转化

关于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;

}

}


你可能感兴趣的:(蓝桥杯)