Avr microcontroller and embedded systems : using assembly and C