C Programming for Microcontrollers Featuring ATMEL's AVR Butterfly and the free WinAVR Compiler