Lets tackle these questions one at a time:
You can set up an ATMega8 microcontroller on a breadboard. All the controller really needs to operated is 4.5V to 5.5V power (regulated is best) and a pull-up resistor of at least 4.7Kohm between the reset and power pins. You will also need to work out connecting your programmer to the proper pins. SparkFun has a good tutorial for doing this, using the similar ATMega16 microcontroller. The tutorial is split into parts on this page, under the heading “Beginning Embedded Electronics Tutorials”.
For more specific information on using the ATMega8, you should read Craig Limber’s (Climber) AVR Tutorial Page.
There several ways to do this. The simplest would be to poll the button, start a timer when it is first pressed, then stop the timer when it is pressed again. There are lots of things to take into account, like button debouncing, timer prescale value, and polling vs interrupting. If you want millisecond accuracy you will also probably need to count how often the timer overflows. Anyway, this is making it sound complicated when it’s actually not that hard. Rather than pointing you to a sample code that won’t really illustrate any of this I think you should definitely read Craig Limber’s Timers ROCK tutorial. He’s right, they do.
Most parallel character LDCs have the same interface, the HD44780 interface. They also commonly have the same 14 or 16 pin connector (LCD’s with LED back-lights will have two extra pins for power the LED power). Of course, individual modules may vary, so you should compare data sheets first.
That looks very neat. Jim Remington has a much simpler project here where he translates MIDI files and plays them on the Orangutan’s buzzer.
SD cards generally have a built-in SPI interface, which an ATMega8 can access directly, but direct implementation is quite complicated. To simply read/write an SD or Flash card, or a USB thumb drive, you can use a separate interface chip to handle the file system protocol. For example, you can read/write SD cards with this board from DOSonChip, or one of these [SD|uSD] from SparkFun. You can also access a USB thumb drive with this board from Parallax.
Good luck with whatever project you pick first!
-Adam
