Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PIC RB4:7 interapt i sleep mode

[es] :: Elektronika :: Mikrokontroleri :: PIC RB4:7 interapt i sleep mode

[ Pregleda: 3190 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gooxy
Metafizika

Član broj: 92105
Poruke: 40
*.vdial.verat.net.



Profil

icon PIC RB4:7 interapt i sleep mode15.02.2009. u 17:10 - pre 184 meseci
Da li je obavezno da ako radim sa prekidima i imam vezane tastere na pinovima B4:7 da mikrokontroler bude u slip modu? Ja sam uključio pul-ap otpornike, konfigurisao pinove da budu ulazni... ali nešto ne radi i ne pada mi na pamet šta može biti. Zna li neko neki link gde je rad sa ovim interaptima pojašnjen.
So much the better, we shall fight in the shade!
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
195.252.79.*



+11 Profil

icon Re: PIC RB4:7 interapt i sleep mode15.02.2009. u 17:22 - pre 184 meseci
koji je pic u pitanju?da li si globalno dozvolio interupte,i da li si dozvolio taj interupt(promena stanja na pinu)?
ako si vezao pullup otpornike,da li su tasteri vezani za gnd?
ne mora da bude u sleep modu da bi se desio ovaj interupt ako si sve dobro podesio
 
Odgovor na temu

Seme
Miroslav Bozic
Nis
Elektronski fakultet
Nis, Zajecar

Član broj: 43158
Poruke: 390
*.eunet.yu.

Sajt: www.ebuyelektronika.co.cc


+5 Profil

icon Re: PIC RB4:7 interapt i sleep mode16.02.2009. u 21:59 - pre 184 meseci
Jedan od nacina da se PIC probudi iz sleep moda jeste promenom stanja na pinovima RB4:7. Ukoliko ti sleep mod nije potreban ne moras da koristis prekid. Jednostavno mozes da tastere na tim pinovima obradjujes u main proceduri. Ipak moj ti je predlog da tastere koji su prikljuceni na ovim pinovima obradjujes u prekidnom podprogramu. Razlog za ovo je sto na taj nacin dobijas da se pritiskom na taster zaustavlja main program i vrsi obrada tastera koji je pritisnut, tj. program ne mora da ceka da se zavrsi neka velika petlja da bi obradio tastere, a takodje na ovaj nacin znatno smanjujes vreme izvrsavanja main procedure.
Da bi mogao da koristis interapt na ovim pinoima potrebno je da setujes gie i rbie bit intcon registra, nezavisno od pika koji imas(naravno pic mora da ima portb i mogucnost interapta na njegovim pinovima). Na taj nacin si dozvolio prekid. Takodje je potrebno da stanje na pinovima bude definisano, odnosno da postoje pull up otpornici. Pritiskom na neki od tastera stanje na odgovarajucem pinu se dovodi na logicku nulu (ukoliko su postavljeni pullup otpornici) i setuje se rbif fleg intcon registra, cime program ulazi u prekidni podprogram. U prekidnom podprogramu je potrebo da proveris na kom pinu je doslo do promene stanja i obradis dogadjaj. To je to ako imas jos problema javi se. Pozz
 
Odgovor na temu

gooxy
Metafizika

Član broj: 92105
Poruke: 40
*.vdial.verat.net.



Profil

icon Re: PIC RB4:7 interapt i sleep mode17.02.2009. u 13:27 - pre 184 meseci
Ovako, ja na RB pinovima imam povezane displeje a i tastere. Znaci, na linijama 4-7 imam neke segmente displeja a i 4 tastera. I nesto ne ide, a nisam siguran sta je u pitanju. Ja sam u jednom delu main programa postavio pinove 4-7 kao ulazne preko TRISB registra (PIC16F84A je u pitanju) postavio pull-up otpornike i dozvolio interapte i posle tih nekoliko naredbi opet postavio pinove kao izlazne da bi prikazao cifre na displejima i iskljucio pull-up otpornike. Odradio sam ja to bez prekida, ali ne mogu da shvatim sta je problem sa ovim prekidima, zasto nece. Voleo bih da znam. Negde sam procitao da, posto su to interapti on-change da se treba nesto pamte stare vrednosti pa nove... Ne razumem. Da li je to potrebno i ako kako
So much the better, we shall fight in the shade!
 
Odgovor na temu

Stojan Trifunovic

Član broj: 15156
Poruke: 366
*.rs
Via: [es] mailing liste



+8 Profil

icon Re: PIC RB4:7 interapt i sleep mode17.02.2009. u 15:55 - pre 184 meseci
> ja na RB pinovima imam povezane displeje a i tastere

U tom slucaju mnogo je bolje uopste ne koristiti interapt na pinovima RB4 do RB7. Imali biste samo probleme sa njima. Prakticnije je osvezavanje displeja i debouncing tastera realizovati unutar interapta izazvanim prekoracenjem tajmera.


> Znaci, na linijama 4-7 imam neke segmente displeja a i 4 tastera.

Pretpostavljam da se tasteri trebaju pritiskati i dok segmenti displeja svetle. Takodje pretpostavljam da ste povezali vise od jednog displeja. Ukoliko zelite precizniji odgovor, pomoglo bi nam da ovde postavite elektricnu semu.
Ovako mozemo samo nagadjati kako je sve to spojeno.
 
Odgovor na temu

gooxy
Metafizika

Član broj: 92105
Poruke: 40
*.dialup.neobee.net.



Profil

icon Re: PIC RB4:7 interapt i sleep mode17.02.2009. u 20:27 - pre 184 meseci
Dobro pretpostavljate. Sema je prosta, pocetnicka, 4 sedmosegmentna displeja povezana na pinovima RB1:7, 4 tastera na pinovima RB4:7, i 4 tranzistora na pinove RA0:3, koji kontrolisu rad displeja. I da, tasteri se pritiskaju i dok displeji svetle. Ja sam odradio to bez prekida i onda mi je palo na pamet da probam prekidima. I uopste mi nije jasno zasto nece?! Da li zato sto se pinovi cas ulazni, cas izlazni?! U medjuvremenu sam pronasao jos jedan savet da to ne radim interaptima, ali mi nije jasno sta je smetnja koriscenju interapta?
Hvala.
So much the better, we shall fight in the shade!
 
Odgovor na temu

Stojan Trifunovic

Član broj: 15156
Poruke: 366
*.rs
Via: [es] mailing liste



+8 Profil

icon Re: PIC RB4:7 interapt i sleep mode18.02.2009. u 06:58 - pre 184 meseci
Interapti na pinovima RB4 do RB7 jednostavno nisu prakticni za tastere. Mogu se primenjivati jedino gde nema varnicenja kontakata (lepo su Vam preporucili da nadjete pdf "A Guide to Debouncing" sa http://www.ganssle.com/ ), ili prilikom budjenja tasterima iz sleep moda, ali ne interaptima, vec obicnim nastavkom programa.

Ukratko, pinovi RB4 do RB7 ce reagovati na svaku promenu stanja. I sa +5V na 0, i sa 0 na +5V. Znaci, interapt ce se (u idealnom slucaju) izazvati i kada pritisnete, i kada otpustite prekidac. Dva puta umesto jednom.
Tasteri ipak nisu idealni, pa ce im se izmedju kontakata prilikom prebacivanja javiti par provodnih i neprovodnih stanja pre nego sto se napon na njima konacno smiri. Da bi se ovo neutralisalo koristi se hardverski ili softverski debouncing. To ce izazvati jos vise interapta. Bila je pre oko 2-3 meseca ovde jedna tema oko debouncinga, pa pretrazite ovaj podforum.
Ovi razlozi su sasvim dovoljni za izbegavanje tastera sa ovim interaptima, ali kod vase seme ima ih jos.

U trenutku dok se na displejima prikazuje slika, pinovi RB4 do RB7 su izlazni, pa se zato njihov interapt flag nece setovati, iako ocigledno na njemu ima promena stanja. Tako ovi interapti ne vrse nikakvu funkciju, i moguce je da u medjuvremenu (ukoliko se taster pritisne bas u toku osvezavanja displeja) propustite koji pritisak tastera.


Pretpostavljam da sema ide ovako: Pin (npr. RB7) pa otpornik (oko 220oma) pa LED iz segmenta ka masi ili ka naponu napajanja (zajednicka anoda ili katoda). Medjutim, i dalje je nejasno kako su povezani prekidaci.
Pretpostavljam da su prekidaci vezani ili direktno za pin pa na masu, ili direktno za spoj otpornika i LED, pa odatle na masu. Oba ova nacina su losa (a ima ih kod pocetnika), pa zato pitam.
U oba ova nacina povezivanja prekidaca struja ce umesto kroz LED moci "pobeci" kroz prekidace.

Njlaksi nacin za osvezavanje svih displeja i istovremeni test tastera je poolovanjem po tajmerskom interaptu na sledeci nacin:

1. Iskljuce se svi displeji (preko zajednicke elektrode), postavi se slika prvog displeja i samo on se ukljuci (preko RA0).

2. Iskljuce se svi displeji (preko zajednicke elektrode), postavi se slika drugog displeja i samo on se ukljuci (preko RA1).

3. Iskljuce se svi displeji, postavi se slika treceg i samo on se ukljuci (preko RA2).

4. Iskljuce se svi displeji, postavi se slika cetvrtog i samo on se ukljuci (preko RA3).

5. Iskljuce se svi displeji, pinovi na kojima su tasteri se konfigurisu kao ulazni i testiraju.

6. Nastavak od koraka 1.

Kako se ne bi primetilo treperenje displeja potrebno je displej osvezavati bar 30 puta u sekundi (30Hz). Znaci za 1 sekundu treba se javiti bar 5*300 interapta (zbog 5 ciklusa u interaptu). Moze svakako biti i vise, a konkretan broj zavisio bi od takta i preskalera.

Takodje je pozeljno u petom interaptu (onom u kojem se testiraju tasteri) realizovati debouncing.
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
93.86.200.*



+321 Profil

icon Re: PIC RB4:7 interapt i sleep mode18.02.2009. u 22:11 - pre 184 meseci
Gooxy, pre mesec dana sam postavio baš takav projekat na jedan moj sajt, imaš tamo sve što ti treba, od šeme do osnovnog programa pisanog u PBP-u; pogledaj, možda ti pomogne.
Link je http://sinel.freehostia.com/picpanel/index.html

Pozdrav.
Sinisha

P.S. Za one koji su možda nabasali na tu stranicu i skinuli fajlove da kažem da je u medjuvremenu došlo do malih izmena i da treba da skinu ponovo sve fajlove.

 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: PIC RB4:7 interapt i sleep mode

[ Pregleda: 3190 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.