WhyNot use a traditional way;
Code:' 9 Pulses come in in 0ne meter. ' Measure the time it takes for 9 pulses to come in. ' Timer0 is in Counter Mode. ' Timer1 is in Timer Mode. ' Set your prescaler and other TMR settings etc... here. Start: TMR1ON = 0 ' Stop TMR1. TMR1H = 0 ' Clear TMR1. TMR1L = 0 '.... Speed = 0 ' Speed is a Word variable. TMR0 = 0 ' Clear TRM0. WHILE TMR0 = 0 : WEND ' Wait for an incoming Pulse (First pulse does not count). TMR1ON = 1 ' Start Timer1 Module. WHILE TMR0 < 9 : WEND ' Count 9 pulses. TMR1ON = 0 ' Stop Timer1 at 9th Pulse. Speed.LowByte = TMR1L Speed.HighByte = TMR1H ' The car took 1Meter in "Speed" mS. Example: 1 Meter in 100mS. Speed = 60000 / Speed ' Speed = 60,000mS / 100Ms => 600 Meter in One Minute. Speed = Speed * 60 ' Speed = Speed * 60Mins => 600Meter * 60Mins = 36,000Meter. => 36Km/Hr LCDOUT $FE,1,"Speed:", dec5 Speed,"Km/Hr" Goto Start




Bookmarks