Ich würde mein Wahl vom kontroller auch vom Compiler und vom Programmiergerät abhängig machen.
Wenn du ein compiler sucht dann gehe mal auf http://sdcc.sourceforge.net/ (8051 etc...)
und http://www.tldp.org/linuxfocus/Deuts...ticle231.shtml (für RISC).

Die sind alle umsonst, und man programmiert in C (schwer) und auch in assembler(noch schwerer).
Wenn du noch nie programmiert hast, rate ich die ein BASUC programmierbaren controler zu
benutzten, und generel erst mal ein paar Programme auf den PC schreiben bevor du dich auf den controller strürzt.

Bei manchen Controler typen brauchst du ein Programmiergerät, (ab ca. 100 €).
Manche kannst du den controler auch per serielle Schnittstelle direkt auf der Platine programmieren.