Using an external clock

I was wondering how I would go about using an external 1 MHz clock to run certain aspects of the arduino board.

First, what I want to do:

I have a 1Hz square wave that I would like to add a variable delay between 1 microsecond to 1 second (1,000,000 microseconds).
The idea is this:

  • The input 1Hz square wave rises
  • After X amount of microseconds (where X is chosen before hand, between 1-1million microseconds), output HIGH.

Basically I want to phase shift the 1Hz signal by a specified time, given by my 1MHz clock rather than the board’s clock

Now I have noticed in certain areas of the arduino datasheet ( that there is some talk about using external clocks and the board’s timers/counters. I find those sections somewhat hard to decipher as I have almost no experience in modifying the board. I thought maybe sections 8.1.4 (page 26), 8.8 (page 34), 14.3/16.3, etc. might be a place to start, but I don’t completely understand what these functions do.

Is using an external clock for a task like this feasible? Will someon with little experience in altering arduino boards be able to accomplish this? Or would it be better to pursue other microcontrollers with counters I can hook up to the 1 MHz?

Thanks for any help on the matter.