 |
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
|
|
نشاط [ F.Abdelaziz ]
قوة السمعة:333
|
|
22-03-2011, 10:14 PM
المشاركة 3
|
|
4- المؤقتات Timers - يمتلك الميكروكونترولر PIC16F877 ثلاثة أجهزة مؤقتات hardware . تستخدم هذه المؤقتات
فى تنفيذ عمليات التوقيت فى نفس الوقت simultaneously مع البرنامج وذلك لجعل البرنامج أسرع وأكثر كفاءة(فعالية).مثال ذلك توليد نبضة كل ثانية فى أحد المخارج . - يستخدم المؤقت Timer0 سجل 8-bit هو السجل المسمى TMR0 وعنوانه 01 .
خرج هذا السجل يكون على شكل " علم الطفحان" overflow flag والذى يؤثر فى خانة تسمى T0IF وهى الخانة bit 2 فى "سجل التحكم بالمقاطعة" INTCON وعنوانه 0B . - يتزايد سجل المؤقت عن طريق دخول نبضات الساعة إما من داخل الميكروكونترولر (fosc) أو من
مصدر نبضات خارجى على الطرف RA4. - يقوم السجل بالعد من 0 إلى 255( 255 = FF = 11111111) فى شكل ثنائى ثم يلف مرة أخرى
فيقوم بالعد من 0 من جديد . عندما ينتقل السجل من FF إلى 00 يتسبب فى جعل خانة علم المقاطعة بالمؤقت T0IF فى الحالة المرتفعة set =1 . - إذا تم استخدام الساعة الداخلية يعمل السجل بمثابة موقت timer.
- كل تعليمة من تعليمات الميكروكونترولر تأخذ أربع دورات لنبضات الساعة fosc (تردد الكريستال )
لذلك فإن نبضات الساعة للتعليمات تكون fosc/4 ( تردد عمل الميكروكونترولر ).
يتم تشغيل المؤقت من نبضات الساعة للتعليمات أىfosc/4 والتي يمكن مراقبتها خارجيا من على الطرف CLKOUT إذا كانت الشريحة تعمل بساعة من النوع RC . - إذا تم تحميل سجل المؤقت مسبقا بقيمة ولتكن على سبيل المثال 155d , فإن المؤقت سوف يقوم
بعد 100 نبضة ساعة حتى تصل الخانة T0IF لحالة set(255-155=100). فإذا تم تشغيل الشريحة من كريستال بتردد fosc = 4MHz فإن تردد نبضات ساعة التعليمات سوف يكون fosc/4 = 4/1 = 1 MHz وسوف يحدث طفحان overflow بعد 100 S.وإذا تم استخدام هذه النبضات فى تحويل مخرج فسوف نحصل على إشارة بزمن دورى هو 2 X100 = 200 S أى بتردد F = 1/T = 5kHz .يمكن عد (حساب) النبضات الخارجية وقراءة العداد من سجل المؤقت عندما ينتهى أو قراءة البدء (الإشعال) بإشارة خارجية .وهكذا يمكن أيضا أن يستخدم المؤقت كعداد . - يرتبط بعمل سجل المؤقت سجل آخر هو سجل pre-scale"التدريج المسبق" أو "معامل القسمة"
هذا السجل هو سجل قسمة على عامل قدره N حيث N = 2 ,4 ,8 , 16 , 46 , 128 , 256 ، وهذا يعني أنه يتم خفض معدل العد فى الخرج بقيمة هذا العامل. يؤدى ذلك إلى تمديد فترة العد أو العدد الإجمالي بنفس النسبة، وإعطاء أكبر مدى rangللقياس.
توجد خانات اختيار معامل القسمة pre-scale وخانات التحكم الأخرى للمؤقت Timer0 فى سجل الخيارات OPTION_REG .
الجدول التالى يبين بعض تفاصيل إعدادات المؤقت Timer0
|