Als Programmiersprachen kommen eigentlich C, Assembler (und Bascom) in Frage. Ich bevorzuge C, dazu gibt es auch ein gutes Tutorial auf http://www.mikrocontroller.net/artic...R-GCC-Tutorial und es gibt eine recht gute Programmierumgebung im Windows (AVRStudio4).
Ausserdem hat man bei C noch den Überblick.

Dann gibts da noch Assembler. Kann ich eigentlich auch empfehlen, wenn du richtig hardware-nah programmieren willst. Als Einsteiger machst du aber sehr wahrscheinlich bessere Fortschritte mit C, weil es da schon ein paar schöne Funktionen vorgefertigt gibt (die müsstest du in Assembler alle von Hand machen ). Auch da gibt es ein Tutorial http://www.avr-asm-tutorial.net/avr_de/index.html

Mjap, Bascom gäbe es noch, aber bei der Freeware ist die Codegrösse beschränkt, programmiert sich wie Basic. *Ich* nutze Bascom absolut nicht.

Gruss