Naime imam rutinu za iscitavanje temperature ali mi na displeju ne pokazuje vrenosti kada su u minusu.
Code:
symbol DQ = PORTb.2 ' Dq linija je povez. na pin RE2
temperatura Var Word ' Promen.za cuvanje izmer. temp.
count_remain Var Byte ' Ostatak
count_per_c Var Byte ' Ostatak po stepenu C
ADCON1 = 7 ' PORTA i PORTE su digitalni
Pause 100 ' Pauza za start LCD-a
Pocetak:
OWOut DQ, 1, [$CC, $44] ' Start merenja temperature
Cekaj: OWIn DQ, 4, [count_remain] ' Provera da li jos traje
If count_remain = 0 Then Cekaj
OWOut DQ, 1, [$CC, $BE] ' Procitaj izmerenu temperaturu
OWIn DQ, 0, [temperatura.LOWBYTE, temperatura.HIGHBYTE, Skip 4, count_remain, count_per_c]
' Prikazi temperaturu u DEC obliku
temperatura = (((temperatura >> 1) * 100) - 25) + (((count_per_c - count_remain) * 100) / count_per_c)
Lcdout $fe, 1, " TEMPERATURA"
Lcdout $fe, $C0, " ", DEC (temperatura / 100), ".", DEC2 temperatura, " C"
Pause 5000 ' Zadrzi pet sekundi
GoTo Pocetak ' Ponovi sve
End ' Kraj programa