السلام عليكم
كيف حالك؟ان شاءا لله تكون بخير...
ان المشكلة في برنامجك تتلخص في 3 نقاط ...
اولا: ان الاوامر الي وضعتها في البداية (ΑΝSEL=0) & (ANSELH=0) وضعت من اجل متحكم اخر ( لا اعرف من اين اتيت بالبرنامج ولكنه ليس للمتحكم الذي تستخدمه(PIC16F877) لذلك اعطاني مشكلة عند كتابة البرنامج لذلك
حذفتهما لانهما لا يوجدان في المتحكم المستخدم في رسمتك..وهكذا انحلت اول مشكلة..
ثانيا:لكتابة برنامج من خلال الميكروسي كما فعلت انت فيجب ان توصل الشاشة الى منفذ واحد فقط (Α\Β\C\D) وليس الى منفذين اثنين كما فعلت انت في الصورة فيجب ان تحدد منفذ واحد وتشتغل وفقا لذلك..
ثالثا:هناك ترتيب معين يجب ان توصل به الشاشة ..فانت استخدمت امر
lcd_config(&portc,4,5,6,3,2,1,0);
وهذا يعني ان توصيل الاطراف سيكون كالتالي كما وضعت في الامر السابق:
RS ----RB4
E----RB5
W\R----RB6
D7----RB3
D6----RB2
D5----RB1
D4----RB0
ويجب الالتزام بالتوصيل الذي وضعته انت لتحصل على اضاءة..
قمت بتنفيذ البرنامج لدي وعمل بشكل جيد بعدما صححت ما به من اخطاء..البرنامج موجود على الرابط التالي للتحميل:
http://arabsh.com/ctlmbvypobqm.html
ربنا يوفقك وينفع بك الاسلام والمسلمين..
واخر دعوانا ان الحمدلله رب العالمين..وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم..