If your dishwasher does everything that you manually set it to do such as on fill it fills or on drain it drains but it just does not advance, you are looking at replacing your timer. If this is a touch type of a control and not a manual timer dial, you can give this a try because it has worked for me.
Cut the power to the dishwasher and remove the control panel so that you can get to the microprocessor. With a dry tooth brush, clean the connector where it plugs into the microprocessor and also the board. What happens is this. The steam from the dishwasher along with the detergent and food greases, stick on to the processor and when it is damp, it makes its own circuts and stalls..its confused, so it won't advance.