Мой опыт программирования PIC16F876A для других целей показал неустойчивую работу TMR1 от внутреннего генератора. От генератора с внешним кварцем работает корректно. Применяют кварц на 32 или 100кГц, допускается кварц 200кГц.
При завершении обращения к EEPROM желательно ставить бит EEIE в регистре PIE2 в 1 разрешения прерывания по окончанию записи в EEPROM.
Математические программы, особенно деление, желательно проверить на корректность, в моей практике при больших значениях знаменателя вычисления были неправильные, устранял пропорциональным уменьшением делимого и делителя.
Бит 11 DEBUG в слове конфигурации должен быть установлен в 1.
Может мои предложения помогут улучшить прибор. Всем удачи!