//Warteschleife //----------------------------------------------------------------------------- void delay(int usec) { int s; for(s=0;s>i; temp = temp & 0x01 ; write_bit(temp); } delay(5); } //Liest Bit von 1-Wire-Bus //----------------------------------------------------------------------------- unsigned char read_bit(void) { unsigned char i; Port_DataDirBit(16,1); //PortPin16 = Ausgang Port_WriteBit(16,0); //PortPin16 auf "LOW" gesetzt Port_WriteBit(16,1); //PortPin16 auf "High" gesetzt for(i=0;i<3;i++); Port_DataDirBit(16,0); //PortPin16 = Eingang Port_WriteBit(16,1); //PortPin16 Pull-Up Widerstand ein i=Port_ReadBit(16); return(i); } //Liest Byte von 1-Wire-Bus //----------------------------------------------------------------------------- unsigned char read_byte(void) { unsigned char i; unsigned char value; value=0; for(i=0;i<8;i++) { if(read_bit())value=value|0x01<=0x80){temp_lsb=((~temp_lsb)+1);} if(temp_msb>=0x80){temp_lsb=(temp_lsb/2);} if(temp_msb>=0x80){temp_lsb=((-1)*temp_lsb);} Msg_WriteChar(temp_lsb); LCD_WriteText(get); } void main(void) { Read_Temperature(); LCD_Init(); LCD_ClearLCD(); }