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

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

اوشة محمود
:: مهندس ::
تاريخ التسجيل: Feb 2015
المشاركات: 38
نشاط [ اوشة محمود ]
قوة السمعة:0
قديم 04-03-2017, 11:54 PM المشاركة 1   
ha اريد المساعدة ببرنامج Twitter FaceBook Google+



السلام عليكم
اريد مساعدة الاخوة (برنامج )
-----------------------------------

بسويتش واحد فقط (دخل)

الخرج على عدد 2 من ارجل البيك

استخدام بيك 16F84A -16F628A

البرنامج هو:

. اول ضغطه على السويتش ( يضىء ليدعلى رجل رقم 1 ------ الرجل رقم 2 الليد مطفىء)

.ثانى ضغطه على السويتش ( اطفاء الليد رجل رقم 1 ------الرجل رقم 2 الليد مطفـىء )

. ثالث ضغطه على السويتش ( الرجل رقم 2 الليد يضىء ثم تأخير 15 ثانية مثلا ثم الرجل رقم 1 الليد يضىء )

.رابع ضغطه على السويتش (اطفاء الليد رجل رقم 1 ------الرجل رقم 2 الليد مطفىء )

والشكر كل الشكر لمن ساعدنى

اعلانات

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 07-03-2017, 12:11 AM المشاركة 2   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


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

تفضل اخي ..

كما فهمت من طلبك ..




كود:
   int X =0;
        
        void main() {
        TRISB=128; PORTB=0;
    
    
        while(1){
    
        if(PORTB.F7==1){ X++; delay_ms(250); }
    
        if(X==1){ PORTB=1;}
        if(X==2){ PORTB=2;}
        if(X==3){ PORTB=4; delay_ms(15000); X=1; }
    
    
    }
  }


تحياتي لك


التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 07-03-2017 الساعة 12:16 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

اوشة محمود
:: مهندس ::
تاريخ التسجيل: Feb 2015
المشاركات: 38
نشاط [ اوشة محمود ]
قوة السمعة:0
قديم 07-03-2017, 09:24 PM المشاركة 3   
ha


السلام عليكم
اريد مساعدة الاخوة (برنامج )
-----------------------------------

بسويتش واحد فقط (دخل)

الخرج على عدد 2 من ارجل البيك

استخدام بيك 16F84A -16F628A

البرنامج هو:

. اول ضغطه على السويتش ( يضىء ليدعلى رجل رقم 1 ------ الرجل رقم 2 الليد مطفىء)

.ثانى ضغطه على السويتش ( اطفاء الليد رجل رقم 1 ------الرجل رقم 2 الليد مطفـىء )

. ثالث ضغطه على السويتش ( الرجل رقم 2 الليد يضىء ثم تأخير 15 ثانية مثلا ثم الرجل رقم 1 الليد يضىء )

.رابع ضغطه على السويتش (اطفاء الليد رجل رقم 1 ------الرجل رقم 2 الليد مطفىء )

والشكر كل الشكر لمن ساعدنى

السلام عليكم استاذى / عبد الله حجازى
اشكرك شكرا جزيلا على سرعة ردك واهتمامك انا اريد الخرج على 2 طرف فقط ---- والدخل مفتاح واحد
زادك الله من علمـــة


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 07-03-2017, 11:17 PM المشاركة 4   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


السلام عليكم استاذى / عبد الله حجازى
اشكرك شكرا جزيلا على سرعة ردك واهتمامك انا اريد الخرج على 2 طرف فقط ---- والدخل مفتاح واحد
زادك الله من علمـــة
تمام .. وأسف علي عدم انتباهي لطلبك جيدااااا ..

اليك التعديل علي الكود .. لكي يتناسب مع طلبك


كود:
  int X =0;
        
        void main() {
        TRISB=128; PORTB=0;
    
        while(1){
    
        if(PORTB.F7==1){ X++; delay_ms(250); }
    
        if(X==1){ PORTB=1;}
        if(X==2){ PORTB=0;}
        if(X==3){ PORTB=1;  delay_ms(1500);  PORTB=3; X=4; }
        if(X==5){ PORTB=0;  X=0; }

    }
  }

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً عريبى محمود ( شكر العضو على هذه المشاركة )
اعجاب عريبى محمود ( أعجبته المشاركة )

اوشة محمود
:: مهندس ::
تاريخ التسجيل: Feb 2015
المشاركات: 38
نشاط [ اوشة محمود ]
قوة السمعة:0
قديم 09-03-2017, 10:40 PM المشاركة 5   
win


السلام عليكم
اخى الاستاذ عبدالله حجازى

العفو اخى الحبيب اشكرك من كل قلبى على اهتمامك بموضوعى وكل مواضيع الاخوة الذى يستفسرون عن مختلف المواضيع اعانك الله وزادك من علمه لانك لا تبخل ابدا عن مساعدة السائلين البرنامج شغال 100% لكن اريد فى الضغطه الــثالثة يضىء الرجل RB0 اولا ثم تأخير 15 ثانية ثم تضىء الرجل RB1 ( ارجو من حضرتك شرح كود البرنامج كل سطر على حده ....)اشكرك مرة اخرى وفعلا انا استفيد منك جدا والسلام عليكم


التعديل الأخير تم بواسطة : اوشة محمود بتاريخ 10-03-2017 الساعة 12:02 AM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً عبدالله حجازى ( شكر العضو على هذه المشاركة )
اعجاب عبدالله حجازى ( أعجبته المشاركة )

الصورة الرمزية عريبى محمود
عريبى محمود
:: ( رحمه الله عليه ) ::
تاريخ التسجيل: Jan 2009
الدولة: لا تسأل الطغاه لماذا طغو بل اسأل العبيد لماذا انحنو
المشاركات: 3,139
نشاط [ عريبى محمود ]
قوة السمعة:188
قديم 10-03-2017, 02:19 AM المشاركة 6   
x4


السلام عليكم
اخى الاستاذ عبدالله حجازى

العفو اخى الحبيب اشكرك من كل قلبى على اهتمامك بموضوعى وكل مواضيع الاخوة الذى يستفسرون عن مختلف المواضيع اعانك الله وزادك من علمه لانك لا تبخل ابدا عن مساعدة السائلين البرنامج شغال 100% لكن اريد فى الضغطه الــثالثة يضىء الرجل RB0 اولا ثم تأخير 15 ثانية ثم تضىء الرجل RB1 ( ارجو من حضرتك شرح كود البرنامج كل سطر على حده ....)اشكرك مرة اخرى وفعلا انا استفيد منك جدا والسلام عليكم


السلام عليكم ورحمة الله وبركاته
اخى الكريم اوشة

بعد اذن اخونا الاستاذ المهندس عبد الله حجازى والذى ادعو من الله ان يديم عليه الصحة والعلم الذى يفيد به الاخوة عامة اليك اخى اوشة الكود التالى وهو نفسه كود الاخ عبدالله حجازى ولكن به تعديل به ما تريد
وقد تم عمل تأخير بعد كل ضغطة حتى لا يتذبذب الكود *** واترك للاستاذ عبد الله الشرح الوافى
رابط ملف المحاكاة

http://up.top4top.net/downloadf-4343waek1-rar.html


رابط ملف الكود

http://up.top4top.net/downloadf-434psl9f2-rar.html



صورة للكود المعدل




صورة للبروتيوس



التعديل الأخير تم بواسطة : عريبى محمود بتاريخ 10-03-2017 الساعة 02:39 AM
احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً اوشة محمود, عبدالله حجازى ( شكر العضو على هذه المشاركة )
اعجاب اوشة محمود, عبدالله حجازى ( أعجبته المشاركة )

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 11-03-2017, 12:15 AM المشاركة 7   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


عريبى محمود
اخي العزيز " عريبى محمود " اشكرك من كل قلبي علي كلامك الطيب .. شكرااا لك اخي الكريم ..
انت انسان مبدع .. وتقدم الكثير من الدعم لكل سائل .. جزاك الله خيرااا ..





السلام عليكم

اخى الاستاذ عبدالله حجازى

العفو اخى الحبيب اشكرك من كل قلبى على اهتمامك بموضوعى وكل مواضيع الاخوة الذى يستفسرون عن مختلف المواضيع اعانك الله وزادك من علمه لانك لا تبخل ابدا عن مساعدة السائلين البرنامج شغال 100% لكن اريد فى الضغطه الــثالثة يضىء الرجل RB0 اولا ثم تأخير 15 ثانية ثم تضىء الرجل RB1 ( ارجو من حضرتك شرح كود البرنامج كل سطر على حده ....)اشكرك مرة اخرى وفعلا انا استفيد منك جدا والسلام عليكم


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

اشكرك علي كلامك الطيب .. اخي الكريم ..








نبدأ بشرح البرنامج ..

__________________________________________________ __________________________


اولا .. تم تعريف متغير من نوع الأرقام الصحيحه .. اسم المتغير "" X "" وهو اساس البرنامج لأن من خلاله سيتم مقارنته داخل أوامر شرطيه لكي نتحكم في سير البرنامج ...

__________________________________________________ __________________________
وبعد ذالك ندخل علي الدالة الرأسيه ..


وهي الداله اللتي يبدأ البرنامج منها ... وهي اساسيه في جميع البرامج في لغة السي ..
__________________________________________________ _______________________

وهذا السطر لتعريف ارجل الميكرو اللتي نريد استخدامها .. وهنا عرفنا البورت "" B " أول 2 رجول خرج ... والرجل رقم " 7 " دخل لكي نستخدمها مع المفتاح ..

__________________________________________________ ____________________________


وهذ الأمر هو أمر تكرار
يجعل الميكرو يكرر قرأة الكود بالكامل الي ما لا نهايه ..
----------------------------------------------------------------------------------------------

والأن نبدأ في أوامر البرنامج من خلال هذا الأمر


هذا الأمر هو أمر يختبر المفتاح هل تم الضغط علي المفتاح أم لا ... لو تم الضغط علي المفتاح الموصل علي الرجل رقم 8 في البورت "" B "" يتحقق الشرط .. ويدخل يذيد قيمه المتغير "" X "" الي " 1 " وينتظر " 250 ميلي سانيه "" لكي تستطيع رفع يدك من علي المفتاح ... وسوف اذكر لك فائدة هذا الوقت في أخر الشرح ..


ايذااا المتغير "" X "" اصبحت قيمته = 1 ... وهنا تأتي فائدة الأمر القادم ..





لاحظ أمر الشرط اعلاة .. هو يختبر قيمه المتغير "" X "" هل = 1 ..

وهنا نحن ضغطنا علي المفتاح مرة واحدة وأصبح المتغير "" X =1 "" وهنا سوف يتحقق الشرط ويدخل في تنفيذ الكود الموجود داخل حلقة الشرط .. وهنا الأمر الموجود داخل حلقة الشرط .. هو جعل قيمه البورت " B " = واحد .. وبالتالي البن رقم 0 تخرج 5 فولت ويضيئ الليد ..

------------------------------------------------------------------------------------


طيب لو تم الضغط علي المفتاح مرة اخري .. ستذداد قيمه المتغير " X "" الى 2 .. وهنا يأتي دور أمر الشرط الثاني ..


وهنا اصبحت قيمه المتغير "" X "" ز 2 وهنا يتحقق الشرت الثاني ..

وهنا الأوامر الموجودة في الأمر الثاني هي جعل قيمه البورت "" B "" =صفر .. وبالتالي اطفاء الليد ..

__________________________________________________ ___________________

وهنا لو تم الضغط مرة اخري علي المفتاح .. ستصبح قيمه المتغير " X "" = ثلاثه ..
ومن خلال أمر الشرط الثالث


يتحقق الشرط لأن قيمه المتغير ""X "" = ثلاثة .. وهنا يتم تنفيذ الأوامر الموجودة داخل أمر الشرط

وهي جعل قيمه البورت " B "" = اثنان .... ومن ثم ينتظر الي 15 سانيه ويجعل قيمه البورت " B " = ثلاثه وبعد ذالك يجعل قيمه المتغير "" X "" = اربعه .. وهنا لماذا رقم 4 .. الجواب حتي لا تفضل قيمه المتغير "" X "" = ثلاثه وهنا أمر الشرط يكون متحقق بستمرار وهنا يدخل في تنفيذ الأوامر .. وهي جعل قيمه البورت " B "" = اثنان .... ومن ثم ينتظر الي 15 سانيه ويجعل قيمه البورت " B " = ثلاثه و يكرر تنفيذ الأوامر بستمرار .. وهنا فائدة جعل قيمه المتغير "" X " = اربعه .. حتي لا تتوافق مع أي امر شرط موجود ..

__________________________________________________ ______________________________


وهنا لو تم الضغط علي المفتاح مرة اخري ....


سوف تجعل قيمه المتغير " X "" = خمسه ..

وهنا يتحقق الشرط ...


والأوامر الموجودة داخل امرالشرط ..

جعل قيمه البورت "" B "" = صفرر ... وايضاااا جعل قيمت المتغير "" X "" = صفر .... ولماذا جعلنا قيمه المتغير = صفر .ز

لأن لو ترقنا المتغير بدون ان نجعل قيمته = صفر .. وتم الضغط علي المفتاح مرة أخري ماذا يحدث سوف يذداد قيمه المتغير وتصبح = 6 وهنا لا يوجد أوامر شرط تتحكم في قيمه المتغير وهو = 6 .. وسوف يحدث فشل في اداء البرنامج لأن لو تم الضغط علي المفتاح مرة اخرة .. سوف تذداد قيمه المتغير .. ولا يحدث أي شئ جديد في البرنامج ..

وهنا جعلنا المتغير = صفر لكي يبدأ البرنامج من جديد ..


وهنا يأتي شرح فائدة الوقت 250 ميلى سانيه ..

كما نعلم ان الميكرو يستطيع تنفيذ الأوامر بشكل سريع جدااا وعندما نضغط علي المفتاح سوف يكون الميكرو أختبر الضغطه علي المفتاح .. تم اختبار الضغط أكثر من مرة .. ولا تستطيع توقع خرج البرنامج ..

وهنا عندما نضغط على المفتاح يتحقق الشرط ويدخل البرنامج فى تنفيذ الأوامر وهي ذيادة المتغير " X " بواحد وينتظر 250 ميلي سانيه لكي يعطيك الوقت الكافي لكي تستطيع رفع يدك من علي المفتاح ..
قبل ان يدخل ويختبر الشرط مرةأخري ويذيد المتغير بواحد أخر ..


ارجو ان اكون موفق في الشرح

لأن موضوع الشرح دة موهبه من عند الله ..
وبصراحه انا لا اتقن الشرح بشكل جيد ..

بالتوفيق

احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً اوشة محمود, منى حسين ( شكر العضو على هذه المشاركة )
اعجاب اوشة محمود ( أعجبته المشاركة )

اوشة محمود
:: مهندس ::
تاريخ التسجيل: Feb 2015
المشاركات: 38
نشاط [ اوشة محمود ]
قوة السمعة:0
قديم 11-03-2017, 09:23 PM المشاركة 8   
win


السلام عليكم
شكرا استاذ عريبى محمود

فعلا البرنامج اصبح يعمل كما اردت ان يعمل واشكر الاستاذ عبدالله حجازى كما اشكر حضرتك وادعو من الله ان يديم عليكم العلم ويزيده منتدى من احسن المنتديات العربية

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


التعديل الأخير تم بواسطة : اوشة محمود بتاريخ 11-03-2017 الساعة 09:34 PM
احصائية الشكر والاعجاب - 0 شكراً, 0 عدم اعجاب, 1 اعجاب
اعجاب عبدالله حجازى ( أعجبته المشاركة )
إضافة رد

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

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

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


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

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