Цитата
if (sec<10){lcd_putsf("\0");lcd_puts(temp)
Непонятно - почему если число меньше 10, Вы перед ним выводите не "0", а "\0", то есть не символ "ноль", а символ с нулевым кодом? В этом, скорее всего, проблема.
А вообще, довольно несложно переделать приводившийся Вам код функции, преобразующей число в строку, для того, что бы эта функция сама дополняла нулем числа меньше 10

.