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

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

moody2
:: موقوف ::
تاريخ التسجيل: Apr 2011
الدولة: Usa
المشاركات: 40
نشاط [ moody2 ]
قوة السمعة:0
قديم 20-05-2013, 03:52 PM المشاركة 1   
افتراضي تشغيل ليد واطفائه عن طريق نفس السويتش Twitter FaceBook Google+



ازاى اقدر اشغيل ليد واطفيه عن طريق نفس السويتش
انا بستخدم 16f877a جاولت كتبر انى اعمل كدة بس مشعارف فى حاجة بتطلع غلط فى الاخر انا عايز نفس الزرار اللى يشغل هو اللى يطفى
شكرا

اعلانات

الصورة الرمزية #MAAM#
#MAAM#
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: EGYPT
المشاركات: 567
نشاط [ #MAAM# ]
قوة السمعة:91
قديم 20-05-2013, 04:17 PM المشاركة 2   
افتراضي


https://khamsat.com/programming/2677...88%D9%84%D8%B1

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

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 20-05-2013, 05:01 PM المشاركة 3   
افتراضي


تفضل اخي ...
كود:
void main() 
{trisb=1;trisc=0;trisd=0;portc=0;portd=0;portb=1;
while(1)
        {if(portb.f0==0){
                         portc.f0=~portc.f0;
                        while(portb.f0==0){}

                       }
        }

}


Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,426
نشاط [ Tico ]
قوة السمعة:114
قديم 20-05-2013, 05:50 PM المشاركة 4   
افتراضي


ما شاء الله عليك أخي العزيز حيدر . السهل الممتنع ..
جزاك الله خيرا.


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 20-05-2013, 05:53 PM المشاركة 5   
افتراضي


الله يبارك فيك اخي Tico..
تحياتي


moody2
:: موقوف ::
تاريخ التسجيل: Apr 2011
الدولة: Usa
المشاركات: 40
نشاط [ moody2 ]
قوة السمعة:0
قديم 20-05-2013, 09:52 PM المشاركة 6   
افتراضي


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


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 21-05-2013, 05:55 AM المشاركة 7   
افتراضي


هنا ادخلنا ليدين عن الضغط لاول مرة تتغير حالة الليد الاول و عند الضغط مرة اخرى تتغير حالة الليد الثاني و هكذا ...
كود:
void main() 
{trisb=1;trisc=0;trisd=0;portc=0;portd=0;portb=1;
while(1)
        {if(portb.f0==0){  /*اذا تم الضغط على المفتاح*/
                         portc.f0=~portc.f0; /*غير حالة الليد*/
                        while(portb.f0==0){} /*ما دمنا ضاغطين لا تفعل اي شيء*/
                        while(portb.f0==1){} /*ما لم نضغط لا تفعل اي شيء*/
                        portc.f1=~portc.f1;  /*غير حالة الليد الثاني*/
                        while(portb.f0==0){} /*ما دمنا ضاغطين لا تفعل اي شيء*/
                       }
        }

}


zamalkawi
:: مهندس جيد ::
تاريخ التسجيل: May 2013
المشاركات: 270
نشاط [ zamalkawi ]
قوة السمعة:0
قديم 21-05-2013, 07:55 AM المشاركة 8   
افتراضي


تفضل اخي ...
كود:
void main() 
{trisb=1;trisc=0;trisd=0;portc=0;portd=0;portb=1;
while(1)
        {if(portb.f0==0){
                         portc.f0=~portc.f0;
                        while(portb.f0==0){}

                       }
        }

}
شكرا أخ حيدر على الكود
ولي ملحوظة وسؤال:

الملحوظة: أن اللد سيتم تغيير حالته بمجرد رفع الإصبع من على السويتش بعد الضغط عليه، وليس بمجرد الضغط على السويتش، فهل فهمي هذا صحيحا؟

والسؤال: حسب فهمي، فإن البرنامج سيظل يدور في الحلقة اللانهائية الداخلية، إلى أن يتم الضغط على المفتاح وحينها يخرج منها، ليبدأ تنفيذ الوظائف الأخرى (إنارة اللد في هذه الحالة)
والسؤال هو، هذا الكود يبدو فعالا لو أن المايكروكنترولر لا يفعل شيئا سوى إنارة وإطفاء اللد، فماذا لو أن المايكروكنترولر مطلوب منه وظائف أخرى، والتحكم في اللد هو فقط أحد هذه الوظائف، والاستجابة لهذا السويتش هو أحد هذه الوظائف، وتوجد سويتشات أخرى يتعين على المايكروكنترولر الاستجابة لها، وهناك أعمال أخرى يجب القيام بها في الخلفية؟ كيف سيعمل الكود؟ هل هو مناسب لهذه الحالة؟ ولو أنه غير مناسب فهل توجد حلول بديلة؟


التعديل الأخير تم بواسطة : zamalkawi بتاريخ 21-05-2013 الساعة 08:18 AM
إضافة رد

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

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

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


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

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