Microcontrollers and microcomputers:principles of software and hardware engineering - Cady, Fredrick M (OUP, 2004)