Professional Documents
Culture Documents
__-.docx
__-.docx
المؤقتات /العدادات
1-12المؤقت TIMER0
1-1-12مزايا المؤقت TIMER0
يمتلك المؤقت TIMER0المزايا التالية:
مؤقت/عداد ذو ثماني خانات.
قابلية القراءة والكتابة.
مقسم قابل للبرمجة ذو ثماني خانات.
مصدر نبضات الساعة داخلي (مؤقت)أو خارجي (عداد)
حدوث مقاطعة عند طفحان المؤقت من القمة FFhإلى .00h
اختيار جبهة القدح الخارجية(صاعدة أو هابطة).
2-1-12بنية المؤقت TIMER0
يبين الشكل ( )12-1المخطط الصندوقي للمؤقت .TIMER0
FPSC / 4 Data bus
0 PSout
1 8
1 Sync with
TOCK TOSE Programmable 0 Internal TMR 0
pin Prescaler Clocks PSout
3 (2 cycle delay
St Interrupt
TOCS PS2, PS1, PS0 PAS Flag bit TOIF
الشكل 1-12مخطط بنية المؤقت Timer 0 on overflow
-182-
و يج أن تتم عملية تصفير العلم T0IFضمن روتين خدمة المقاطعة ISRقبل تمكين هنذه المقاطعنة منرة
أخرى.و ينذكر أن مقاطعنة المؤقنت TMR0ال تسنتطيع إخنراا المعنالن منن نمنط الراحنة ) (Sleepألن هنذا
المؤقت سيكون غير عاا أص عندما يكون المتحكم داخ ي هذا النمط.
5-1-12المؤقت TIMER0في نمط العداد ><Counter
حتى يستخد هذا المؤقت كعداد ينبغي تزويده بنبضات ساعة خارجينة وهننا يجن تنو ير متطلبنات خاصنة
بحيت تضمن تزامن نبضات الساعة الخارجية مع النبضات الداخلية TOSC
كما يج تدمين تدخير زمني قبل زيادة المؤقت بعد حدوث التزامن ).(synchronization
-1تزامن نبضات الساعة الخارجية )(External Clock Synchronization
عنننندما ال ينننتم اسنننتخدا المقسنننم نننإن مننندخل نبضنننات السننناعة الخارجينننة TOCKIيكنننون مسننناويا لخنننرا
المقسم.وتتم عملينة تنزامن النبضنات TOKIمنع النبضنات الداخلينة TOSCبواسنطة أخنذ عيننات (نمذجنة )
) (Samplingمن خرا المقسم (الذي هو نفسم مدخل النبضنات الخارجينة ) ني األدوار Q4,Q2منن أدوار
النبضات الداخلية وذلك كما هو موضح ي الشمل ( ,)12-5حيت توضح األسهم لح ات أخنذ ( النمذجنة )
العينننات لاشننارة TOKIويجن أن تكننون النبضننات YOCKIنني المسننتوى العننالي " "1لفتننرة ال تقننل عننن
( 2TOSCباإلضننا ة إلننى تنندخير زمننني RCقنندره , ) 20nsوكننذلك أن تبقننى نني المسننتوى المنننخف ""0
لفترة ال تقل عن ( 2toscباإلضا ة إلى تدخير زمني RCقدره . ) 20 ns
عنننند اسنننتخدا المقسنننم ينننتم تقسنننيم نبضنننات السننناعة الخارجينننة بواسنننطة عنننداد (زاحنننف غينننر متنننزامن)
( )asynchronous – ripple - counterوحتى ت ئم نبضات الساعة الخارجينة متطلبنات النمذجنة يجن أن
ين ر إلى العداد الزاحف ( ) ripple – counterبعين االعتبار بحيت تكون النبضنات TOCKIذات تنرة ال
تقل عن ( 4TOSCباإلضا ة إلى تدخير زمني RCقدره ) 40 nsألنم سيتم تقسيمها بواسطة المقسم .
إن الشننيء الوحينند المطلننول مننن النبضننات TOCKIهننو أال تتجنناوز تننرة النبضننة العلويننة أو السننفلية منهننا
القيمة .10nsويمكن لمزيد من التفاصيل مراجعة المواصفات الكهربائية للشريحة المدروسنة (البنارامترات
.) 40,41,42
– 2تأخير زيادة المؤقت :)TMRO Increment Delay( TMRO
بمننا أن خننرا المقسننم متننزامن مننع النبضننات الداخليننة إنننم يوجنند تنندخير زمننني بننين لح ننة وصننوا حا ننة
نبضات الساعة الخارجية ولح ة تزايد المؤقت بشكل حقيقي.
6-1-12المقسم Prescaler
المقسم :وهو عبارة عن عداد ذ ثمان خانات يسنتخد لتقسنيم اإلشنارة علنى دخلنم و ن نسنبة تقسنيم محنددة
برمجيا.
ويستخد المقسم لتقسيم النبضات الواردة إليم من المؤقنت TMR0أو منن المؤقنت المراقبنة WDTكمنا هنو
موضح ي الشكل ( )6.2ويعمل ني لح نة منا قنط منع أحند المنؤقتين السنابقين ولنيم منع كليهمنا بواسنطة
الخانة PSAالموجودة ي المسجل .OPTION
أما نسبة التقسيم يتم تحديدها بواسطة الخانات PS0:PS2الموجودة ني المسنجل OPTIONوذلنك كمنا هنو
) CLKOUT ( = Fosc/ 4 موضح ضمن هذا المسجل.
Data Bus
M
0 U 1 8
TOKI pin
X M SYNC
1 0 U 2 TMR0
X Cycles Reg
TOSE TOCS Set TOIF flag bit
PSA On Overflow
8
0
M 8-bit Prescaler
U
1 X
Watchdog
Timer -183-
8-to-1MUX
PSA PS2: PS0
WDT Enable bit
WDT
Time -out
(الشكل 6-12المخطط البنيوي لمقسم المؤقت / TMROالمؤقت )WDT
عندما تتم اإلشارة إلى المؤقت TMR0دن جميع تعليمات الكتابة إلى المسجل TMR0
(مثنل) CLRF TMR0 , MOVWF TMR0, BSF TMR0.Xسنو تمسنح المقسنم (تصنفيره) أمنا عنند
اإلشارة إلى المؤقت WDTإن تعليمة CLRWDTقط هي التي سو تمسح محتنوى المقسنم منع محتنوى
مؤقت المراقبةWDT.
Switching Prescaler Assignment 7-1-12تغير تابعية المقسم
يتم تبديل تابعية المقسم من المؤقت TMROإلى المؤقت WDTأو بالعكم أثناء البرنامن ,ولكي يتم تجنن
حدوث عملية التصفير ( ) resetللشريحة إنم يج إتبال تسلسل منن التعليمنات موضنح ني المثناا ال حن
وذلك عند انتقاا تابعية المقسم من المؤقت TMROإلى .WDTويج إتبال مثنل التسلسنل حتنى إذا لنم ينتم
تمكين المؤقت .WDT
)WDT المثاا :1.12تغير تابعية (Timer0
BSF Status, rpo ; bank1
اختيار مصدر النبضات وقيمة ما لنسبة التقسيم ; 'MOVLW b'xx0x0xxx
MOVWF Option-REG ; bank0
BCF Status, RPO ; bank0
CLRF TMRO تصفير المسجل TMROوالمقسم ;
BSF Status, RP1 ; bank1
اختيار WDTوعد تغير نسبة التقسيم ; 'MOVLW b'xxxx1xxx
MOVWF Option-RGG ;
BCF Status, RPO ; bank0
و نني المثنناا السنناب إذا كانننت نسننبة التقسننيم النهائيننة المرغوبننة هنني غيننر النسننبة 1.1ننإن التع نديل األوا
للمسجل ( OPTION-REGي السطرين )3.2غينر ضنروري .وإذا كاننت نسنبة التقسنيم النهائينة هني 1.1
تحميل قيمة تقسيم مؤقتة ( ي السطرين )2.3هي غير .1.1
أما نسبة التقسيم النهائية يتم تحميلها ي عملية التعديل األخيرة للمسجل .OPTION
)Timer0بإمكاننك أن تسنتخد التسلسنل المتبنع ني المثناا وعندما نريند تغيينر تابعينة المقسنم (WDT
التالي:
)Timer0 المثاا :2.12تغير التابعية(WDT
CLRWDT تصفير المقسم و المؤقت ; WDT
BSF STATUS, RPO ; bank1
'MOVWF b'xxxx0xxx اختيار TMROونسبة تقسيم جديدة ;
;MOVWF OPTION-REG
BCF Status, RPO ; Bank0
Initialization 8-1-12التهيئة
بما أن للمؤقت TMR0مصدرين لنبضات الساعة لذا سيكون لدينا مثالين عن تهيئة هذا المؤقت.
يريننا المثناا األوا كيفينة تهيئنة Timer0ني نمنط المؤقنت ) (timer modeأمنا المثناا الثناني يريننا كيفينة
تهيئة Timer0ي نمط العداد ).(counter mode
المثال Timer Mode : 3.12
CLRF TMR0حجن المقاطعنات ; تصنفير المسنجل TMR0
CLRF INTCON ; BSF STATUS ,PRO وتصفير العلنم ; TOIF
MOVLW 0XC3 حج إمكانية انحياز النا ذة Bنحو األعلى ban1
;
MOVWF OPTION-REG ; وتحديد المقاطعة عند الحا ة الصاعدة
; زيادة Timer0عند النبضات الداخلية
; بنسبة تقسيم 1:16
-184-
BCF STSTUS, PR0 ; bank0
BSF INTCON ,TOIE ; تمكين المقاطعة الخاصة بالمؤقت TIMR0
حالة عد تمكين المقاطعات ;
Wait over BTFSS INTCON, T0IF
GOTO wait-over
حدوث طفحان ي هذه النقطة;
المثال Counter mode :4.12
CLRF TMRO ; تصفير مسجل المؤقت Timer0
CLRF INTCON ; حج المقاطعات وتصفير T0IF
BSF Status, PR0 ; Bank1
يزداد TMR0عند انتقاا النبضات ;
الخارجية TOCKIمن highإلى ; low
; بنسبة تقسيم 1:256
BCF STSTUS, RP0 ; bank0
BSF INTCON, T0IE تمكين مقاطعة ; TMR0
BSF INTCON GIE تمكين المقاطعة العامة ;
حالة عد تمكين المقاطعات;
Wait over BTFSS INTCON, T0IF
GOTO wait-over
حدوث طفحان ي العداد;
Timer 1 المؤقت 2-12
1-2-12مقدمة
المؤقت Timer1هو عبارة عن مؤقت /عداد ذو 16خانة وهو مقسم إلى مسجلين كل منهما ذو 8 bit
هما المسجلين TMR1H, TMR1Lوهمنا قناب ن للقنراءة والكتابنة ) .(Readable And Writableحينت تنتم
زيادة محتويات المسجلين TMR1H: TMR1Lمن القيمة .0000h
أما المقاطعة الطفحان الخاصة بهذا المؤقت تتم اإلشارة إليها بالعلم TMR1IFويمكن حج أو تمكين
هذه المقاطعة بواسطة الخانة TMR1IEالخاصة بتمكين هذا المؤقت .
2-2-12أنماط عمل المؤقت Timer 1
.1نمط المؤقت المتزامن ). (synchronous timer
.2نمط العداد المتزامن ). (synchronous counter
.3نمط العداد غير المتزامن ). (Asynchronous counter
ينتم اختيننار أحنند هننذه األنمنناط برمجيننا بواسننطة خانننات المسننجل T1CONحيننت أن خانننة اختيننار مصنندر
نبضات الساعة هي , TMR1CSوخانة التوقيت هي TISYNCوسنشرح هذا المجل وخاناتم بالتفصيل ي
قرة قادمة .
تزداد ي نمط المؤقت ) (timer modeمحتويات المؤقت Timer 1مع كنل دورة تعليمينة (instruction
) ,cycleأمننا غنني نمننط العننداد ) (counter modeإنننم سننيزداد مننع كننل جبهننة صنناعدة مننن نبضننات السنناعة
الخارجية المطبقة على القط T1CKIهنذا ويمكنن تشنغيل turn onهنذا المؤقنت أو إيقنا عملنم turn off
باستخدا خانة التحكم TMRIONي المسجل .T1CONكمنا ويوجند لهنذا المؤقنت Timer1مندخل تصنفير
داخلي )(internal reset input
وهذه الخاصة يتم استخدامها مع الن ا .CCP
عننندما يننتم تمكننين هننزاز المؤقننت ( Timer1الخننارجي) وذلننك بتفعيننل الخانننة TIOSCENوسننيتحوا
القطبان ( T1OSO, TIOSIويكا ئان القطبين RC1,RC0ي المنتحكم ) PIC16C73إلنى قطبني دخنل وينتم
تجاهل الخانات المناظرة لهما ي المسجل . TRIS
Timer1 3-2-12بنية المؤقت
يبين لنا الشكل 7-12مخططا صندوقيا يمثل البنية الداخلية للمؤقت .Timer1
-185-
Timer Control Register 4-2-12مسجل التحكم TICON
-189-
مالحظة:
عندما تتم تهيئة المؤقت Timer1في نمط العداد غير المتزامن ستستمر عملية زيقادة المسقجلين الخاصقين بهق ا المؤققت
وعندما يحدث طفحان في ه ا المؤقت فإن الخانة TMR1Fسقو تفعقل وإذا كانقت مقاطعقة طفحقان المؤققت Timer1
ممكنة ستحدث عملية إيقاظ المعالج من نمط الراحة.
8-2-12تصفير المؤقت Timer1باستخدام خرج قادح نظام الـ CCP
Resetting Timer1 Using a ccp Trigger Output
إذا تم تهيئة الن ا ccpي نمط المقارننة منن أجنل توليند قنادح سنببي خنا ) (special event triggerنإن
الخانات التالية ستدخذ قيما مقابلة كما ي يلي CCP1M3:CCP1M0=1011
ممننا ينننجم عنننم إشنننارة تقننويم تصننفير المؤقننت Timer1علمنننا أن ذلننك األمننر لننن يننننتن عنننم تفعيننل لعلنننم
المقاطعة .TMR1F
نني ن ننا ccpإنننم يجن تهيئننة و ن أحنند وحتننى يدخننذ المؤقننت Timer1خاصننية القنندح ألسننببي الخننا
النمطين التاليين :المؤقت Timerأو العداد المتزامن()synchronized counter
أما ي حالة نمط العداد غير المتزامن إن عملية التصفير السابقة قد ال تتم ولن يتم استخدامها أبندا و إذا منا
توا حدوث عملية كتابة إلى Timer1مع قدح سببي خا من الن ا ccpستكون األولوية لعملية الكتابة
(.)percedence
و نني هننذا النننمط المسننتخد يصننبح المسننجلين CCPRxH:CCPRxLعبننارة عننن مسننجل تننرة ( Period
)registerللمؤقت .Timer1
مالحظة:
.1لققن يققتم تصققفير المسققجلين TMR1H:TMR1Lعنققد حققدوث التصققفير PORأو أي تصققفير آخققر وال يققتم
تصفيرها إال بواسطة القادح ألسقببي الخقاص .CCPأمقا المسقجل T1CONيقتم تصقفير( ( )00hعنقد التصقفير
P0Rأو B0Rوألجل أي نوع آخر من التصفير فإن ه ا المسجل لن يتأثر.
.2يتم تصفير مقسم المؤقت (Timer1 Prescaler( Timer1عند الكتابة إلى المسجلين
TMR1H:TMR1L
Timer1 9-2-12تهيئة المؤقت
سنننقد ا ن أمثلننة عننن تهيئننة المؤقننت و ن أنمنناط عملننم المختلفننة ,المثنناا األوا منهننا يتحنندث عننن تهيئننة
المؤقت مع مصدر نبضات سناعة داخلني ,والمثناا الثناني يتحندث عنن تهيئنة المؤقنت منع مصندر نبضنات
ساعة خارجي ,أما المثاا األخير هو يتحدث عن تهيئة المؤقت مع نمط الهزاز الخارجي .
المثال : 7-12تهيئة المؤقت Timer1مع مصدر نبضات ساعة داخلي
CLRF T1CON إيقنا المؤقنت ,اختينار مصندر نبضنات سناعة داخلني ,حجن ;
هزاز المؤقت ,نسبة التقسيم ; 1:1
CLRF TMR1H تصفير مسجل المؤقت العلوي ;
CLRF TMR1L تصفير مؤقت المسجل السفلي ;
CLRF INTCON حج المقاطعات ;
BSF STATUS, RP0 ;Bank
CLRF PIE1 حج ن المقاطعننات المحيطيننة ;
BCF STATUS , RP0 ; Bank0
CLRF PIR1 مسح أع المقاطعات المحيطية ;
MOVLW 0X30 اختيار مصدر نبضات الساعة داخلي بنسبة تقسيم ;
MOVWF T1CON 1:8وحج هزاز المؤقت وإيقا المؤقت;
يبدأ المؤقت Timer1بالزيادة ; BSF T1CON TMR1ON
المثال :8-12تهيئة المؤقت مع مصدر نبضات ساعة خارجي( متزامن )
TLRF T1 CON إيقا المؤقت , Timer1اختيار مصدر نبضات ;
داخلي ,حج هزاز المؤقت ,نسبة التقسيم ; 1:1
CLRF TMR1H تصفير مسجل المؤقت العلوي ;
CLRF TMR1L تصفير مؤقت المسجل السفلي ;
CGRF INTCON حج المقاطعات ;
-190-
BSF STATUS, RP0 ;Bank1
CLRF PIE1 حج المقاطعات المحيطية ;
BSF STATUS, RP0 ;Bank0
تمكين مصدر نبضات الساعة الخارجي ,وكذلك ;
دارة الهزاز نسبة تقسيم ; 1:8
ومصدر نبضات الساعة متزامن مع الشريحة وما يزاا المؤقت متوقف ;
بدأ المؤقت بالتزايد ; BSF T1CON , TMR1ON
;
بما أن المقاطعات محجوبة لذلك سنقو بفحص ;
علم الطفحان ;
T1-OVFL-WAIT
BTFSS PIR1, TMR1IF
GO TO T1-OVFL-WAIT
;
حدوث الطفحان وإنجاز العمليات ال زمة ;
;
BCF PIR1, TMR1IF
المثال :9-12تهيئة المؤقت Timer 1مع مصدر نبضات الساعة خارجي (غير متزامن)
CLRF T1CON إيقا المؤقت ; Timer1مصدر نبضات داخلي;
ح هزاز المؤقت ,بسمة التقسيم; 1:1
CLRF TMR1H تصفير مسجل المؤقت العلوي ;
CLRF TMR1L تصفير مسجل المؤقت السفلي ;
CLRF INTCON ; حج المقاطعات
BSF STATUS, RPO ; Bank1
CLRF PIE1 حج المقاطعات المحيطية ;
MOVW 0X3E مصدر نبضات خارجي مع تمكين دارة الهزاز;
بنسبة التقسيم 1:8ومصدر النبضات غير متزامن ;
مع الشريحة والمؤقت ما يزاا متوقفا ;
BSF T1CON ,TMR1ON بنننننندء المؤقننننننت بالتزاينننننند ;
;
بما أنم تم حج مقاطعة الطفحان لذا يتم حص علم الطفحان ;
;
T1-OVFL-WAIT
BTFSS PIR1, TMR1IF
GO TO T1-OVFL –WAIT
;
حدوث طفحان وإجراء العمليات ال زمة ;
;
تصفير علم الطفحان ; BCF PIR1,TMR1F
-191-