Depende de hasta donde quieras llegar, un 224 por ejemplo, si entra en tus posibilidades, te permite desde lo más sencillo hasta un grado de complejidad bastante elevado (subrutinas, interrupciones, variables locales de diferente índole, secuenciadores, operaciones aritméticas como multiplicaciones y divisiones, PID,....)
Y si tienes un mínimo de formación en programación de microcontroladores te recomiendo que aprendas en awl, es el lenguaje más potente y versátil, ademas de tener cierta similitud con lenguaje de programación de micros.
saludos