TIMER pic16f84
Moderators: pedja089, stojke369, [eDo], trax
Re: TIMER pic16f84
Ma nema na cemu.
-
- Pocetnik na forumu
- Posts: 47
- Joined: 04-08-2009, 10:30
Re: TIMER pic16f84
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
; 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
Re: TIMER pic16f84
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.
Otkud sad asembler, mislio sam da si krenuo sa pbp.
A sve sto ti treba o brojacima intreraptima imas u datasheetu.
-
- Pocetnik na forumu
- Posts: 47
- Joined: 04-08-2009, 10:30
Re: TIMER pic16f84
nasao sam neko prevedeno upustvo o pic16f84 i tu se koriste asembler komane pa me je to malo zainteresovalo da naucim
Re: TIMER pic16f84
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.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
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
-
- Pocetnik na forumu
- Posts: 47
- Joined: 04-08-2009, 10:30
Re: TIMER pic16f84
hvala TRAX sad mi je jasno