Thanks mister_e ,
this is my code, i use timer as counter.
but it count upto 256 and reset to 0, I see datasheet timer0 is 8 bit
how i set to tomer1 on pic16f877
'-------- PIC16F84A -----------------------
DEFINE OSC 16 ' use 16 MHZ oscillator
INCLUDE "MYLCD.BAS" ' LCD ON PORTB
input PORTA.4
OPTION_REG = %10110000 ' TMR0 clock source : RA4/T0CKI
' increment on low to high transition
' Prescaler assign to WDT
' WDT rate 1:1
INTCON = %10100000 ' Enable global interrupt
' Enable TMR0 overflow interrupt
ClockInput var PORTA.4 ' Input pin for signal
COUNTER var word ' Result of count to be send to 7 segment display
OverFlowVar var word
COUNTER = 0 ' set initial value of count
TMR0 = 0 ' reset prescaller
on interrupt goto MyInit
LOOP:
lcdout $fe,1
lcdout "count ", dec5 COUNTER
pause 20
COUNTER = OverFlowVar+ TMR0
OverFlowVar = 0 ' Reset OverFlowVar
goto Loop
disable
MyInit:
OverFlowVar = OverFlowVar + 65535
INTCON.2 = 0 ' clear overflow flag
TMR0 = 0 ' reload TMR0
resume
enable
Bookmarks