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
Pomoc oko brojaca tmr0
Moderators: pedja089, stojke369, [eDo], trax
Re: Pomoc oko brojaca tmr0
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....
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
Re: Pomoc oko brojaca tmr0
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.
Re: Pomoc oko brojaca tmr0
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.
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.