can anyone tell me whats wrong with my code?
Does your code REALLY look like that?
if(digitalRead(input)=0)
Have you not learned the difference between = and ==? If not, it's time you did.
if((Start + 250) < Start)
For what value(s) of Start could this ever be true?
state1 != state1;
This is a (useless) test, not an assignment. The ! is in the wrong place.