pavlik2009 писал(а):... ВОЗМОЖНО ли произвести программирование через USART контроллера...
В принципе - да. Но для этого нужно выполнить два условия:
1. В МК должна быть заложена возможность изменять содержимое своей программной (FLASH) памяти из исполняемой программы. В начале datasheet-а говорится о возможности self-reprogramming (само
перепрограммирования), но как-то смутно, и далее подтверждения этому нет. А в перечне команд отсутствует "обратная" команде retlw, такая, которая может записать что-либо в программную память. Может быть я, как и в случае со с. 22, плохо смотрел

.
2. Для программирования через UART, SPI, I2C или любой другой "нестандартный" для этой операции интерфейс в память МК предварительно (на заводе или самим пользователем с помощью обычного программатора) должна быть занесена специальная программа-загрузчик (bootloader), настраивающая нужный порт, принимающая информацию и "раскладывающая" ее по нужным адресам. Такой программы в PIC16F876, насколько я понимаю, исходно нет.
Я советую Вам попробовать запрограммировать уже запаянный в плату МК, соединив его используемые при программировании выводы короткими проводами с соответствующими контактами панели обычного программатора.