skraceni kurs ucenja picbasica

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

Moderators: pedja089, stojke369, [eDo], trax

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

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

sitnica... :wink:
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by sasa45 »

Da da pedja opet ja :(

nece moj eeprom pa nece....

na pocetku programa imam ovaj deo koda

Code: Select all

glup:
   pause 50
read 1,pauzaa.highbyte[1]
pause 50
read 2,pauzaa.lowbyte[1]
pause 50
read 3,pauzaa.highbyte[2]
pause 50
read 4,pauzaa.lowbyte[2]
pause 50
read 5,pauzaa.highbyte[3]
pause 50
read 6,pauzaa.lowbyte[3]
pause 50
read 7,cikl.highbyte[1]
pause 50
read 8,cikl.lowbyte[1]
pause 50
read 9,cikl.highbyte[2]
pause 50
read 10,cikl.lowbyte[2]
pause 50
read 11,cikl.highbyte[3]
pause 50
read 12,cikl.lowbyte[3]
pause 50
znam da moze i sa for petljom ali poludeo sam pa sam ispisao ovako

onda imam deo koda u kojem vrsim podesavanja ovih promenljivih i deo koda koji radi u zavisnosti od ovih promenljivi....i na kraju kad zavrsim sa podesavanjima kliknem taster i ulecem u ovaj kod

Code: Select all

pause 50
write 1,pauzaa.highbyte[1]
pause 50
write 2,pauzaa.lowbyte[1]
pause 50
write 3,pauzaa.highbyte[2]
pause 50
write 4,pauzaa.lowbyte[2]
pause 50
write 5,pauzaa.highbyte[3]
pause 50
write 6,pauzaa.lowbyte[3]
pause 50
write 7,cikl.highbyte[1]
pause 50
write 8,cikl.lowbyte[1]
pause 50
write 9,cikl.highbyte[2]
pause 50
write 10,cikl.lowbyte[2]
pause 50
write 11,cikl.highbyte[3]
pause 50
write 12,cikl.lowbyte[3]
pause 50

ajde ok je prvi put nisu brojevi koji mi trebaju...ali onda ih ja podesim i onda ih ovaj zadnji deo koda ubaci to u eeprom ali nevalja...ugasim cip i upalim ga ponovo a promenljive mi nisu te koje su bile kad sam ih podesio....

pomagaj ne znam gde gresim...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

ajde uzmi i2c i resi stvar. ja sam imao problem kod tog eeprom, pomeri sve za jednu lokaciju, preskoci upis i tako te budalastine...
od tada radim samo sa i2c i nemam nikakvih problema...
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by sasa45 »

evo za sada sam resio problem i ovako...ne treba mi sacuvati mnogo podataka niti ce se ti podaci mnogo menjati....

posto radim sa nizovima i sa word promenljivima...i tu mnogo brlja tj ja ne znam da ga koristim...

razlozio sam ga ja na dve promenljive byte i tako pohranio u eeprom i za sada mi izgleda ok...

nemoj da se smejes ali evo formule kako sam to odradio

word sam razlozio na dva byte ovako

Code: Select all

p1a=pauzaa[1]/254
p1b=pauzaa[1]-p1a*254
i potom u eeprom ucitao p1a i p1b

a zatim iz eeproma ucitam p1a i p1b i spojim ih u word ovako

Code: Select all

pauzaa[1]=p1a*254+p1b
i za sada nemam primedbe radi kako treba...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

to je ok. to isto dobijes sa highbyte i lowbite. ti sad racunas vrednost, umesto jednostavno da je procitas iz memorije.
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by sasa45 »

sta mogu kad tako jednostavno nece pa moram ovako komplikovano...ocigledno negde gresim i verovatno treba jos nesto odraditi ali sta mogu kad ne znam....a kad mi se malo rascisti guzva sa polom onda cu uzeti pa nauciti i preci na koriscenje i2c...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

ja stvarno ne znam sto tajeeprom na picu nece uvek da radi kako treba.... tako da sad kad mi treba bilo kakva memorija ni ne razmisljam.uvek ubacujem i2c. imas ih raznih kapaciteta. od stotinak bajtova pa navise...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

evo kod ovog tajmera

Code: Select all

trisb=0
trisa=%00011101
portb=0
S VAR WORD
SZ var word
Br0 var byte
Br1 var byte
Br2 var byte
t var byte
C var bit
symbol Rele = porta.1    
symbol Pr = porta.4 
symbol Start= porta.3
symbol Sttop= porta.2        
rele=0
read 0,sz.highbyte
read 1,sz.lowbyte
if sz>999 or sz=0 then sz=220
c=0
Pocetak:
if pr=1 then
 if start=0 then c=1
 if sttop=0 then c=0
 if S>0 and c=1 then 
  rele = 1
 endif
 if S=0 or c=0 then
  rele =0
  c=0
  s=sz
 endif 
  if c=1 then 
    S=S-1
    goto disp
  endif 
  goto disp1
'<<PR=0>>---postavljkanje vrednosti--------------------------------------------------------------- 
else
    rele=0
    'smanjivanje 
    if sttop=0 AND S>1 then     
    S=S-1
    goto Disp1
    endif
    'povecavanje
  if start=0 and S <999 then     
    S=S+1
    goto Disp1
  ENDIF
sz=s
goto disp1
endif
Disp:  'prikazivanje merene vrednosti i traje 1S
 br2=S DIG 2
 br1=S dig 1
 br0=S dig 0
    for t=0 to 99
        portb= br2+ 32
        pause 3
        portb= br1+64
        pause 4
        portb= br0+ 128 
        pause 3 
    next t
goto pocetak

Disp1: 'prikazivanje iz i traje 100mS
 
 br2=S DIG 2
 br1=S dig 1
 br0=S dig 0
    for t=0 to 10   
        portb= br2+ 32 
        pause 3
        portb= br1+64
        pause 4
        portb= br0+ 128
        pause 3 
    next t
goto pocetak
end
User avatar
WhiteHead
Pravi forumaš
Pravi forumaš
Posts: 1627
Joined: 28-06-2007, 18:36
Location: 75,35k; B&H

Re: skraceni kurs ucenja picbasica

Post by WhiteHead »

E svaka cast, ovo ce dobro doci za prosirenje znanja a i za laksu konstrukciju PCB-a radi mogucnosti izbora pinova na PIC-u (izuzev potb.0 do portb.3)
Hvala
Ako kaniš pobijediti, ne smiješ izgubiti
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

mogu se prebaciti na a0-a3, a i na b3-b7 uz malo igranja...
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by DaTi »

pedja089 wrote:nije 32, nego se deli sa 1024, jer je konverzija 12to bitna.
i promenljiva u kojoj se smesta rezultrtat mora biti word, ona gornja 4 bita su uvek nule.
evo jedan primer ad konverazije

Code: Select all

 ADCIN 2, AD_Rez   	' Izvrsi konverziju na RA2 i 10 bita rezultata smesti u AD_Rez.
	    Lcdout $fe, $C0	    ' Podesi kursor na pocetak drugog reda
        Dummy = AD_Rez * 5 * 100
        Napon = Div32 1024 'primer 32bitnog deljenja, deli promenljivu Dummy sa brojem iza Div32
        Lcdout $fe, $C0	    ' Podesi kursor na pocetak drugog reda
  	    Lcdout "   Napon:", DEC Napon DIG 2,".", DEC2 Napon, "V" ' Ispisi vrednost na displeju                                       ' rezultat AD konverzije  
  	    Pause 10000		    ' Pauza 10 sec
     
to je samo isecak iz koda...
dali neko ima neki primer za pic18f4550 sa koliko trebam da delim ? pošto 18f4550 ima 10 bitni a/d konverter :?:
EDIT: Možda i grešim, možda valja kod...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

uh kako niko nije primetio koju sam glupost napisao...
ono gore je za 10bitni ad konverter. jer je 2^10 =1024...
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by DaTi »

:oops: sad sam tek skontao...sramota me je :roll:
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by sasa45 »

pedjaaaaaaaa sta ovaj MicroCode Studio oce da mi kaze sa ovom porukom....

Code: Select all

Warn MASINA~1.asm 779:[102] code crosses boundary @ 800h
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

nemam pojma, prvi put vidim...
daj posalji mi kod na pm da vidim u cemu je problem...
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by sasa45 »

kod je malo duzi sad vec ima oko 400 linija pa ne znam koliko ces se snaci u njemu...a i nije neki problem on to upozorenje ispise ali meni cip radi ok tj program u njumu...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

moguce da je do verzije mcs-a, ali ocigledno verzija kompajlera je ok cim ga iskompajlira...
ako hoces posalji samo da vidim zeza li kod mene...
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by sasa45 »

piiii hteo sam program prebaciti iz pic16f877 u pic 16f84

buni mi se nesto kao adress limit of 3ffh

koliko sam ja ukapirao presao sam mu memoriju od 1k (3ff)

koliko jedna komanda trosi memorije u cipu...primer koliko jedna if petlja zauzima prostora u cipu...interesuje me da znam otprilike da procenim koliki programi mogu da stanu u 16f84
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

to zavisi od 100 faktora, to se moze na asemblerskom nivou pricati koliko trosi memorije jedna komanda. ovde nema ptravila...
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

Re: skraceni kurs ucenja picbasica

Post by sasa45 »

evo mene ponovo u tvojoj temi :)



tj gledao sam komandu count ona broji inpulse u odredjenom vremenskom perjodu,da bi merac brzo reagovao smanjujem vreme merenja i onda mi ostane neprecizno merenje...velika je razlika izmedju 1 i dva takta u datom perjodu...a i cip mi je "zauzet" dok ceka da prodje vreme...
pa sam odlucio da mi je preciznije meriti vreme jednog takta...
dosao sam do komande PULSIN..
ali imam problem kako da merim vreme inpulsima a da ja mogu da koristim cip za neke provere dok ne naidje sledeci inpuls...
pa sam mislio da ocitavam vrednost tmr0 ili tmr1 na pocetnom taktu i onda da pustim cip da proveri sta ima i da se pre kraja signala vrati i ceka kraj inpulsa i da zabelezi vrednost tmr0 ili tmr1(zavisi kojeg koristim) i onda razlikom tajmera mogu dobiti koliko je vreme trajao inpuls...interesuje me kako da ocitam na kojem je broju tmr0...

a mozda i ne moram da komplikujem,ocitam jedan inpuls sa PULSIN onda propustim merenje jednog inpulsa,za to vreme izvrsim provere i ocitavanja i onda citam sledeci inpls...tako da imam ocitavanja svakog drugog inpulsa...

ali me interesuje i kako da ocitam tmr0...
Post Reply