Stopping a countdown timer when it hits 0
In this line you are calculating the time you are going to display.   You could use that same calculation in an if statement to put you into the FINISHED state in your state machine.  

printDigits (timeOne - startTime);
if(timeOne - startTime &gt;= someInterval) {
    timer = FINISHED;
}


where someInterval is the number of milliseconds you want the timer to run for.