 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
bohinc Član

Pridružen-a: Ned 06 Nov 2005 13:27 Prispevkov: 10 Aktiv.: 0.04
|
Objavljeno: Tor Mar 06, 2007 7:46 pm Naslov sporočila: Multiplex 7led |
|
|
Pozdravljeni pic maharji ker sem se odločil, da se malo poigram s pici se mi pri prikazovalniku 7led vse ustavi iz Knjige Programirajmo Pic mikrokontrolerji poskušam razširiti na 4 7Led zaslone. Ustavi pa se mi že pri tretjem zaslonu ki ga hočem usposobiti, da mi šteje stotice. Zaslon mi že aktivira ampak je problem, da mi šteje zaporedno z deseticami. Ker mi ni čist jasno kako stvar deluje, bi vas zelo lepo prosil za malo boljšo razlago in pa kakšn primerček ne bi škodil kako razširiti števec na več zaslonov.
Prilagam moje neuspešno delo v prilogi.
Vnaprej vam hvala za odgovore
Aja pa še nekej me zanima, ali je mogoče iz prekinitve, ko nam timer teče s pritiskom katerekoli tipke npr. na pinih RA izhod v glavni program pa da se ohrani vrednost števca, ki se je izvajal v prekinitvi?
Uporabljam pa Pic16f84a[/code] |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Mar 06, 2007 8:03 pm Naslov sporočila: |
|
|
Na forumu je ogromno napisanega na to temo. Uporabi iskanje. Preberi sporočila "PIC kako začeti" V njem boš našel razne moje primere za učenje.
Drugi del je vprašanja je napisan zmedeno, tako da na njega ni možno odgovoriti.
Ob prekinitvi (katerikoli) programski števec skoči na lokacijo 0x04. Od tam običajno "skačemo" na neko rutino, ki naj se izvede ob željeni prekinitvi. Ko PC naleti na instrukcijo "retfie" se iz sklada vrne prejšni PC - program se nadaljuje od tam kjer je bil prekinjen. Pri celi zadevi je nujno, da se na začetku prekinitvene rutine shrane "W" ter "STATUS register" v neka začasna registra, ki sta dosopna v vseh bankah. V teh registrih ohranimo vrednosti obeh omenjenih registrov ter jih po končani prekinitveni rutini vrnemo nazaj. _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
bostjang Član

Pridružen-a: Tor 03 Jan 2006 15:29 Prispevkov: 3466 Aktiv.: 14.64 Kraj: Postojna
|
Objavljeno: Sre Mar 07, 2007 11:16 am Naslov sporočila: |
|
|
Mogoče sem prav razumel drugo vprašanje; V prekinitvi želiš prenesti stanje timerja v glavni program.
To lahko storiš tako, da timer prekopiraš v neko spremenljivko. V dodatni spremenljivki pa postaviš bit (zastavico), ki pove, da se je prekinitev izvedla.
V glavnemu programu potem preverjaš zastavico in ko je postavljena, upoštevaš vrednost prve spremenljivke. Seveda moraš zastavico potem zbrisati, da je zadeva pripravljena na naslednjo prekinitev. |
|
Nazaj na vrh |
|
 |
|
|
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
|