عرض مشاركة واحدة
  #1  
قديم 09-27-2011, 05:15 AM
 
طريقة التعامل مع المؤقت / العداد tmr0

طريقة التعامل مع المؤقت / العداد TMR0
المؤقت TMR0 له مجموعة واسعة من التطبيقات العملية .
قليل جدا من البرامج لا تستخدمه بطريقة أو بأخرى .من المريح والسهل جدا استخدامه لكتابة البرامج أو البرامج الفرعية لتوليد نبضات بمدة زمنية محددة أوقياس الوقت أو فى عد النبضات (الأحداث) الخارجية .
وحدة (موديول) المؤقت TMR0 هى مؤقت / عداد ذات 8 خانات 8-bit timer/counter بالخصائص التالية :
  • مؤقت /عداد ذات ثمانى خانات .
  • يعمل معه " المقياس المسبق " أو "معامل القسمة" prescaler ذو ثمانى خانات (بالتقاسم مع مؤقت الحراسة WDT )
  • قابل للبرمجة لااستخدام مصدر نبضات ساعة clock داخلى أو خارجى .
  • يسبب مقاطعة عند حدوث طفحان (تجاوز حده الأقصى ) overflow .
  • قابل للبرمجة لاختيار حافة نبضات الساعة الخارجية .

الشكل التالى يبين مخطط للمؤقت TMR0 بجميع الخانات التى تحدد عمله . هذه الخانات تخزن (تحفظ) فى السجل OPTION_REG .








السجل OPTION_REG .


وصف الخانات :
  • RBPU : خانة تمكين مقاومات السحب لأعلا للمنفذ PORTB .
1 : عدم تمكين مقاومات السحب لأعلى للمنفذ PORTB.
0 : تمكين توصيل أطراف المنفذ PORTB بمقاومات السحب لأعلى الداخلية .

  • INTEDG : خانة "اختيار حافة المقاطعة "
1: المقاطعة عند الحافة الصاعدة على طرف المقاطعة INT pin أى التحول من الحالة المنخفضة إلى الحالة المرتفعة (0-1).
0 : المقاطعة عند الحافة الهابطة على طرف المقاطعة INT pin أى عند التحول من الحالة المرتفعة إلى الحالة المنخفضة (1-0) .
  • T0CS: خانة اختيار ساعة المؤقت TMR0 .
1 : تصل النبضات إلى دخل المؤقت / العداد TMR0 من خلال الطرف RA4 .
0 : يستخدم المؤقت ساعة الدورة الداخلية (Fosc/4) .
  • T0SE : خانة اختيار حافة مصدر المؤقت TMR0 .
1 : تزايد عند الانتقال من الحالة المرتفعة إلى الحالة المنخفضة على طرف المؤقت TMR0 .
0 : تزايد عند الانتقال من الحالة المنخفضة إلى الحالة المرتفعة على طرف المؤقت TMR0 .
  • PSA : خانة تخصيص "المقياس المسبق " Prescaler .
1: تخصيص Prescaler لمؤقت الحراسة WDT .
0 : تخصيص Prescaler للمؤقت / العداد TMR0 .
  • PS2, PS1, PS0 : خانات اختيار معدل Prescaler .
يتم ضبط Prescaler بعمل توليفة من الثلاثة خانات . كما ترى من الجدول التالى نفس توليفة الخانات تعطى معدل Prescaler مختلف لكل من المؤقت / العداد ومؤقت الحراسة على الترتيب .




عند مسح خانة اختيار التخصيص PSA يخصص prescaler للمؤقت / العداد TMR0 كما هو مبين بالشكل التالى :



دعنا نفعل ذلك بالمترجم mikroC :
__________________
angel4angel4angel4angel4angel4
رد مع اقتباس