Microcontrollers and microcomputers principles of software and hardware engineering - Cady (Oxford University Press, 1997)