Pomoc oko brojaca tmr0

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Pomoc oko brojaca tmr0

Post by MIKI73 »

Pozdrav svima.Hteo bih u ovom kodu da dopisem da broji inpulse jednu sekundu pa onda da prikaze na displeju koliko je bilo inpulsa u toj jednoj sekundi,nesto na principu frekvencmetra,izbroji pa pokaze pa ako se menja broj inpulsa onda u svakoj sekundi da pokaze tu promenu.Evo koda,ja sam probao sve zivo sto mi je palo napamet i neuspeva mi pa bih zamolio ako neko moze da mi kaze sta da dopisem.


DEFINE LCD_BITS 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 3
DEFINE LCD_LINES 2
pause 100
lcdout $FE, 2
lcdout $FE, $80, "BROJ="

Broj Var word 'Promenjiva za brojanje
TRISA = %11111101 'PORTA je ulazni

Inicijalizacija:


INTCON.5 = 0

Broj = 0

OPTION_REG.0 = 0
OPTION_REG.1 = 0
OPTION_REG.2 = 0
OPTION_REG.3 = 1
OPTION_REG.4 = 0


OPTION_REG.5 = 1
OPTION_REG.6 = 0
OPTION_REG.7 = 1

TMR0 = $FF 'Postavi vrednost TMR0

INTCON.5 = 1 'Omoguci TMR0 prekide
INTCON.7 = 1 'Omoguci sve prekide

ON INTERRUPT goto Int_Sub

Pocetak:

Repeat

Until Broj = 0

Goto Pocetak

'------Podprogram obrade prekida-----------------------
Disable
Int_Sub:

INTCON.7 = 0
INTCON.5 = 0

If INTCON.2 Then
INTCON.2 = 0
Broj = broj + 1 'Uvecaj brojac za 1

EndIf

TMR0 = $FF

INTCON.7 = 1 'Omoguci prekide
INTCON.5 = 1 'Omoguci prekide

lcdout $FE, $80, "BROJ=" ,#broj
Resume 'Vrati se iz rutine prekida

End
User avatar
WhiteHead
Pravi forumaš
Pravi forumaš
Posts: 1627
Joined: 28-06-2007, 18:36
Location: 75,35k; B&H

Re: Pomoc oko brojaca tmr0

Post by WhiteHead »

Ovo meni liči na putovanje Beograd-Zagreb preko Podgorice.
Imaš u temi kurs pic-eva a i u gotovim projektima primjer brojača s komandom COUNT, e ako ti baš hoćeš tako....
Ako kaniš pobijediti, ne smiješ izgubiti
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: Pomoc oko brojaca tmr0

Post by MIKI73 »

Neznam zasto ali sa komandom count mi ne meri ni priblizno tacno.Potreban mi je neki prostiji brojac (jer nisam bas dobar poznavalac programiranja) gde bih mogao uz pomoc formule da prepravim da mi na osnovu izmerene frekvencije pokaze kapacitet kondenzatora,tj da skratim treba da meri frekvenciju oscilatora.
Maki
Odlično uznapredovao
Odlično uznapredovao
Posts: 766
Joined: 02-07-2012, 12:54

Re: Pomoc oko brojaca tmr0

Post by Maki »

Nisam se dugo igrao sa PIC mcu-om
No princip frekvenciometra je isti. Ne znam o kojem se PIC-u radi. No na vanjski ulaz nekog timer-a (npr. 16bit-nog) dovedeš signal. Nakon jedne sekunde očitaš vrijednost registra tog timera i imaš frekvenciju u Hz. Ukoliko očitaš unutar 100ms, dobiješ frekvenciju u Hz x 10. Vremenski interval provjere(1 sec) se može generirati pomoču drugogo timera ili dobro isplaniranim programom gdije se zna što koliko traje.
Nužno ti možda niti ne treba interrupt već pratiš zastavicu preljeva timera.
Post Reply