قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الاليقسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots
لدي سؤال : متى أستخدم الساعة الداخلية للمتحكم ومتى أستخدم ساعة خارجية
؟؟
1: يكون الاختيار حسب نوعية الوظيفة المطلوبة من الدارة.. وان كان استعمال السجل tmr0 كمؤقت داخلي (timer) افيد ربما. فهو يمكن من الاستفادة من خدمات مذبذب المتحكم، خاصة اذا كان بكوارتز (كريسالة). مما يغني عن البحث عن مصدر آخر لتوليد النبضات . لكن لكل حالة متطلباتها.. 2: ا- اذا تم اعداد السجل tmr0 للمتحكم 16F84 كعداد داخلي (timer)، يكون حساب F ( اي عدد المرات التي يعود فيها الى الصفر مكملا دورة عد 256 ) وفق الصيغة التالية: F (بالهرتز) = تردد مذبذب المتحكم / (4 x 256 x معامل التدرج) معامل التدرج ( Prescaler) يمكن ان يكون 2، 4، 8، 16،...او 256. وفي هذه الحالة يكون الافيد التحدث عن مدة الدورات بدل تردد النبضات .. وكما هو معلروف فان المدة t(بالثانية s اذا كانت F بالهرتز Hz) تساوي مقلوب التردد: F = 1/t ب- اما اذا تم اعداد tmr0 كعداد يستقبل نبضات خارجية فان F تساوي: تردد الاشارة الخارجية / ( 256 x معامل التدرج). 3: - السجلان المرتبطان باعداد السجل tmr0 هما حسب الحالة: OPTION_REG او INTCON او هما معا.. دون نسيان سجل التراكم: W - يمكن جعل العداد tmr0 ينطلق من اي رقم نحدده اقل من 256
بسم الله الرحمن الرحيم و الصلاة على محمد الهادي الأمين .
أما بعــد:
ليستغل المهندس أو الهاوي جيدا المتحكم (الميكروكنترولر)عليه أن يفهم المعالج(الميكروبروسيسور) . فبينهما فرق كبير فالثاني أساس الأول و الأول ما هو الا تبسيط للثاني و تخصيص له كي يعمل في ميدان بعينه.
فبعض المتحكمات بها منافذ تسلسلية و متوازية و قد يكون بها عاكس جهد تماثلي رقمي أو مقارن جهد تماثلي أو ......الخ.
إذا العداد الموجود بالمتحكم (16F84) و الذي يرمز له (Timer0) ما هو الا زيادة و يمكن الاستغناء عنه دون مشكلة و ليس شرط أن نعمل به .
فإذا كان المراد قياس الزمن أو مدة ظاهرة ما عندها يحبذ وصل العداد بنبظات الساعة الداخلية من باب التبسيط فقـــــط.طبعا و الساعة هنا تعمل سواء استعملنا العداد أم لا ..و في هذه الحالة فإن (Timer0) من الأحسن أن يسمى مؤقت (TIMER) هنا بالمفهوم اللغوي .طبعا و لا مانع من ادخال نبظات خارجية للمؤقت كي يقيس الزمن (ربما لأنها أدق أو أبطأ أو .....)
أما إذا أردنا قياس التردد (Frequency) .. و قياس التردد يعني فيزيائيا حساب عدد النبظات أو التغيرات في مدة معينة ، عادة هي واحد ثانية و عندها تصبح و حدة التردد (الهرتزHZ) هنا يوصل (Timer0) بذلك المنبع الخارجي ، و غني عن البيان أنه لا معنى أن تصله بالمنبع الداخلي لأنك تعرف سلفا تردد الساعة (سواء كانت كوارتز أو سيراميك أو عنصري مقاومة و مكثفة)..و في هذه الحالة نصفه بأنه عداد (counter) .
ربما أحيانا نحتاج لاضاعة الوقت داخل البرنامج و دون أن يكون المتحكم أثناءها ينجز أي عمل ، في هذه الحالة فإننا عوض استخدام المؤقت نستخدم برنامجا يضيع فيه الوقت في حلقة لا تنجز شيئا .
إن العداد (Timer0) له طول خاص و هو 8 بت أنه يعد 256 نبظة كي يرجع للبداية .. هناك عدادات طولها أكبر 16 بت أي أنها تعد 65536 نبظة حتى ترجع للبداية من الصفر .. و يجب أن تعرف أن له زمن استجابة محدود فلا يمكنه عد ترددات تفوق أو تتساوى مع تردد ساعة المتحكم أيا كانت .. و يجب أن تكون الجهود الداخلة له متوافقة لحد بعيد و المعيار (TTL) .. و من الأحسن دوما توظيف المقاطعة . فهي تتيح لك مرونة أكبر .
و السلام عليكم و رحمة الله.
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:15 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)