Samo opusteno

Resicemo problem...
1.
Code:
for (i=0; i<200; i++)
delay_ms(1);
Ovaj deo prosto mozes napisati delay_ms(200);
Samo iz razloga sto je manje i lepse

Ovo nije greska, samo sugestija
2.
Code:
while (1);
temp = read_adc(0);
Ovo ne radi nista

E sada, prvo da objasnimo while(1)...
while je petlja koja se izvrsava sve dok je izraz u zagradi ispunjen (tj. razlicit od 0).
Ako napises while(1) to predstavlja petlju koja se beskonacno izvrsava i mora
da je ima svaki kontroler... A ako napises while(1); i ovaj znak tacka zarez,
to je kao da si napisao beskonacnu petlju koja ima prazno telo
Tako da problem je sto se tvoj kod dodje to tog while(1); i beskonacno se zapuca tu i ne radi nista...
A ako napises ovako nesto :
Code:
while(1) //primeti da nema znak tacka zarez
{
temp = read_adc(0);
}
Beskonacno ce se ocitavati temperatura (tj. napon koji je proporcionalan temperaturi) i smestati u promenljivu temp.
Finalno ono sto ti trebas da uradis je da umesto ovoga
Code:
while (1);
temp = read_adc(0);
Napises ovo
Code:
while(1)
{
temp = read_adc(0);
/* u temp se nalazi vrednost napona */
vrednost_temperature = /*nadjes formulu u datasheetu za izracunavanje temperature na osnovu temp i napises to ovde */ ;
lcd_gotoxy(0,0);
lcd_putchar(vrednost_temperature);
delay_ms(500);
}
I to bi trebalo da radi
edit: Jedino jos trebas da stavis da temp ne bude int tipa nego float... Posto napon ce nekada biti mali 0.01, pa ce int da odseca vrednost iza zareza...
Pozdrav