نظام المؤقت Timer mode- يتم اختيار نظام المؤقت بمسح clear الخانة TOCS(OPTION register, bit 5) .
- فى نظام المؤقت يتزايد السجل TMR0 عند كل دورة تعليمة . ولأن هذا السجل ذو سعة 8-bit فيمكنه العد من الصفر 00 إلى FF (255) , وعندما يصل إلى أقصى قيمة له وهى FF (255) ويتقدم فى التزايد فيلف العد عائدا إلى الصفر 00 وتعرف هذه الحالة بالطفحان overflow (تجاوز الحد الأقصى) ويتم تسجيلها بواسطة الخانة T0IF (Timer0 Interrupt Flag) بالسجل INTCON (Interrupt Control) بجعلها بالقيمة set أى 1 , حيث يمكن لهذه الحالة بدء (توليد) مقاطعة والتى تعرف باسم " المقاطعة بالمؤقت صفر " Timer0 Interrupt إذا ما كانت ممكنة لعمل مقاطعة .
- يتم تمكين المقاطعة بالمؤقت Timer 0 بجعل الخانة T0IE(Timer0 Interrupt Enable)" تمكين المقاطعة بالمؤقت صفر " بسجل التحكم فى المقاطعة INTCON بواحد أى set بالأضافة إلى خانة التمكين العام GIE . هذه المقاطعة هى التى يجب أن تبين أن الوقت إنتهى وتحدث عند حدوث طفحان بالسجل TMR0 .
- يجب مسح clear الخانة TOIF " علم المقاطعة بالمؤقت صفر " بواسطة روتين خدمة المقاطعة بحيث يمكن حدوث مقاطعة بالمؤقت من جديد .
نفترض أن الميكروكونترولر PIC يعمل على مذبذب ساعة بتردد Fosc =4 MHz فإن تردد نبضات ساعة التعليمات سوف تكون Fosc /4 = 1 MHz . نتيجة لذلك يقوم العداد بالتزايد كل واحد ميكروثانية 1 μs بالضبط .وهذا يعنى أن المؤقت Timer 0 سوف يستغرق 256 μs لكى يعد من الصفر إلى الصفر التالى . عن طريق تحميل سجل المؤقت TMR0 بقيمة مسبقة مناسبة يمكن اختيار فترات زمنية أصغر .على سبيل المثال إذا تم تحميل السجل TMR0 مسبقا بالقيمة 206 فإن المؤقت Timer 0 سوف يحدث له طفحان بعد 50 μs فقط . علاوة على ذلك يوجد قاسم تردد مبرمج بسعة 8-bit يعرف باسم prescaler "المقياس المسبق " أو " معامل القسمة " وهو متاح لقياس الفترات الزمنية الطويلة . والمقياس المسبق هو دائرة قسمة تقع بين مصدر نبضات الساعة والمؤقت وتقوم بقسمة التردد الداخل على قيمة من ثمانى قيم ثنائية تقع ما بين القيمة 2 والقيمة 256 .إذا كان تردد نبضات ساعة التعليمات 1MHz فإن أقصى فترة زمنية سوف تكون 256 x 256 μs = 65.536 ms وهى التى تناظر معمل قسمة 256 . قيم معامل القسمة يتم اختيارها برمجيا بواسطة الخانات PS0, PS1,PS2 " خانات اختيار معامل القسمة " بالسجل OPTION . من أجل تخصيص استخدام معامل القسمة مع موديول المؤقت Timer 0 يجب مسح clear = 0 الخانة PSA " تخصيص معامل القسمة " . إما إذا كانت الخانة PSA بواحد set = 1 فلا يتم تخصيص أى معامل قسمة لموديول المؤقت . فيما يلى تفاصيل السجل OPTION_REG والسجل INTCON : نظام العداد Counter Mode
__________________
angel4angel4angel4angel4angel4
|