BCD Bi-directional counter with variable counting speed in proteus
Start with the fastest clock you need and use a series of T flip flops to divide the clock frequency by powers of 2. So you have highest frequency f, then the first T flip flop produces f/2, the second produces f/4, the third produces f/8 and so on until the seventh produces f/128.
Then use a multiplexer to select one of the 7 clocks and provide it to the clock input of the counter. The multiplexer address would itself be a counter that increments after 5 seconds.