مشكله فى برمجه pic 16f84

السلام عليكم
اقوم بتوصيل داءره تحتوى على pic 16f84a ولكن واجهتنى مشكله وهى

عند برمجه البيك اذا كان البرنامج كبير "اقصد بكلمه كبير اكبر من سطر برمجى واحد " لا تكتمل عمليه البرمجه
البرنامج تتم برمجته بنجاح هو
void main() {
TRISB = 0;
while(1) {
PORTB = ~PORTB;
}
}

اما للبرنامج الحقيقى المطلوب برمجته لا تتم بنجاح ولكن يتم برمجه اول سطرين او ثلاثه اسطر من البرنامج وتكون عشوائيه بمعنى مره يكتب اول سطرين وعند اعاده البرمجه مره اخرى يكتب اول ثلاثه اسطر وعند البرمجه مره اخرى يكتب اول سطر فقط وهكذا … و باقى البرنامج لا بكتب فى البيك

عند عمل virfy تظهر رساله خطا تفيد بان البرنامج المكتوب فى البيك ليس مثل البرنامج المطلوب

عند عمل قراءه للبرنامج الموجود داخل البيك نجد انه اول سطرين فقط من البرنامج المطلوب
و قمت بتجربه البرنامج على بروتس قبل البرمجه والبرنامج يعمل جيدا

قمت باستخدام برناج icprog وقمت بالقياسات وكانت النتيجه

بين الطرفين 4 و 5 قبل بدا البرمجه تكون اقل من نص فولت وغند الضغط على زر البرمجه فى البرنامج ترتفع الى 14.4 فولت وتظل على هذا الرقم حتى تننتهى البرمجه بعد الانتهاء تعود الى اقل من نص فولت
الطرفين 5 و 14 قبل بدا البرمجه يكون عليهم 4.9 فولت وعند بدا البرمجه تصبح 4.6 فولت وعند الانتهاء تعود مره اخر الى 4.9 فولت

قمت باستخدام برنامج winpic800 وكانت النتائج كالسابق

قمت باستخدام برنامج picpgm ولكن البرنامج لا يشعر بوجود البيك اساسا
وعند محاوله البرمجه تظهر رساله no pic connected

اخوانى الكرام يوجد سؤالين

1- كيف يتم حل هذه المشكله واستطيع برمجه البيك بالبرنامج الذى احتاجه

2- لماذا يتم كتابه اول سطرين او ثلاثه اسطر فقط من البرنامج اذا كان المبرمجه فيها مشكله فلماذا تكتب فى البيك واذا كانت سليمه فلماذا لا تكمل كتابه البرنامج كله

والسلام عليكم ورحمه الله