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

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

يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:0
قديم 18-06-2017, 08:57 PM المشاركة 1   
افتراضي سؤال حول البيك pic16f628 Twitter FaceBook Google+



السلام عليكم


عند كتابة مشروع عداد كل ثانية يعطي خرج 5فولت على الطرف RB1للبيك ويتوقف واحد ثانية
مع العلم مذبذب الكريستال هو 20ميغاهيرتز
فإنه في الواقع يكون الزمن تقريبا 1.8ثانية للتشغيل و 1.8ثانية للايقاف


السؤال
لماذا زاد زمن البيك؟؟؟
مع العلم اني كتبت البرنامج على اساس الزمن واحد ثانية
وتأكدت من المذبذب اثناء البرمجة
ماهو سبب زيادة الزمن
ولكم جزيل الشكر

اعلانات

محمد إلياس
:: مهندس جيد ::
تاريخ التسجيل: Jan 2017
المشاركات: 230
نشاط [ محمد إلياس ]
قوة السمعة:0
قديم 18-06-2017, 09:11 PM المشاركة 2   
افتراضي


السلام عليكم
لحساب زمن التشغيل وزمن الإطفاء.
هل استخدمت تعليمات delay أم شغلت مقاطعة التايمر لحساب الزمن؟

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

يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:0
قديم 18-06-2017, 09:25 PM المشاركة 3   
افتراضي


استخدمت تعليمات delay


محمد إلياس
:: مهندس جيد ::
تاريخ التسجيل: Jan 2017
المشاركات: 230
نشاط [ محمد إلياس ]
قوة السمعة:0
قديم 18-06-2017, 10:52 PM المشاركة 4   
افتراضي


تعليمة delay غير دقيقة .
هي في الواقع مجموعة تعليمات غير مرئية لايمكن التحكم فيها في لغة السي، ينفذها البرنامج وتستغرق وقتا أطول مما هو متوقع.
ولذلك إما تحدد الزمن بواسطة التجربة
أو تستخدم مقاطعة التايمر

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

الصورة الرمزية abdoo_sy
abdoo_sy
:: مهندس ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 31
نشاط [ abdoo_sy ]
قوة السمعة:0
قديم 18-06-2017, 11:40 PM المشاركة 5   
افتراضي


اخي استخدم التايمر1 افضل لأن تعليمة الdelay ليست دقيقة تماماً


الصورة الرمزية abdoo_sy
abdoo_sy
:: مهندس ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 31
نشاط [ abdoo_sy ]
قوة السمعة:0
قديم 18-06-2017, 11:47 PM المشاركة 6   
افتراضي


اخي استخدم التايمر1 افضل لأن تعليمة الdelay ليست دقيقة تماماً


يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:0
قديم 19-06-2017, 04:04 AM المشاركة 7   
افتراضي


السلام عليكم

انني جديد في البرمجة ولا اعلم شيء عن التايمر 1 أو مقاطعة التايمر

هل يوجد تايمر داخلي في هذا البيك ؟؟؟
هل في هذه الحالة من الضروري ربط مذبذب كريستال 20ميغا على الاطراف 15-16 ؟؟؟

لو سمحتم اريد كود لتشغيل ليد لمدة ثانية واطفائه مدة ثانية بإستخدام مقاطعة التايمر
لو تكرمتم شرح مفصل للتايمر؟؟؟

وشكرا لكم


الصورة الرمزية abdoo_sy
abdoo_sy
:: مهندس ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 31
نشاط [ abdoo_sy ]
قوة السمعة:0
قديم 19-06-2017, 10:20 AM المشاركة 8   
افتراضي


جرب كتابة الكود التالي فيمكن انك اخطأت بكتابة الكود :::
كود:
  void main(){
trisb=0;trisa=0;
portb=0;porta=0;for(;;){
 portb=255;porta=255;delay_ms(1000);portb=0;porta=0;delay_ms(1000)

;};}

إضافة رد

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

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

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


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

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