Для тех кто не понял: в данной программе таймер идеализируется каждый новый цикл. И просто не успевает отработать. И не плохо было бы его вызывать перед началом программы:
timer;