Para leer la temperatura se puede adaptar la siguiente plantilla:
#include <p18cxxx.h>
#include <delays.h>
#include <stdio.h>
#include <stdlib.h>
#include "18F2550BOLT.h"
#include "ONEWIRE-BOLT.h"
extern void _startup( void ); // See c018i.c in your C18 compiler dir
#pragma code _RESET_INTERRUPT_VECTOR = 0x000800
void _reset( void )
{
_asm goto _startup _endasm
}
#pragma code
float a;
int entero,decimal;
char array[10];
char temperatura[]="Tempe=";
char alarma[]="ALARMA ACTIVADA";
void main()
{
init_bolt( );
InitLCD( );
while(1)
{
ClearScreen( );
PrintString(alarma);
PrintString(temperatura);
a=ds1820_read();
entero=a; //Entero
decimal=(a-entero)*10; //Decimal
sprintf(array,"%2d.%d %cC",entero,decimal,214); //CONVIERTE A STRING
GotoXY(1,0);
PrintString(array);
delay_ms(1000);
}
}