قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

OWNER
:: مهندس ::
تاريخ التسجيل: Dec 2011
المشاركات: 34
نشاط [ OWNER ]
قوة السمعة:0
قديم 10-12-2011, 09:30 PM المشاركة 1   
افتراضي مشكلة استخدام المفاتيح مع pic16f877 Twitter FaceBook Google+



ياجماعة حد يساعدني لا اعرف ليييه 877 معقد للغاية على خلاف 84A
يعني بقالي فتره وانا بحاول فظننت ان المشكلة من البروتوس ولكن حتى على التطبيق العملي نفس بروتوس بالضبط
كتبت كود بسيط للغاية باستخدام مفتاحين فقط للتجربة

كود:
void main() {
TRISA = 255;
TRISB = 0;
ADCON1 =7;
while(1){
if ( porta.f0==0){delay_ms(100);portb=1;}
 else portb=0;
 if ( porta.f1==0){delay_ms(100); portb=1; delay_ms(100);portb=0;}
 else portb=0;
}
}
المشكلة ان المفتاح الثاني الذي يعمل فقط
وعند حذف الكود المفتاح الثاني يعمل الاول عادي
ولكن الاثنين لايعملان مع بعض

البرنامج عبارة عن مفتاحين فقط للتجربة عند الضغط على المفتاح الاول يعمل الليد وعندما لا اضغط عليه يطفئ
والمفتاح الثاني عند الضغط عليه يعمل فلاش


ياريت حد يفيدنا لاني ضيعت وقت كتير وكانه الكود صعب
مع التوضيع بكل مالديكم بخصوص المفاتيح وطرق كتابه الكود المختلفة
لاني وجدت اناس يستخدمون اكثر من طريقة ومافهمتها مثل
if (Button(&PORTA, 0,1,1
وتعني اذا الرجل رقم 2 R0 تم الضغط عليه
وسؤالي لماذا كتبها بهذه الطريقة وماذا تعني 011

اتمنى الرد على السؤالين باستفاضه
وشكرا

اعلانات

الصورة الرمزية mahmosha
mahmosha
:: مهندس جيد ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 213
نشاط [ mahmosha ]
قوة السمعة:0
قديم 10-12-2011, 11:14 PM المشاركة 2   
افتراضي


try adcon1=0x07

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

OWNER
:: مهندس ::
تاريخ التسجيل: Dec 2011
المشاركات: 34
نشاط [ OWNER ]
قوة السمعة:0
قديم 11-12-2011, 07:13 PM المشاركة 3   
افتراضي


اخي الحبيب ما اشتغل جربت الحالتين الان ونفس الشيء واحد فقط الذي يعمل

هل من الاخوه المشاركة هذا ابسط موضوع في المنتدى

وحتى جربت بورد سي وما اشتغل
هل من كود مع برنامج المحاكاه بروتوس


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:97
قديم 11-12-2011, 08:34 PM المشاركة 4   
افتراضي


السلام عليكم اخى الكريم
تفضل البرنامج المطلوب على النحو التالى ..
SW1 متصل على الطرف RA0 وبالضغط عليه يقوم بإضاءة الليد والإطفاء عند تحرير الضغط
SW2 متصل على الطرف RA1 وبالضغط عليه يقوم بإضاءة الليد كافلاشر بتوقيت 50ms والإطفاء عند تحرير الضغط
الليد متصل على الطرف RB0 الكريستالة 4MHz
ومرفق ملف الهيكس وبروتس للتجربة من هنا
تمنياتى لك بالتوفيق


OWNER
:: مهندس ::
تاريخ التسجيل: Dec 2011
المشاركات: 34
نشاط [ OWNER ]
قوة السمعة:0
قديم 12-12-2011, 04:37 AM المشاركة 5   
افتراضي


يرجى تحديد الخطا اين كان

مع الكود

لا اريد ملف الهكس فقط


وشكرا لكم


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:97
قديم 12-12-2011, 06:04 AM المشاركة 6   
افتراضي


يرجى تحديد الخطا اين كان

مع الكود

لا اريد ملف الهكس فقط


وشكرا لكم
عذرا اخى الكريم
فالبرمجة تمت بالفلوكود وليس السى
تمنياتى لك بالتوفيق


الصورة الرمزية احمدمعاطى
احمدمعاطى
:: مهندس جيد ::
تاريخ التسجيل: Apr 2009
الدولة: مدينة الاسكندريه
المشاركات: 271
نشاط [ احمدمعاطى ]
قوة السمعة:0
قديم 12-12-2011, 07:31 PM المشاركة 7   
افتراضي


تفضل اخى البرنامج بالسى والبروتس


إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 10:41 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025