I would like to make a timer.

The timer will have a **7 segment digital display** and will work with a **microcontroller** of some sort.

I would like to be able to put in a time (e.g. anywhere between 0 - 10 minutes) and have it countdown from the input time to zero. I would like to display down to the millisecond resolution as well, but this is not crucial.

I want the timer to be relatively accurate (up to +- 1 second in ~20 minutes).

What kind of circuitry do I need?
Will a 555 timer circuit be able to handle this?
Need some direction to get started! Please let me know what other information is required! Thank you.