Ich persönlich empfehle dir Assembler. Damit lernst du, was der Controller wirklich macht. Allerdings erfordert das auch einigermaßen gutes logisches Denken, aber wenn's dir daran fehlt, wirst du auch mit anderen Programmiersprachen nicht besonders gut klar kommen.

@Buch kaufen: Warum? Es gibt genügend Tutorials. Gut erklärt u.a. hier:
http://www.mikrocontroller.net/tutorial

Gruß, CowZ
PS: Ich code auch nur in Assembler. Ist einfach besser ^^ Aber dazu gibt es bekanntlich viele Meinungen.