What is x20?
what is f0?
what is x?
A little more detail and it is possible that a different solution exists.
The last time I did something similar, I had a pulses per mile count. After that the mile count would increase by 1. To handle numbers as big as 99999999 you can do it in code like I did
Pseudo code begins
Now, displaying this is easy.Code:miles[4] var byte ' lsb to msb on input pulse, pulses=pulses+1 if pulses >= Pulsespermile pulses = 0 ' start counting again till we reach pulses per mile miles[0] = miles[0]+1 if miles[0] > 99 then miles[0] =0 miles[1] = miles[1]+1 if miles[1] > 99 then miles[1] = 0 miles[2] = miles[2]+1 if miles[2] > 99 then miles[2] = 0 miles[3] = miles[3]+1 if miles[3] > 99 then miles[3] = 0 ' roll over to all zero endif endif endif endif endif
Code:Num = miles[0] dig 1 ' first digit to display digitpos = 0 gosub displaynum ' show the number Num = miles[0] dig 0 ' 2nd digit to display digitpos = 1 gosub displaynum ' show the number Num = miles[1] dig 1 ' 3rd digit to display digitpos = 2 gosub displaynum ' show the number Num = miles[1] dig 0 ' 4th digit to display digitpos = 3 gosub displaynum ' show the number and so on




Bookmarks