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: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

sad pokusavam naci primer za koriscenje tmr0 i ne mogu ga naci.
ono sto meni pada na pamet je da napravis neku for petlju, sa ispitivanjem svega sto treba, mozda odredjenim pauzama. tako da dobijes sve ukupno vreme petlje da bude jednako vremenu u kojem zelis da brojis impulse. a impulse da hvatas sa interup-om, ali nazalost ne mogu naci ni taj primer, sve sam pozaboravljao gde mi je sta...
ako uspem naci okacicu ovde
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

iskopah sve u kompletu

Code: Select all

' Program demonstrira upotrebu TMR0 brojaca
' Stanje led diode na RB.0 pinu menja se svakih 10 sekundi

    mS  Var Word     'Promenljiva za milisekunde
    Sek Var Word     'Promenljiva za sekunde
    	
    Symbol Led = PORTB.0 'Led dioda na RB0
    TRISB = 0            'PORTB je izlazni 

Inicijalizacija:
	
	INTCON.5 = 0	   	 'Onemoguci TMR0 prekide
	
	mS = 0		  		 'Brise promenljive za vreme
	Sek = 0		  		 '

	OPTION_REG.0 = 0   	 '010 preskaler postavi u odnos	1:8
	OPTION_REG.1 = 1   		
	OPTION_REG.2 = 0			
	OPTION_REG.3 = 0			

	OPTION_REG.5 = 0	 'Izaberi Interni takt
	OPTION_REG.7 = 1		

	TMR0 = 6	   		'Postavi vrednost TMR0 
	
	INTCON.5 = 1		'Omoguci TMR0 prekide
	INTCON.7 = 1		'Omoguci sve prekide

    ON INTERRUPT goto Int_Sub

Pocetak:

	Repeat 				 'Ciklus

	Until Sek = 9		 'Sacekaj  do 10 sekundi

  	Toggle Led
  	
  	TMR0 = 6
	Sek = 0	   	 	 	'Ponisti promenljivu Sek
	
	Goto Pocetak
 	
'------Podprogram obrade prekida-----------------------
       Disable
Int_Sub:

    INTCON.7 = 0
    
	If INTCON.2 and INTCON.5 Then
	   INTCON.2 = 0
	  	  mS = mS + 2
		  If mS >= 1000 Then 
		  	 mS = mS - 1000
			 Sek = Sek + 1
		  EndIf
	EndIf
     
    INTCON.7 = 1  'Omoguci prekide
    INTCON.5 = 1  'Omoguci prekide

     
    Resume        'Vrati se iz rutine prekida
    End
	
		
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 posto znas da ja ne volim da kopiram tudje nego samo da ucim od drugih...
Evo ako sam dobro ukapirao mogao bi ovako da odradim...
porta.0 mi je taster i sa ovim kodom bi merio vreme koliko je porta.0 bio na log1

Code: Select all

pocetak:

 if porta.0=1 then 
  if ha=0 then
    TMR0 =1
    ha=1
  endif
  endif
  
  if porta.0=0 then
   if ha=1 then
    vreme=tmr0
    ha=0
      lcdout $FE, 1
      lcdout $FE,$c0,dec vreme
   endif
  endif

goto pocetak
promenljiva ha je stavljena da bi ogradio da se u ocitavanje tastera ulazi samo jednom

i sta ti mislis da li bi u promenljivoj vreme sacuvao tacno vreme koliko je bio taster na log1
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

ne znam nesto mi nije bas jasano sta pokusavas napraviti. najbolje uzmi to i probaj i istestiraj...
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 »

hocu da izmerim koliko mi je proslo vremena izmedju dva signala...
ja cu to primenjivati na mnogim mojim testovima i ispitivanjima koje vrsim ali da bude jasnije treba mi nesto nalik obrtomru... i to je moguce odraditi na dva nacina brojati koliko je inpulsa bilo za odredjeni vremenski perjod ali mi to deluje kao neprecizno a druga mogucnost je da izmerim trajanje jednog ciklusa...da li sad razumes sta mi treba...sta ti predlazes kako to da odradim...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

ok. onda nije ti bas pametno meriti kolika je pauza izmedju impulsa, jer ako se promeni duzina impulsa eto pogresne informacije.
pokusaj sledece

detektuj rastucu ili opadajucu ivicu signala
postavi tmr0 na nulu
cekaj sledecu rastucu ivicu
kad je docekas iscitaj tmr0
e sad ne znam koliki su ti ti impulsi pa ti je ovo mozda brzo
ako jeste onda tetektuj rastucu ivicu
napravi for petlju
u petljinapravi da ti iskoci iz nje kada detektujes sledecu rastucu ivicu, i kada ocitas i imaces informaciju o vremenu izmedju 2 impulsa
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 »

a da u pravu si u zavisnosti koliko mi se masina brzo vrti toliko ce mi se produzavati i vreme na drugom stanju...

dali si koristio komandu PULSIN po meni je to bas glupa komanda...ili je ja bas nisam dobro ukapirao...

ok sad cu da vidim kako da iskombinujem a da odradim da citam na istu ivicu...

hvalaaa
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 nije bilo tesko...

Code: Select all

pocetak:

 if porta.0=1 then 
  if ha=0 then
    TMR0 =0
    ha=1
  endif
  endif
  
  if porta.0=0 then
   if ha=1 then
    ha=2
   endif
  endif
  
  if porta.0=1 then
  if ha=2 then
  vreme=tmr0
  ha=0
  lcdout $FE, 1
lcdout $FE,2,dec vreme
  endif
  endif

goto pocetak
da li je sad ok?
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

trebalo bi, ali to je sad ovako malo nezgodno.
pulsin jesam koristio i ok je. sa if sam cekao odredjenu ivicu signala i onda pustio pulsein da izmeri i to je to...
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 »

e a da li znas sa pulsin a da broji do 16bita
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

moze. to sam negde procitao.
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 »

ajde mozda ti ovo pomogne posto sam ja procitao ali ne razumem...
U slucaju kada se koristi 16bitna promenljiva,samo LSB bajt imace vrednost
sta je LSB bajt?
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

last significante bit/byte
tj nizi bajt iz word
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 »

jedno pitanje kojom komandom da odvojim polu bajt

sa lowbyte i hightbyte radim kada koristim word, a sa cime da odvojim ako koristim byte znaci prva 4 bita da smestim u jednu a druga 4 bita u drugu promenljivu
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

nije lose pitanje.
moze na gomilu nacina.
imas komandu koja vraca odredjeni bit iz bajta, ne znam je napamet...
a mozes i sa siftovanjem.
znaci pomeris tako da ti ispadnu gornja tj donja 4 bita, i u tim promenljivima imaces samo po 4 bita...
User avatar
***$*K*#*R*P*!*#*N***
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 240
Joined: 12-11-2006, 18:30
Location: Beograd
Contact:

Re: skraceni kurs ucenja picbasica

Post by ***$*K*#*R*P*!*#*N*** »

jel mogu programi da se pisu u javi??
http://belgradenight.info" onclick="window.open(this.href);return false;
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

ne razumem pitanje...kakve veze ima java sa picbasicom?
User avatar
***$*K*#*R*P*!*#*N***
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 240
Joined: 12-11-2006, 18:30
Location: Beograd
Contact:

Re: skraceni kurs ucenja picbasica

Post by ***$*K*#*R*P*!*#*N*** »

uf moja greska nema veze....jbg jos nisam poceo da radim sa mikrokontrolerima pa se bas ne razumem
smorio sam se onda kad sam napravio blesavi programator i kad ga prikljucim on mi resetuje kompijuter.....
http://belgradenight.info" onclick="window.open(this.href);return false;
User avatar
MladaNada
Stariji član
Stariji član
Posts: 2529
Joined: 20-05-2006, 14:57
Location: Banja Luka RS , Novi Sad RS , Herceg Novi CG

Re: skraceni kurs ucenja picbasica

Post by MladaNada »

Resetuje ti kompjuter vjerovatno zato sto je u kratkom spoju :?

Procitao sam sve stranice i shvatio da je ovo toliko jednostavno (u odnosu na programske jezike sa kojima radim svakodnevno - php, javascript, pascal) da je grijeh ne znati!
Tako da mozete ocekivati i od mene krajem oktobra neki PIC projekat, samo da skontam sta mi treba :)
Imam neke lude ideje tj. da pomocu PIC-a napravim CDI za skuter, sa podesavanjem tacke paljenja!
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

MladaNada wrote:..... da pomocu PIC-a napravim CDI za skuter......
A šta je to?
Real Radios Glow in the Dark!
Post Reply