void Read_2556(unsigned char channel)
{
unsigned int i = 0;
channel<<=4; //通道 控制位为7-4位
Vaa=0; //电压值初始为0
CS_2556_H; //先禁止所有功能
CLK_2556_L; //在CS置低前将CLK置低
CS_2556_L; //片选使能(可选)
Delay_ms(5); //延时
for(i=0;i<12;i++)
{
if((channel&0x80) == 0x80) {DINPUT_2556_H;}
if((channel&0x80) != 0x80) {DINPUT_2556_L;}
if(DOUT_2556 == 1){Vaa |= 0x0001;}
if(DOUT_2556 == 0){Vaa &= 0x0ffe;}
Vaa<<=1;channel<<=1;
CLK_2556_H; Delay_ms(5);
CLK_2556_L; Delay_ms(5);
}
Vaa >>= 1;CS_2556_H;
for(i=0;i<9;i++){Delay_ms(5);}
/*转化为实际电压值*/
Ge=((unsigned int)((float)Vaa*REF_2556/4.095));
}
|