Professional Documents
Culture Documents
Les Microcontroleurs
Les Microcontroleurs
تذكير
15 15
14 14
13 13 عداد التصاعدي بدورة كاملة(4قالبات) يعد إلى 15ثم يعود إلى 0تلقائيا
12 12
11 11
10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
0 0
تذكير
256 256
255 255
253 253
….. ……
…. ….
.... …… عداد التصاعدي بدورة كاملة( 8قالبات) يعد إلى 256ثم يعود إلى 0تلقائيا
…. …..
… ……
…. ……
…. …….
… …..
… ……
1 1
0 0
السجـل تذكير
TMRO
256 256
255 255
السجل TMROله ( 8قالبات من نوع )Dيعد إلى 256ثم يعود إلى 0تلقائيا
253 253
….. ……
حيث إشارة الساعة تأتيه من إشارة الساعة للمكر ومراقب لذلك يستعمل في التأجيل
…. …. كما هو الحال في العدادات.
.... ……
…. …..
… ……
…. ……
…. ……. السجل TMROمشفر على 8بيت حيث
… …..
… …… كل بيت عبارة عن قالب D
1 1
0 0
موقع السجل
TMRO
يت
بــ TMROهو سـجل مشرفـ على8
موقع السجل
INTCON
9ي9بدأ ا9لع9د من
0 9ث9م
9ي9ع9ود إ9لى
9ف9يك9ل مرة ي9ع9د 256ث9م
9نه
9يا
256 9ب9دورة ك9املة ا
9تى
TMROهو عبارة عن عداد ي9ع9د ح
9ديد
ج
9خلية TOCS=0
9شارة س9اعة دا
9ستعما9لإا
9ارجية TOCS=19شارة س9اعة خ9ستعما9لإا 9ارجية TOCS=1
9شارة س9اعة خ
9ستعما9لإ
ا
TOCS=1
س9اعة
9ارجية
خ
-سجل OPTION-REG
9خلية TOCS=0
9شارة س9اعة دا
9ستعما9لإا
9ارجية TOCS=19شارة س9اعة خ9ستعما9لإا 9خلية TOCS=0
9شارة س9اعة دا
9ستعما9لإ
ا
TOCS=0
9خلية
س9اعة دا
9ا9لتردد PSA=0
9ستعما9لق9اسم
ا
9ا9لتردد PSA=1
9ستعما9لق9اسم
9اعدم
تذكير
T1=1/f1
القالب D Bascule D T1
D Q
H Q
T=2T1
T=1/f f=1/T
Þf=1/2T1 f=1/2(1/f1
Þf=f1/2
تذكير
إشارة الدخول
256T
إشارة الخروج
T
256xT
T تذكير
000 T1=2T
يرفقT كل دور
001 T2=4T
بتوفيقية
010 T3=8T منطقية
T8=256T
111
8 bit
8 bit
السجل TMRO
TOIF=1
TOIF=0
تذكير
D Q
TD=2T
T
كلما كبر زمن إشارة التوقيت كلما كبر زمن مخرج القالب
D
T TMRO
T
(000)
T TTMRO=2xT
(001)
T TTMRO=4xT
T (010) TTMRO=8xT
(011) TTMRO=16xT
T
(100) TTMRO=32xT
T
T (101) TTMRO=64xT
(110) TTMRO=128xT
T
(111) TTMRO=256xT
T
TOCS=1 PSA=1
استعمال إشارة ساعة خارجية عدم استعمال قاسم التردد
TOCS=0 PSA=0
استعمال إشارة ساعة داخلية استعمال قاسم التردد
T T T T
Led = OFF Led = OFF
T T
GOTO
BCF PORTB, RB0 BCF PORTB, RB0
T T
GOTO boucle
boucle BSF PORTB, RB0
T
BCF PORTB, RB0
T
GOTO boucle
T= Tempo
9يل.
-2مسح بيت TOIFلسجل INTCONحتى يبدأ التأج
-3اختبار بيت TOIFلسجل INTCONفي كل مرة والقفز إذا كان يساوي ( 1عند القفز أي
9يل انتهت وبالتالي يتم تنفيذ التعليمة BCF PORTB , RB0وبالتالي
أن المدة الزمنية للتأج
9فئ المصباح أو ينفذ التعليمة BSF PORTB , RB0وبالتالي يشتعل المصباح في البرنامج ينط
الرئيسي).
إذا أصبح بيت TOIFلسجل INTCONيساوي 1عملية العدد انتهت ويعاد مسح
بيت TOIFمن جديد
البرنامج الفرعي
TEMPO
TEMPO شحن سجل OPTION-REGبقيمة معينة حسب قيمة PER-SCALER
إذا أصبح بيت TOIFلسجل INTCONيساوي 1عملية العدد انتهت ويعاد مسح
بيت TOIFمن جديد
مالحظة هامة:
-1ال يظهر السجل TMROفي البرنامج إذا لم يشحن بقيمة ابتدائية( ألنه يعد إلى 256
9ادات بدورة كاملة).
ثم يعود إلى 0تلقائيا كما هو الحال في العد
-2يظهر السجل TMROفي البرنامج إذا شحن بقيمة ابتدائية( ألنه يجب معرفة قيمة
الشحن االبتدائية).
:تعطى عالقة التأجيل بالعبارة التالية
(TMR0-Ninit)
TEMPO
RETURN
مالحظة :تعتبر القيمة 65536usاكبر قيمة يمكن الحصول عليها.
(8F)16 =(143)10
إذا أردنا الحصولـ على زمن اكبر من
65536usفهناك طريقتان :
-1إما استعمال TMR1
-2استعمالـ حلقة مع TMRO
TMRO استعمال حلقة مع-2
= 1s
= 1s
T=1us×256× (256-0).15
T= 983040uS = 0.98us
RETURN