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

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

tanawy
:: مهندس ::
تاريخ التسجيل: Nov 2011
المشاركات: 11
نشاط [ tanawy ]
قوة السمعة:0
قديم 09-12-2012, 08:53 AM المشاركة 1   
افتراضي استفسار هام فى الميكروسى Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
انا استفسر عن كود يجعل البك يؤدى امرين او وظيفتين فى وقت واحد
مثال
ليد مربوط على b0 مطلوب ان يضئ ويطفئ كل واحد ثانية فى نفس الوقت يوجد ليد اخر مربوط على الطرف c7 مطلوب ان يضئ ويطفئ كل 5 ثوانى
مع العلم ان اوامر الليد الاول ليس لها علاقة باوامر الليد الثانى ولا يدخلو الاثنين معاً فى حلقة تكرارية واحدة
اى ان المطلوب عمل حلقتين تكراريتين منفصلتين يعملان فى نفس التوقيت

وبارك الله فيكم جميعا وجزاكم خير الجزاء

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 09-12-2012, 09:30 AM المشاركة 2   
افتراضي


جرب هذا الكود ...

كود:
char i=0;
void led1()
         {
          portb.f0=~portb.f0;
          delay_ms(1000);
         }
 void led2()
         {
         portb.f1=~portb.f1;
         }
void main()
 {trisa=3;trisb=0;portb=0;
 while(1)
         {
          for(i=0;i<6;i++)
          led1();
          led2();
         }

}

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

tanawy
:: مهندس ::
تاريخ التسجيل: Nov 2011
المشاركات: 11
نشاط [ tanawy ]
قوة السمعة:0
قديم 09-12-2012, 10:14 AM المشاركة 3   
افتراضي


اخى حيدر جزاكم الله خير الجزاء على هذا الكود والرد السريع والاهتمام والكود يعمل مائة بالمائة
ولكن اخى انا لا اريد ان اجعل الاكواد داخل حلقة(while) واحدة وانما اريد ان اجعل كل كود على حده داخل حلقة مستقلة والحلقتين يعملان بنفس الوقت
يعنى يكون هناك حلقتين while او for او go to يعملان بنفس الوقت وكل حلقة تختص بليد واحد فقط
فهل هذا ممكن ؟
وشكرا لاهتمامك


SmartElectronic
:: مهندس ::
تاريخ التسجيل: Jan 2011
الدولة: Tenth of Ramadan
المشاركات: 30
نشاط [ SmartElectronic ]
قوة السمعة:0
قديم 09-12-2012, 01:24 PM المشاركة 4   
افتراضي


السلام عليكم ورحمة الله وبركاته
انا استفسر عن كود يجعل البك يؤدى امرين او وظيفتين فى وقت واحد
مثال
ليد مربوط على b0 مطلوب ان يضئ ويطفئ كل واحد ثانية فى نفس الوقت يوجد ليد اخر مربوط على الطرف c7 مطلوب ان يضئ ويطفئ كل 5 ثوانى
مع العلم ان اوامر الليد الاول ليس لها علاقة باوامر الليد الثانى ولا يدخلو الاثنين معاً فى حلقة تكرارية واحدة
اى ان المطلوب عمل حلقتين تكراريتين منفصلتين يعملان فى نفس التوقيت

وبارك الله فيكم جميعا وجزاكم خير الجزاء
افضل حل استخدام timer interrupt


الصورة الرمزية avip
avip
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2010
المشاركات: 199
نشاط [ avip ]
قوة السمعة:0
قديم 10-12-2012, 08:19 AM المشاركة 5   
افتراضي


كيف استخدام timer interrupt


الصورة الرمزية ibn al islam
ibn al islam
:: عضو فضي ::
تاريخ التسجيل: Sep 2012
الدولة: tunisia
المشاركات: 612
نشاط [ ibn al islam ]
قوة السمعة:80
قديم 10-12-2012, 10:43 AM المشاركة 6   
افتراضي


السلام عليكم

هل تقصد ان ينفذ حلقتين while(1) l فى نفس الوقت اعتقد ان هذا غير ممكن

الا اذا و جدت حل برمجى يمكنك من الخروج من تنفيذ while(1) l الاولى ثم تنفيذ اوامر while(1) l

الثانية ثم الخروج من while(1) l الثانية و تنفيذ اوامر while(1) l الاولى و هكذا

إضافة رد

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

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

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


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

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