[ dejanmaksimovic1976 @ 08.06.2009. 07:58 ] @
Interesuje me da li je moguce da PIC radi dve operacije nezavisno jedna od druge.
Naime, ako napisem neki program u MicroCode studiju i treba da se odvija odvojeno tj. nezavisno jedan od drugog kako bih to mogao napraviti. Treba mi kao da imam dva programa u jednom.

Na ovako nesto sam mislio.
Da li ovako moze?
treba mi da prikazuje brojeve necekajuci tu 1 sekundu koliko traje brojanje na pinu senzor.


brojenje:
count senzor,1000,broj1
BROJ=BROJ1*60
brojac1=broj dig 3
brojac2=broj dig 2
brojac3=broj dig 1
brojac4=broj dig 0
gosub blinkanje

BLINKANJE:
FOR I=1 TO 50
portb=bROJAC1
high portb.4
pause 100
low portb.4
pause 100
portb=bROJAC2
high portb.5
pause 100
low portb.5
pause 100
portb=bROJAC3
high portb.6
pause 100
low portb.6
pause 100
portb=bROJAC4
high portb.7
pause 100
low portb.7
pause 100
NEXT I
return

end
[ _str_ @ 08.06.2009. 13:27 ] @
Ne znam kako stoji situacija kod PIC-a ali bi trebalo da moze neki od brojaca da se podesi da radi kao tajmer od nekih npr. 100mS a da moze generisati interrupt. Ako to moze onda merenje vremena i on/off nekog izlaza prepustis njemu a glavni program u tvom primeru ostaje prazan, tj. moze da radi nesto drugo, (nop, nop, nop, ... :))
U programiranju kontrolera nema gluplje komande od "pause", sto veca to gluplja...
[ rsinisa @ 08.06.2009. 23:21 ] @
Ne, PIC ne može da radi 2 operacije nezavisno, ali može da radi čas jednu čas drugu, ili da radi samo jednu, a da ga interapt prekine i da predje da radi drugu operaciju, tj. deo programa.
Komanda COUNT iz PBP-a radi tako što radi samo to dok ne istekne zadato vreme pa prema tome ne može da radi ništa drugo. E sad, ti možeš da iskoristiš interapt, ali sve je to zamršenije nego što izgleda na prvi pogled.
Iz programa bi se reklo da hoćeš da napraviš merač broja obrtaja sa LED displejem u multiplexu (MPX), ali to se ne radi tako kako si ti zamislio, a pogotovo ne blinkanje. Mislim da je MPX ovde opisan više puta pa pokušaj da nadješ, ako ne uspeš objasniću ti ja.
Čak i kad napraviš MPX kako treba opet ćeš imati problema koje nije lako rešiti. Zato ti predlažem da uzmeš inteligentni LCD displej čime si sebi, kao početniku, neverovatno olakšao posao. Ako si i dalje za varijantu sa LED, pokušaću da ti objasnim neke varijante, ali bilo bi dobro da postaviš shemu, nešto mi ne štimuje tu, kao da PORTB koristiš i za segmente i za zajedničke izvode displeja. Ili sam nešto pogrešio.

Pozdrav.
Sinisha
[ rsinisa @ 08.06.2009. 23:36 ] @
Sad sam pogledao malo po forumu, video jednu tvoju stariju poruku i shvatio da koristiš 4 komada 7447. I dalje predlažem LCD, ali verujem da hoćeš ipak da uradiš sa LED.

Pozdrav.
Sinisha
[ dejanmaksimovic1976 @ 09.06.2009. 05:49 ] @
Evo i scheme. Najverovatnije cu da uzmem LCD ali videcu ili cu da ubacim jedan AD converter.
[ rsinisa @ 09.06.2009. 08:07 ] @
Važi, kad odlučiš kako ćeš javi se ako zatreba pomoć.

Pozdrav.
Sinisha
[ dejanmaksimovic1976 @ 09.06.2009. 11:42 ] @
Skockao sam ga sa LCD-om. Jedini problem je sto sam to hteo da stavim drugaru u traktor pa ne znam da li je to pametno.
[ rsinisa @ 09.06.2009. 13:28 ] @
Ne bih znao, nisam još stavljao LCD u tako stresnu okolinu. Ja sam nedavno baš završio program za obrtomer na bazi mog PIC-panela i mogu da ti kažem da sam imao nekih poteškoća jer se displej osvežava u MPX-u, a zbog ograničenja u samoj shemi nisam mogao da uradim ono što bih tebi preporučio, a to je da upotrebiš TMR0 kao brojač dovodeći mu impulse preko RA4, a za MPX upotrebiš TMR1. E sad, taj način ima jednu manu koja i nije verovatno nešto mnogo bitna, a to je da ti je rezolucija 60 o/min. Ja sam upotrebio princip merenja trajanja impulsa tako da mi je rezolucija 1 o/min otprilike do 2400 o/min, a na maximumu je 16 o/min.

Pozdrav.
Sinisha


P.S. Naravno, ovaj predlog važi ako odlučiš da radiš sa LED displejima.

[Ovu poruku je menjao rsinisa dana 09.06.2009. u 14:59 GMT+1]
[ dejanmaksimovic1976 @ 10.06.2009. 08:17 ] @
Evo nasao sam nesto na netu i trebalo bi da radi probao sam u proteusu.
[ rsinisa @ 10.06.2009. 18:54 ] @
Veoma zanimljiv, kratak i efikasan program. Odlično rešenje za rezoluciju od 100 o/min. Da, radi, probao sam i ja bez ulaznog dela, impulse sam doveo direktno na RB7. Nego, da li tebi radi taj displej koji si odabrao? Jer za multiplex je bolje uzeti displej već predvidjen za MPX, a pošto nema sa 3 cifre uzmeš sa 4 (7SEG-MPX4-CA) i jednu ostaviš nepovezanu.

Pozdrav.
Sinisha
[ dejanmaksimovic1976 @ 11.06.2009. 05:42 ] @
Klasican lcd mi radi. Dalje nisam experimentisao ali cu cim nesto uradim da napravim i verxiju sa 7-seg displejom.