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

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

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 10-02-2013, 02:23 PM المشاركة 1   
افتراضي سؤال بخصوص ADC والمقاطعة Twitter FaceBook Google+



اذا كان عندي اكثر من مدخل للADC , وفعلت المقاطعة طيب لما يخلص ADC راح يروح لبرنامج المقاطعة طيب هل نستطيع الفرقة بينها اي وحدة يعني ADC1 or ADC2 or ADC3

اعلانات

Mohammedalharbi
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2012
المشاركات: 58
نشاط [ Mohammedalharbi ]
قوة السمعة:0
قديم 10-02-2013, 09:36 PM المشاركة 2   
افتراضي


السلام عليكم
ال ADC عبارة عن multiplexer بمعنى انه ياخذ القراءة من كل قناة بالترتيب (على حسب الكود) ويبدا بعملية التحويل. مثلاُ لو كان عندنا كود وقمنا بقراءة (AN4), ثم AN5) كالتالي:
كود:
:
:
unsigned An4;
unsigned An5;
An4 = ADC_Read(4);
An5 = ADC_Read(5);
:
:
راح يبدا البيك بتحويل القراءة لقناة 4. عند الانتهاء من التحويل, يفعل المقاطعة الخاصة بالانتهاء من التحويل وراح تصير قيمتها بواحد (ADIF=1). وبعد كذا يدخل في دالة المقاطعة اذا كانت المقاطعة العامه مفعلة ( PEIE=1 و GIE=1 ). وراح ينفذ المهام المطلوبه تحت دالة المقاطعة. طبعاُ على حسب ماهو مكتوب في الداتا شيت, ان ADIF لازم تصفر في الكود (ADIF=0) حتى تستطيع الخروج من داله المقاطعة والرجوع الى الدالة الرئيسية وقراءة القناة التالية (AN5)..وكذا تتم نفس العملية لكل قناة.

ملاحظة , اغلب اكواد التحويل لل ADC تعتمد على قراءة GO/DONE bit او ADIF بدون الحاجة الى دالة المقاطعة. هذا لايعني ان استخدام دالة المقاطعة خطا,ولكن استخدام دالة المقاطعة ياخذ وقت اطول وتعقيد اكثر خصوصا عندما تكون القراءة لاكثر من قناة.

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

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 11-02-2013, 10:11 AM المشاركة 3   
افتراضي


بارك الله فيك اخي محمد والله يوفق دنيا واخرة

إضافة رد

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

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

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


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

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