كيف يتم تحميل قيمة ثابتة لTMR1

S

scdoro

Guest
مرحبا ،
وأود Timer1 (16bit) ليكون بمثابة مكافحة wld في الموافقة المسبقة عن علم
، ومثل ذلك لبدء العد 50000 حتي 65536.أود أن أعرف كيف يمكنني تحميل هذه القيمة إلى مكافحة للحصول على 10ms المقاطعة عندما تجاوز باستخدام لغة التجميع..
شكرا

 
مرحبا!

مجرد استخدام هذه التعليمات التجمع :

MOVLW C3h ؛ البايت عالية من 50000 العشرية (C350h)
MOVWF TMR1H
MOVLW 50h ؛ البايت انخفاض من 50000 العشرية
MOVWF TMR1L

نظرا لأنه سيتم الاعتماد 65535 -- 50000 = 15535 الخطوات في 4MHz الرئيسية على مدار الساعة وprescaler تعيين إلى 1 ، فإنه لن أعطيك 10ms ، ولكن 15.535 مللي ثانية ، إلا إذا كنت تستخدم xtal 6.2MHz.
بدلا من ذلك ، تحميل TMR1 مع 55535 (D8EFh) وسوف TMR1 بعد تجاوز 10000 بحساب stepsor.

نتذكر أيضا لديك بعض الإرشادات العامة بعد مقاطعة الحدث ، وذلك ربما لديك لانخفاض قيمة تحميلها في TMR1L.

 

Welcome to EDABoard.com

Sponsor

Back
Top