Missing pulses in fast speeds although using interrupts

gclu:
I saw on the LCD confused characters like chinese alfabet.

This probably indicates either that your method of formatting the unsigned int to a string was incorrect, or that the volatile int was being updated by the ISR while you were using it - or perhaps both. The safe way to use the volatile variable from your main code would be to disable interrupts long enough to copy it to a local variable, and then use that.

In order to get more practical advice about the problem, you'd need to post your actual code and say what it did wrong.