Suggestions to make debugging easier
Use In-circuit programming if at all possible - the cycle time for changes is much quicker
As a first step, choose your clock source, adjust (and document!) the fuse settings, but then output the clock to a pin, and check with an oscilloscope. No clock -> device looks dead.
Develop your program incrementally. Consider how you will get debug information out, eg via an RS232 port (some devices have 2 ports), or via serial LED, or using individual LEDs (but you need as many as possible).
If using delays, use the avr-libc libraries:
#include <util/delay_basic.h> #define F_CPU 1000000 // 1MHz #include <util/delay.h>
then you can use:
_delay_ms() and _delay_us()
If using interrupts, add a catch all interrupt vector, and consider making it do something unique
ISR (__vector_default) {
}
