www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Kaj sem spregledal?

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Sob Jan 24, 2004 7:45 pm    Naslov sporočila:  Kaj sem spregledal? Odgovori s citatom

Torej delam na enem projektu z mikrokontrolerjem 16F84A.
Zadeva bi bila lahko narejena tudi na kakšnem manjšem samo to še sledi. Very Happy

Rabim v bistvu samo tri vhode / izhode. Na enem PIC posluša če je neko stikalo vklopljeno ali izklopljeno (RA2). Drug pin je porabljen za merjenje "temperature" (RA3) z kondenzatorjem in NTC uporom, ne tretjem pa je priključena LED dioda (RA1), ki glede na temperaturo in stanje stikala prikazuje neko stanje.

Program je v bistvu časovnik, ki ledico prižge po nekem času, ko je stikalo že izklopljeno. Pod pogojem, da je temperatura dovolj nizka. Če je temperatura previsoka naj bi počakal, da je temperatura dovolj nizka in nato počakal še nek pred-definiran čas in nato nazaj prižgal LED-ico

Program je sicer brez include datoteke, ki pa dela brezhibno. PIC uspešno ugasne LED diodo ob vklopu stikala. Žal pa se ne zmeni za temperaturo. Ne glede na temperaturo samo odšteje nastavljeno minuto po izklopu stikala.

Število ciklov, ki jih PIC prešteje (Temp_OFF) sem dobil s pomočjo testne ploščice in modificiranim programom, ki ga je Silvo objavil na enem drugem forumu.

Kako se sploh lotiti debugiranja takšnega programa?? Embarassed



lucka.txt
 Opis:

Download
 Ime datoteke:  lucka.txt
 Velikost datoteke:  3.58 KB
 Downloadano:  16 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Jan 24, 2004 9:20 pm    Naslov sporočila:   Odgovori s citatom

Tako na hitro sem pogledal,
Tole mi ni jasno :
Koda:
#DEFINE    Zakasnitev_Time   .59904   ;* 1 minuta maximalno. (za zakasnitev za 5 minut rabiš 5x 1min)


8 bitna vrednost je desetiško lahko max 255 ? Kje imaš napisan tisti makro za zakasnitiev ? program sem "sledil do tja kjer se preverja vrednost, ki je v registru "rezultat" če je le ta enaka ali večja od "temp_OFF" ostane v zanki sicer "nagazi" tisto proceduro z zakasnitvijo ...tukaj ne vem kaj se dogaja. Question Če program deluje pravilno lahko preveriš tako, da tisto vrednost ki naj bi bila izmerjena napišeš "ročno" .

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Sob Jan 24, 2004 10:24 pm    Naslov sporočila:   Odgovori s citatom

Ja makro, ki ga kličem razbije vrednost na 2 bajta in šteje (High /low).
Tako da tista številka dovolj točno zakasnitev 1 minute (59.904s)

Glede procedure:
Vrednost ki sem jo določil V Temp_off naj bi bilo število ciklov, ki jih naredi PIC med polnjenjem kondenzatorja.

Ideja je ta, da bi PIC preverjal, če je vrednost, ki jo je v zanki izmeril večja od vrednosti Temp_off, kar bi pomenilo, da je temperatura dovolj nizka za nadaljevanje programa pri proceduri zakasnitve.

Zato najprej preverjam bit C status registra, ki kaže če je rezultat razlike med izmerjeno vrednostjo in Temp_off >= 0. Če je C=1 bi pomenilo, da je razlika 0 ali pozitivna, kar pomeni, da je temperatura dovolj nizka.
Ker meje lahko malo nihajo sem nato testiral še bit Z, ki bi moral biti v primeru pozitivne razlike 0.

Glede debugiranja:
Ja valjda zakaj se nisem tega spomnil? Embarassed
Vržem ven proceduro za merjenje napetosti in Rezultat spemenljivki dodam vrednost večjo od Temp_off pa program nikoli nebi smel prižgati ledice.

Hvala za odgovor!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group