try this one
This is suppose to work.Code:' Program to measure time on two pins in a 1uSec increment ' Using PIC16F874 with TIMER1 TRISA=255 ' Set PORTA as INPUT ADCON1 = 7 ' disable analog to digital converter T1CON = 0 ' set timer clock source to internal (fosc/4) Signal1TIME var word Signal2TIME var word Signal1 var PORTA.1 Signal2 var PORTA.2 Start: ' measure period on RA.1 ' TMR1L=0 TMR1H=0 while signal1=0 ' waiting for rising edge wend T1CON.0 = 1 ' start Timer1 While signal1 ' wait for falling edge wend while signal1 = 0 ' wait for the next rising edge wend T1CON = 0 ' stopTimer signal1time.lowbyte = TMR1L Signal1time.highbyte = TMR1H ' measure period on RA.2 ' TMR1L=0 TMR1H=0 while signal2=0 ' waiting for rising edge wend T1CON.0 = 1 ' start Timer1 While signal2 ' wait for falling edge wend while signal2 = 0 ' wait for the next rising edge wend T1CON = 0 ' stopTimer signal2time.lowbyte = TMR1L Signal2time.highbyte = TMR1H lcdout $fe,1 ,"RA1 : ",#signal1," uSec",_ $fe,$c0,"RA2 : ",#signal2," uSec" pause 2000 goto start




Bookmarks