Find the code samples for all of these and more at http://peshkin.mech.northwestern.edu/pic/code
These will/should also have wiki pages for background and associated electronics:
DigitalIO Digital input and output bit-by-bit or byte-by-byte
AnalogInput Reading up to twelve Analog Inputs
Counter0 Counting pulses with Timer0
Counter1 Counting pulses with Timer1
MotorPWM PWM outputs for torque control of one or two DC motors; Timer 2
RS232com Serial RS232 communication between PIC and a text window
Interrupt0 Periodic servo cycles using interrupt routines, 10mS & slower; Timer 0
Interrupt2 Periodic servo cycles using interrupt routines; 10mS & faster; Timer 2
InterruptExternal Interrupts generated by an external pulse
RCservoSoft PWM output in software for position control of up to five RC servos; Timer 3
RCservoHard PWM output in hardware for position control of up to two RC servos; Timer 2
QuadratureSoft Quadrature decoder/counter in software for arbitarily many encoders; 1KHz max
QuadratureHard Quadrature decoder/counter in hardware for one arbitrarily fast encoder; Timers 0 and 1
Not available yet:
AnalogOutputParallel Analog output using 8 digital lines
AnalogOutputI2C Analog output using I2C serial
Printing to a serial LCD
Printing to a parallel LCD
PIC-to-PIC communication
Zigbee radio communication
Modulated IR communication
Strobing LEDs or IREDs for better range and immunity to background light
I2C communication
CAN bus
Capturing data to Matlab
Running stepper motors