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 

TIMER

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
dgregor
Član
Član



Pridružen-a: Čet 06 Jan 2005 13:55
Prispevkov: 32
Aktiv.: 0.14
Kraj: Celje

PrispevekObjavljeno: Tor Jan 18, 2005 10:31 am    Naslov sporočila:  TIMER Odgovori s citatom

Pozdravljeni!

Začetnika v programiranju s PIC zanima kakšne so praktične rešitve zakasnitev, ki trajajo nekaj ur? Dejansko bi potreboval impulz vsakih nekaj ur?
Program bi napisal v assemblerju!

Lep pozdrav in hvala za odgovore!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



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

PrispevekObjavljeno: Tor Jan 18, 2005 11:04 am    Naslov sporočila:   Odgovori s citatom

Citiram:
Dejansko bi potreboval impulz vsakih nekaj ur?


Tole ne predstavlja kakega posebnega problema. V koliko želiš točen čas uporabiš recimo TMR0 prekinitev. Če bi recimo uporabil oscilator 4Mh bi vzel preddelilnik za TMR0 1/16 ter naredil korekcijo samega TMR0 tako, da se bi prekinitev izvajala vsake 4ms. Štel bi prekinitve. Ko jih bo 250 je potekla 1s. Šteješ sekunde ... ko jih je 60 je 1minuta ko je 60minut je 1h itd... Seveda bi v primeru uprabe TMR0 prekinitve lahko procesor delal še kaj drugega.

_________________
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: Tor Jan 18, 2005 6:14 pm    Naslov sporočila:   Odgovori s citatom

Lahko pa narediš tudi števec z kurjenjem procesorskih ciklov. Takrat procesor ne dela nič drugega kot šteje cikle. Silvotova rešitev univerzalno gledano verjetno boljša, vendar tudi ta v določenih primerih popolnoma zadošča.
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: Tor Jan 18, 2005 9:06 pm    Naslov sporočila:   Odgovori s citatom

Seveda, kot pravi Highlag lahko "zankaš" program dokler ne poteče željen čas. A ta varinata ima več slabih kot dobrih lastnosti. Kot prvo je tukaj težje izračunat točen čas. Če boš "vmes" želel še kaj delat boš moral ta čas ukalkulirat v čas pavze sicer bo čas začel zahajat. Elegantnejša rešitev je uporaba kakega že vgrajenega časovnika nap. TMR0.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.10
Kraj: Celje

PrispevekObjavljeno: Pon Jan 31, 2005 6:49 pm    Naslov sporočila:   Odgovori s citatom

Zdravo!

Mene pa zanima,kako bi najenostavnejše naredil 1s dolgo pavzo v zbirniku.
Kaj je pravzaprav boljše,narediti pavzo npr. z nekimi ukazi ki porabljajo čas,ali
z uporabo Timerja.Timerja še žal ne znam uporabljati,vendar bi bil zelo vesel če bi mi kdo razložil kako narediti 1s dolgo pavzo na oba načina.

Hvala za odgovor!
Nazaj na vrh
Skrit 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: Pon Jan 31, 2005 7:32 pm    Naslov sporočila:   Odgovori s citatom

Prilagam "mojo" rutino za zakasnitev.
Priloženemu programčku boš moral dodati še kakšen ukaz, da bo delela kaj koristnega.

Pa še to 1s zakasnitve je 1s samo pri 4MHz procesorju! Če je procesor hitrejši bo sekunda krajša.



zakasnitev_1s.txt
 Opis:
Zakasnitev 1s

Download
 Ime datoteke:  zakasnitev_1s.txt
 Velikost datoteke:  2.15 KB
 Downloadano:  45 krat

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 -> Osnove programiranja PIC-a v Assembler-ju Č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: 491 dni


Powered by phpBB © 2001, 2005 phpBB Group