Simple function generator using microcontroller
Jesper developed a DDS (Direct Digital Synthesis) function generator around an AVR, controllable via EIA-232 and PC.
Schematic and assembly code are simple and available on his website, so you should be able to adapt them for the PIC. Or you can simply use the AVR version.