Das Erweiterungmodul taktet doch mit 16MHz, oder? Dann muss in OCR1A 20 (oder 19?) anstelle der 9. Außerdem glaube ich nicht dass die Register vom Timer0 direkt auf den Timer1 übertragbar sind. Das hier passt sicher nicht:
TIMSK = (1 << OCIE0); // Interrupt ein
Hier wird der Timer0-Interrupt aktiviert. Im Zweifel kannst du das mal mit Timer0 testen. Dann müßte der Base-Code mit angepasstem OCR-Wert funktionieren. Ein bisschen must du schon selbst im Datenblatt forschen...