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

   

Ahmed Waheed
:: مهندس ::
تاريخ التسجيل: Oct 2006
المشاركات: 15
نشاط [ Ahmed Waheed ]
قوة السمعة:
قديم 06-08-2014, 07:31 PM المشاركة 9   
افتراضي



ممكن تذكر ماهى وظيفة التايمر فى المشروع بالضبط؟

اعلانات

الصورة الرمزية المخترع01
المخترع01
:: مهندس متميز ::
تاريخ التسجيل: Dec 2009
المشاركات: 397
نشاط [ المخترع01 ]
قوة السمعة:
قديم 07-08-2014, 12:37 AM المشاركة 10   
افتراضي


السلام المشروع هو عداد الاجرة

هذا هو الرابط للمشروع

lien1

ذا دخا مايكرو في وضع sleep فأنه لايمكن ان يعود مايكرو للعمل الا عن طريق انتربت وبطبع تايمرات كلها سوف تتوقف لان هزاز او كرستاله سوف تتوقف وبطبع هنا سوف نستخدم سويج على RB0 ونقون بتفعيل انتربت اي مقاطعه عند حدوث تغير جهد على RB0

INT0IE_bit=1;//Enables the INT0 external interrupt
INTEDG0_bit=0;//Interrupt on falling edge

هذا بالنسبة للانربة التي لم اجد ما يعدلها في الاتميغا

في داله انتربت
if(INT0F_bit==1)
{
on_off=~on_off;
INT0F_bit=0;
}
هنا مت


T1CON = 0x01;
TMR1IF_bit = 0;
TMR1H = 0xF0;
TMR1L = 0x60;
TMR1IE_bit = 1;
INTCON = 0xC0;
}

//************************ read from computer ******************************//
void Interrupt()
{

if ( TMR1IF_bit)
{
TMR1IF_bit = 0;
TMR1H = 0xF0;
TMR1L = 0x60;
طيب و هذا شرخ من الاخ خسن هادي مخمود

هذا الكود انتربت للتايمر1 وهنا اريد حصول على ازمنه للسويجات وغيرها يعني انت لما تضغط على سويج لابد من انتظار فتره وبعدها مايكرو ينفذ اوامر مثلا نقول 250ms ولكن هذا الزمن يعرقل عمل سفن سكمنت وعلاوه على ذلك لاينفذ مايكرو شيئ خلال فتره تأخير وعليه أستخدمنا تايمر 1 للتوليد ازمنه وهنا لما اضغط على سويج مثلا sw_set عندها اخبره اجعل sw_set_flag=1 ومتغير )sw_set_cont يقوم بأحتساب زمن مثلا 250ms هذه طريقه
1- لاتؤخر عمل مايكرو
2- لايؤثر على عمل سفن سكمنت

ولكن كيف يحتسب زمن مثى 250ms
في مشروع الذي ارفقته لك يحدث انتربت كل 2ms وبتالي للحصول على زمن 250ms اذن متغير sw_set_cont=250/2=125
وفي الكود نختبر هل sw_set_cont اصبح اكبر من 125 فأذا كان نعم قم بتنفيذ اوامر سويج
كما أخبرتك توليد ازمنه بهذه طريقه يجعل مايكرو يقوم بعده مهام دون ان تؤثر احدهما اخرى افضل من أستخدام الامر delay الذي يجمد مايكرو ولا يدعه بالقيام بوظائف اخرى كأن مثلا عندما ضغطت على سويج تريد اثناء ذلك يراقب درجه حراره وبالطبع استخدام الامر delay راح يجبر مايكرو على انتظار اما توليد زمن عبر انتربت فلا يؤخر مايكرو عمله
تحياتي

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

الصورة الرمزية المخترع01
المخترع01
:: مهندس متميز ::
تاريخ التسجيل: Dec 2009
المشاركات: 397
نشاط [ المخترع01 ]
قوة السمعة:
قديم 10-08-2014, 12:23 PM المشاركة 11   
ha


هل من مساعدة



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