TIMER pic16f84

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: TIMER pic16f84

Post by pedja089 »

Ma nema na cemu.
momcilof117
Pocetnik na forumu
Pocetnik na forumu
Posts: 47
Joined: 04-08-2009, 10:30

Re: TIMER pic16f84

Post by momcilof117 »

ISR bcf INTCON, GIE ; onemoguci sve interupte za sad
; sacuvaj registre
movwf temp_w ;
movfw STATUS ;
movwf temp_status ;

Pedja posto malo analiziram ovaj traxov kod mozes li mi malo pojasniti ovo cuvanje registara, jer kad sam ucio ove komande naisao sam na komandu movwf ali nisam naisao na komandu movfw
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: TIMER pic16f84

Post by pedja089 »

Ne znam ni ja za to, ali verovatno bajt u w registar.
Otkud sad asembler, mislio sam da si krenuo sa pbp.
A sve sto ti treba o brojacima intreraptima imas u datasheetu.
momcilof117
Pocetnik na forumu
Pocetnik na forumu
Posts: 47
Joined: 04-08-2009, 10:30

Re: TIMER pic16f84

Post by momcilof117 »

nasao sam neko prevedeno upustvo o pic16f84 i tu se koriste asembler komane pa me je to malo zainteresovalo da naucim
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Re: TIMER pic16f84

Post by trax »

momcilof117 wrote:ISR bcf INTCON, GIE ; onemoguci sve interupte za sad
; sacuvaj registre
movwf temp_w ;
movfw STATUS ;
movwf temp_status ;
Pedja posto malo analiziram ovaj traxov kod mozes li mi malo pojasniti ovo cuvanje registara, jer kad sam ucio ove komande naisao sam na komandu movwf ali nisam naisao na komandu movfw
Ovaj gore kod je kod od interrupt rutine. Kada PIC skoci na ovu rutinu on skace sa nama nepoznate lokacije odnosno dijela programa. U tom nekom nepoznatom dijelu programa on obavlja nesto i radi sa STATUS i W registrima. Kada nasa interrupt rutina stupi na djelo, ona ce da koristi ta ista dva registra u svoje svrhe sto znaci da ce im mijenjati vrijednosti. Kada se interrupt rutina zavrsi, PIC skace nazad u dio programa prije nego sto se desio prekid (interrupt) i nastavlja sa radom. Zato mi moramo u interrupt rutini da sacuvamo ova dva registra i na kraju interrupt rutine da ih vratimo na vrijednost u kojim su bili da bi program mogao normalno da nastavi.

temp_w i temp_status su dvije varijable, dva bajta u RAM memoriji koje sam deklarisao za cuvanje tih W i STATUS registara.

W je radni registar u PIC-u, i sva prebacivanja i kopiranja bajtova idu preko njega!
Komanda movFW fajl prebacuje vrijednost registra fajl u radni W registar.
Komanda movWF fajl prebacuje vrijednost iz radnog W registra u registar fajl.

Jos nesto, komandu movFW fajl nisi ni mogao naci u dokumentaciji jer ona u sustini ne postoji. To je makro (zamjena, alias) za komandu: movF fajl, 0 gdje ova nula na kraju govori da li da se taj registar fajl prekopira u W (0) ili u taj isti registar fajl (1). Prebacivanje njega u samog njega ce izazvati podesavanje nekih bitova u STATUS registru (Z-bit-a samo). Alias za prebacivanje njega u samog sebe je tstf, pa ako napises tstf fajl to obicno znaci da zelis da provjeris da li je njegova vrijednost jednaka nuli.

Asembler je stroj :D
momcilof117
Pocetnik na forumu
Pocetnik na forumu
Posts: 47
Joined: 04-08-2009, 10:30

Re: TIMER pic16f84

Post by momcilof117 »

hvala TRAX sad mi je jasno
Post Reply