Designing Embedded Systems with PIC Microcontrollers