float GX18B20_Get_Temp(void)
{
	uint16_t tpmsb, tplsb;
	//int s_tem;
	float f_tem;
	uint8_t Temp_H,Temp_L;
	uint8_t t0,t1,t2,t3,t4,t5;
	
	GX18B20_Rst();	   
	GX18B20_Presence();	 
	GX18B20_Write_Byte(0XCC);				/* ?1y ROM */
	GX18B20_Write_Byte(0X44);				/* ?a?a?? */
	
	GX18B20_Rst();
        GX18B20_Presence();
	DS18B20_Write_Byte(0XCC);				/* ?1y ROM */
        GX18B20_Write_Byte(0XBE);				/* ????? */
	Delay_ms(1000);
	t0 = GX18B20_Read_Byte();		 
	t1 = GX18B20_Read_Byte(); 
        t2 = GX18B20_Read_Byte(); 	
	t3 = GX18B20_Read_Byte();
	t4 = GX18B20_Read_Byte();
	t5 = GX18B20_Read_Byte();
	
	tplsb=t0;
	tpmsb = t1*256+tplsb;
	tpmsb=tpmsb<<2;
	tpmsb+=t4&0x03;
	f_tem=tpmsb*0.015625;
	
	return f_tem; 	
}