Pozdrav svima.Skinuo sam ovaj kod i iscrtao semu u proteusu ali stoji mi samo BROJ=0 na displeju.Vidim da nigde nema ono broj=broj+1 ili bilo sta drugo za promenljivu broj,probao sam sve sto sam znao ali neide pa bih zamolio ako neko moze da mi pomogne da ozivim ovaj kod.Ima dosta gotovih na internetu ali treba mi nesto ovako sto mogu da prilagodim nekim potrebama.Evo tog koda:
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
capture VAR PIR1.2 ' CCP1 capture flag
overflow VAR PIR1.1 ' Timer1 overflow flag
period VAR WORD ' Word variable that stores the value
broj var word
TMR1_Vred Var word
TMR1_Vred = 64536
CCP1CON = %00000100 ' Enable the CCP1 capture, falling edge
T1CON = %00000011 ' TMR1 prescale=1, and turn it on (1uS per count)
TRISC = %11110001
mainloop:
lcdout $FE, $80, "BROJ=",#broj
IF (capture = 0) Then mainloop ' Wait here until captured
TMR1L = TMR1_Vred.lowbyte 'Postavi TMR1 na 64536
TMR1H = TMR1_Vred.highbyte
period.lowbyte = CCPR1L ' Store the captured value in
period.highbyte = CCPR1H ' period variable
IF overflow = 0 Then ' Skip the output if the timer overflowed
lcdout $FE, $80, "BROJ=",#broj
EndIF
capture = 0 ' Clear the capture flag
lcdout $FE, $80, "BROJ=",#broj
reset:
IF (capture = 0) Then reset ' Wait for beginning of next period
TMR1L = 0 ' Clear Timer1 low register
TMR1H = 0 ' Clear Timer1 high register
capture = 0 ' Clear capture flag
overflow = 0 ' Clear overflow flag
GoTo mainloop ' Do it forever
End
Pomoc oko koda za frekvencmetar
Moderators: pedja089, stojke369, [eDo], trax
Re: Pomoc oko koda za frekvencmetar
Ja bas i ne razumem taj kod. Lici mi na neko merenje periode preko tajmera.
Za detalje moras pogledati datasheet pica, i jako je bitno na koji se pin dovodi signal.
Za detalje moras pogledati datasheet pica, i jako je bitno na koji se pin dovodi signal.
Re: Pomoc oko koda za frekvencmetar
Vidim da nesto nedostaje ali nisam dovoljno iskusan da bih ukapirao o cemu se radi.to je za 16f877a
Re: Pomoc oko koda za frekvencmetar
Ne znam do koje frekfencije ti treba merac, ali pogledaj komandu COUNT.