There are many books published on how to program or use Microchip's PIC product in various application categories. For networking, Fred Eady's, "Networking and Internetworking With Microcontrollers", ISBN 0-7506-7698, Keith Curtis, "Embedded Multitasking", ISBN 0-7506-7918-2, and Creed Huddleston's, "Intelligent Sensor Design", ISBN 0-7506-7755-4, are but 3 of my favorites (there are more). This book is a deserving the serious PIC programmer's attention; that is, if you want to really use the PIC24 or dsPIC. This book does not is not written for the dsPIC, but the architecture is similar enough that, aside from the DSP engine, you can learn almost all of the non-DSP features of the dsPIC (save for a select few dsPIC features).
Lucio has managed to put together a real interesting collection of material to help you learn the PIC24 and in a fun way. Lucio's theme is "Learning to Fly the PIC24". The book addresses primarily C developers, with plenty of example code. Assembly programmers are not left out, however as the format of each chapter is: a flight plan, the flight, post flight briefing, and notes for PIC experts, and assembly language experts. Lucio is a PIC expert at Microchip so you will learn from the best. The book includes a CD-ROM with source code in C and the student version of the C30 compiler. The book is not written for "absolute" beginners. Some familiarity with assembly language and basic understanding of the C language. Prior exposure to the PIC architecture would be helpfull as well.
Part I is about the basics of the PIC24. Chapter 1 takes you through the basics of programming the PIC24; Compiling, linking, building a project, port initialization, and other tips and tricks. Chapter 2 introduces logic operators, while loops, timers and, a neat feature of Microchips MPLAB, the logic analyzer. Chapter 3 introduces do loops, variable declarations, and arrays. Chapter 4 discusses data types, optimization, testing, integer multiplication, and complex data types. Chapter 5 is covers interrupts, the secondary oscillator, and the real-time clock calendar (RTCC), Chapter 6 discusses memory allocation, the program space visibility (PSV), the compiler map, pointers, the heap, and C30 memory models.
Part II, chapter 7 takes you through he serial interface , parallel interface, SPI, read status register, writing to the EEPROM and the new nonvolatile storage library using the 25LC245 serial EEPROM. Chapter 8 is about more UART examples and a console library. Chapter 9 presents interfacing with the LCD using the HD44780 controller. Chapter 9 is about analog-to-digital conversion with a good example of using the TC1047 analog temperature measurement chip.
Part III is more advance material. Chapter 11 covers input capture, simulation, PS/2 interfacing (including key code decoding), and I/O polling. Chapter 12 is really cool and discusses techniques to interface to a TV screen or display using composite video. Chapter 13 is about mass storage using the SD/MMC card interface. Chapter 14 discusses file I/O, the file allocation table (FAT), the fopenM() and freadM() functions. Chapter 15 is the grand finale using the PIC24 OC modules to develop a WAVE file player using PWM output.
The reason I summarized the chapters, in detail, above is that the chapter titles do not do the chapter contents justice in title alone. The chapters are:
1. The first flight
2. A loop in the Pattern
3. More Pattern Work, More Loops
6. Taking a Look Under the Hood
8. Asynchronous Communications
9. Glass Bliss
10. It's an Analog World
11. Capturing Inputs
12. The Dark Screen
13. Mass Storage
14. File I/O