You should know what kind of pic you will be using, if with flash memory or non-volatile memory, also relies heavily on the structure of the ports of output and input. For example, is not the same schedule a PIC 16F877 or PIC16f84. Therefore, we advise that you first download the datasheet your PIC, you must choose which programming language you use, I recommend C , and then see page www.avaxhome.ru and search in searcher "PIC", you appear many books.
Very Luck.
PIC is type of microcontroller with extra facility of timer, serial communication .some are support in system programming.
PIC 16XXX is popular family....
there are many book avilable ....
first you down load the datasheet for getting some idea..
best luck