Designing Embedded Systems with PIC Microcontrollers: Principles and Applications