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

   

ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 584
نشاط [ ahmad abdullah ]
قوة السمعة:
قديم 26-04-2011, 10:11 PM المشاركة 9   
افتراضي



استاذنا لم افهم قصدك " و على المنفذ سي "

انا اريد عرض الاجابة على LCD

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 26-04-2011, 11:37 PM المشاركة 10   
افتراضي


الشكر لله اخي احمد ..
يمكنك استخدام PIC16f84a او 628 . لكن ستجد صعوبة في تحويل المنفذ A الى منفذ اخراج في كليهما .
شرح الكود :
يبدأ بتعريف مقاطعة , وعندما تدخل النبضة على B0 تحصل هذه المقاطعة و يترك البرنامج كل شيء و يذهب الى الكود الفرعي لها و هو في بداية البرنامج كما ترى .
خلال كود المقاطعة هذا يتم اضافة 1 على المنفذ C و هنا تم احتساب اول نبضة .
ثم يتم تصفير المقاطعة لا ستقبال الاشارة التالية .
بعدها يعود الى البرنامج الرئيسي و يتم استدعاء المقاطعة الثانية و هكذا و خلال زمن تاخير مقداره 1 ثانية . وبعد انقضاء الفترة يتم تصفير المنفذ ايقاف المقاطعة و تصفير المنفذ C ثم يعود البرنامج ليكرر العملية من جديد . و بذلك نضمن مواكبة البرنامج للتغيير الحاصل في التردد .

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

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 26-04-2011, 11:40 PM المشاركة 11   
افتراضي


استاذنا لم افهم قصدك " و على المنفذ سي "

انا اريد عرض الاجابة على LCD
و ما المشكلة اخي احمد .
اوصل الشاشة على المنفذ D واجعلها تقرأ النتيجة على المنفذ C


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 26-04-2011, 11:51 PM المشاركة 12   
افتراضي


تفضل اخ احمد

كود:
  int x=0;
char y[8];
void interrupt()
{
x++;
intcon.f1=0;
}
void main()
{
trisc=0;PORTc=0;trisb.f0=1;
lcd_init(&portd);
lcd_cmd(LCD_CURSOR_OFF);
Lcd_Cmd(Lcd_Clear);
loop:
intcon=0b10010000;
delay_ms(1000);
IntToStr(x,y);
lcd_out(1,2,y);
lcd_out_cp("    Hz");
intcon=0;
x=0;
goto loop;

}



التعديل الأخير تم بواسطة : حيدر علاج حسن بتاريخ 27-04-2011 الساعة 12:03 AM

ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 584
نشاط [ ahmad abdullah ]
قوة السمعة:
قديم 27-04-2011, 12:57 AM المشاركة 13   
افتراضي


بارك الله فيك والله ما بتقصر ... الله يزيدك ...

اخي سأقرأ الموضوع غدا و اقول لك رأيي لان الوقت متأخر الان ...


ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 584
نشاط [ ahmad abdullah ]
قوة السمعة:
قديم 27-04-2011, 05:29 PM المشاركة 14   
افتراضي


السلام عليكم مهندسنا الغالي :
اولا : لماذا استخدمت البيت زيرو في البورت بي ... و هل يمكن استبداله بأي Bit ؟؟؟؟ و اعتقد انه ليس بالضرورة استخدام Pic16f877A اليس كذلك ؟؟؟

ثانياً : هل عند حدوث Pulse يتوقف البرنامج الاساسي ، ثم ننتقل الى المقاطعة ، و هناك متغير فليكن X و يزيد X بعدد ال pulses و اذا كان كلامي صحيحاً ، لماذا يتوقف البرنامج عند حدوث pulse و نذهب الى المقاطعة ...

ثالثاً : ارجو منك التكرم علينا بشرح الاكواد التالية :

1: intcon.f1=0;

2: intcon=0b10010000;

اسف اخي على كثرة الاسئلة لكنني لا احب ان انقل الكود كما هو ، فأنا احب ان افهم ... حتى اقدر اطور نفسي في البرمجة ...
اعذرني اخي حيدر على البطئ في الردود و لكنني عندي غداً امتحان , و اكاد بالصدفة ان اتصفح المنتدى ...

بارك الله فيك و جعله الله في ميزان حسناتك


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 27-04-2011, 06:58 PM المشاركة 15   
افتراضي


اخي احمد انت بحاجة الى فهم المقاطعات . و يوجد موضوع كامل لشرحها للمهندس فادي تجده هنا .
http://www.qariya.com/vb/showthread.php?t=46338
اما استخدام هذا المتحكم فهو ضروري و بالاخص انك تريد ربط شاشة LCD .


ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 584
نشاط [ ahmad abdullah ]
قوة السمعة:
قديم 28-04-2011, 12:23 AM المشاركة 16   
افتراضي


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



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