المتحكم المصغر ATmega08
مقدمة:6.1
- تمر البشرية في السنوات الأخيرة بمرحلة مميزة من التطور والتي لم تشهد لها مثيلا من قبل من حيث النوع وسرعة التطور والنواحي التي يشهدها هذا التطور، هذا التطور يمكن أن يسمى بالثورة التكنولوجية.
- كما ميزت الثورة الصناعية القرن التاسع عشر، فإن هذا القرن هو بدون شك هو قرن الإلكترونيات والمعلومات، مع ما ترافق مع هذين الفرعين من العلوم من تطور في كل النواحي الحياتية العلمية وما تبعها من علوم أخرى بدون استـثـناء, أضف إلى ذلك ما تم إنجازه من أجهزة مختلفة تستخدم في شتى التطبيقات.
- لقد ساهم التطور السريع في صناعة العناصر الإلكترونية والمنطقية والمعالجات وذلك بالإضافة إلى تدني أسعارها باستمرار، ساهم بدفع التقدم التقني بكل نواحيه بخطوات سريعة إلى الأمام وهذه الخطوات كانت نواة التقدم المتواصل والتطور المتلاحق والتي أعطت إمكانية إنجاز وظائف حسابية ومنطقية بسهولة.
- إن تطور المتحكمات المصغرة ( MICROCONTROLLERS) ساهم وبشكل فعال بدفع عجلة التطور في حقل الإلكترونيات والمعلومات، وتحتل المعالجات في الأجهزة الإلكترونية موقع العقل البشري من الجسم البشري من حيث الإدارة والتحكم.
- في السنوات الأخيرة غدت المتحكمات الصغرية الجزء الأساسي والهام في أي جهاز أو نظام، فهي متوفرة في متناول الجميع ومفروضة علينا بشكل أو بآخر وفي كافة مجالات الحياة اليومية حيث نجدها في مفكرة الجيب الإلكترونية والآلة الحاسبة والهواتف بمختلف أشكالها ودارات التحكم وأجهزة الفيديو والمسجلات ...الخ.
الفرق بين المعالج والمتحكم المصغر:6.2
1- المعالج:عبارة عن وحدة معالجة مركزية فقط، وبالتالي لمعالجة بيانات دخل معينة نحتاج لوحدات ملائمة, وللتطبيقات الزمنية نحتاج مؤقت خارجي, أيضاً نحتاج لوصل ذاكرة خارجية لتخزين البرنامج ولمعالجة الإشارات التشابهية نحتاج لمبدلات تشابهية رقمية ........الخ
يبيين الشكل التالي المعالج ووصله مع العناصر المحيطة والتي تكون منفصلة عنه فيزيائياً
2- المتحكم المصغر:
عبارة عن مجموعة متكاملة من العناصر المحيطية حيث تتضمن شريحة المتحكم بالإضافة للمعالج ذواكر داخلية, عناصر دخل/خرج, مؤقتات, مبدلات تشابهية رقمية, مقارنات, الخ .......و بالتالي فالمتحكم لا يحتاج لأي عناصر خارجية, يبين الشكل التالي المخطط الصندوقي للمتحكم المصغر.
6.3 أنواع المتحكمات المصغرة:
تتنافس العديد من الشركات في إنتاج وتطوير المتحكمات المصغرة, وعليه فإننا نجد الكثير من المتحكمات المصغرة في الأسواق مثل متحكمات MOTOROLA, PHILIPS, SIMENS, ولكن أكثر المتحكمات المنتشرة محلياً هي متحكمات ATMEL, MICROCHIP.
انتشرت بشكل واسع متحكمات MICROCHIP نتيجة ظهورها قبل الأنواع الأخرى, ويمكن برمجتها بثلاث و ثلاثين تعليمة أسمبلي فقط, ولكن سرعان ما قامت شركة ATMEL بطرح متحكماتها الجديدة والمنافسة بقوة لمتحكمات MICROCHIP, ضمن تشكيلة واسعة من المتحكمات بأحجام وسعات ذاكرة مختلفة وسرعات معالجة عديدة.
6.4 المتحكم المصغر Atmega08L:
6.4.1 المزايا :
يتمتع المتحكم (MCU) ATMEGA08 بالمزايا والمواصفات التالية :
• استخدمت عائلة AVR مزايا بنية RISC المحسنة.
• تتمتع عائلة AVR بالأداء العالي وبطاقة بنية RISC المنخفضة.
- تحتوي قائمة التعليمات على 118 تعليمة, ينفذ معظمها خلال دورة آلة واحدة.
- اثنان وثلاثون مسجل عمل تستخدم للأغراض العامة.
- سرعة التنفيذ تصل إلى 8 مليون تعليمة في الثانية عند تردد قدره 8MHz.
• ذاكرة معطيات وذاكرة برنامج غير قابلة للزوال.
- ذاكرة برنامج وميضية مبنية داخل الشريحة حجمها 4Kbyte قابلة لإعادة البرمجة.
- الديمومة :1000 دورة كتابة / مسح.
-ذاكرة معطيات داخلية RAM بطول 128byte.
-ذاكرة معطيات EEPROM بطول 256 bytes.
- أقفال برمجية لحماية كل من ذاكرة البرنامج الوميضية وذاكرة المعطيات .
• المزايا المحيطية :
- مؤقت/عداد بطول 8-bit بمقسم تردد prescaler منفصل .
- مؤقت/عداد بطول 16-bit بمقسم تردد prescaler منفصل .
- مقارن تشابهي مبني على شريحة المتحكم MCU .
- نافذة تسلسلية ثنائية الاتجاه UART .
- ست قنوات للتحويل التشابهي الرقمي ADC بدقة 10-BIT .
• مزايا المتحكم الخاصة :
- نمط البطالة ذو الطاقة القليلة و نمط الطاقة المنخفضة .
- مصادر المقاطعة داخلية و خارجية.
- دارة تصفير عند وصل الطاقة.
• الطاقة المستهلكة عند تردد قدره 4MHz و جهد 3V و درجة حرارة 25 C .
- في نمط العمل الطبيعي : 3.4mA .
- في نمط البطالة : 1.4mA .
- في نمط الطاقة المنخفضة : <1A .
• أقطاب الدخل و الخرج و الهيكل الخارجي :
- عشرون قطب I/O قابلة للبرمجة .
- شريحة ذات 28 رجلاً موزعة على شكل PDIP و 32 رجلاً موزعة على شكل TQFP .
• جهود العمل :
- يترواح جهد تغذية المتحكم ATMEGA08 ضمن المجال :4.0 – 6.0V
• سرعة عمل الهزاز :
- للمتحكم ATMEGA08 ضـمن المجـال: 0 – 8MHz
6.4.2 وصف المتحكم:
إن الشريحة ATMEGA08 هي عبارة عن متحكمMicrocontroller ذو 8-bit مصنع بتقنية CMOS ذات الطاقة المنخفضة , المبني على أساس بنية AVR بمزايا بنية RISC المحسنة . و بالنظر إلى قائمة التعليمات القوية التي يُنفذ معظمها خلال دورة ساعة واحدة , فإن المتحكم ATMEGA08 ينجز تقريباً مليون تعليمة في الثانية 1MIPS عند تردد قدره 1MHz , مما يسمح لمصمم النظام باستهلاك الطاقة الأمثلية optimize مقابل سرعة المعالجة.
لقد جمعت نواة AVR ما بين مجموعة التعليمات القوية واثنان و ثلاثون مسجل عمل تستخدم للإغراض العامة . حيث ربطت المسجلات الاثنان والثلاثون مباشرة مع وحدة الحساب و المنطق ALU , مما سمح بالولوج إلى أي مسجلين من هذه المسجلات المستقلة عند تنفيذ تعليمة واحدة . فالبنية الناتجة أعطت فعالية أكبر لشيفرة التعليمة حيث أصبحت سرعة التنفيذ أكبر بعشرة مرات من بنية متحكمات CISC التقليدية conventional.
زود المتحكم ATMEGA08 بالمزايا التالية : ذاكرة برنامج وميضية Flash قابلة لإعادة التحميل بطول 2K/4K bytes , ذاكرة معطيات EEPROM بطول 128/256 bytes , ذاكرة معطيات داخلية SRAM بطول 128 bytes , عشرون قطب I/O للأغراض العامة , اثنان و ثلاثون مسجل عمل للأغراض العامة , مؤقتان/عدادان مرنان بأنماط المقارنة والمسك , مقاطعات داخلية و خارجية , نافذة تسلسلية UART قابلة للبرمجة, ست قنوات للتحويل التشابهي الرقمي ADC بدقة 10-bit , مؤقت مراقبة Watchdog Timer دخله من الهزاز الداخلي للشريحة , نافذة تسلسلية SPI مخصصة لتحميل البرنامج مع إمكانية اختيار أحد نمطين من أنماط توفير الطاقة برمجياً , ففي نمط البطالة Idle Mode تتوقف وحدة المعالجة المركزية CPU عن العمل بينما تبقى ذاكرة المعطيات SRAM و المؤقتات/العدادات و النافذة التسلسلية SPI ونظام المقاطعة في حالة عمل . بينما يقوم نمط الطاقة المنخفضة بحفظ محتوى المسجلات , ولكنه يوقف عمل الهزاز و بالتالي تنشل جميع وظائف الشريحة الأخرى إلى أن تحدث مقاطعة خارجية أو يتم تصفير المتحكم MCU.
صُنّعت هذه الشريحة باستخدام تقنية ذاكرات Atmel Memory الغير قابلة للزوال ذات الكثافة العالية . مع إمكانية برمجة ذاكرة البرنامج الوميضية Flash المبنية على شريحة المتحكم إما من خلال الوصلة التسلسلية SPI للشريحة , وإما باستخدام مبرمجة ذاكرات تقليدية . وقد أدى الجمع ما بين معالجات RISC ذات 8-bit مع ذاكرة البرنامج الوميضية Flash القابلة لإعادة البرمجة إلى إنتاج المتحكم ATMEGA08 الذي يتمتع بالقوة و المرونة العالية وبالكلفة المنخفضة للعديد من تطبيقات التحكم المتطورة.
لقد دعم المتحكم AVR ATMEGA08 بشكل كامل من ناحية البرامج و أدوات تطوير النظام مثل : مترجم Assembler , برنامج تصحيح أخطاء/محاكي Simulater , مقلد Emulater , مع مجموعة أدوات قيمة.
6.4.3 أقطاب المتحكم :
يبين الشكل التالي الشكل (6.1) أقطاب المتحكم ATMEGA08
شرح أقطاب المتحكم PIN De******ion :
Vcc:قطب جهد التغذية الموجب
GND:قطب جهد التغذية الصفري
النافذة Port B ( PB5 … PB0 ) :
وهي عبارة عن نافذة دخل/خرج ذات ستة أقطاب ثنائية الاتجاه . وقد زودت أقطاب هذه النافذة بمقاومة رفع داخلية . و بإمكان دارة قيادة خرج النافذةB تقديم تيار قدره 20mA . و عند استخدامها كنافذة دخل , فإنها ستصبح منبعاً للتيار إذا كانت مقاومات الرفع الداخلية مُمكنة , وذلك عند ربط أقطاب هذه النافذة خارجياً مع المنطق المنخفض. و تتمتع أقطاب النافذة B بمزايا خاصة أخرى بعمل المتحكم ATMEGA08 , وهي مشروحة بالتفصيل في فقرة " نوافذ الدخل/الخرج " , وعند حدوث إحدى حالات التصفير , فإن أقطاب هذه النافذة تصبح في حالة الممانعة العالية , حتى لو كانت الساعة متوقفة عن العمل .
النافذة Port C ( PC5 … PC0 ) :
وهي عبارة عن نافذة دخل/خرج ذات ستة أقطاب ثنائية الاتجاه . وقد زودت أقطاب هذه النافذة بمقاومة رفع داخلية . و بإمكان دارة قيادة خرج النافذةC تقديم تيار قدره 20mA . و عند استخدامها كنافذة دخل , فإنها ستصبح منبعاً للتيار إذا كانت مقاومات الرفع الداخلية مُمكنة , وذلك عند ربط أقطاب هذه النافذة خارجياً مع المنطق المنخفض . و لأقطاب هذه النافذة أيضاً وظائف خاصة أخرى , كاستخدامها كمداخل تشابهيه للمبدل التشابهي الرقمي ADC . وعند حدوث إحدى حالات التصفير , فإن أقطاب هذه النافذة تصبح في حالة الممانعة العالية , حتى لو كانت الساعة متوقفة عن العمل .
النافذة Port D ( PD7 … PD0 ) :
وهي عبارة عن نافذة I/O ذات ثمانية أقطاب ثنائية الاتجاه مزودة بمقاومة رفع داخلية . و بإمكان دارة قيادة خرج النافذة D تقديم تيار قدره 20mA , و عند استخدام هذه النافذة كنافذة دخل فإنها تصبح منبعاً للتيار (IIL) عند وصلها خارجياً مع المنطق المنخفض إذا كانت مقاومات الرفع الداخلية مُفعّلة .و تتمتع أقطاب النافذة D بمزايا خاصة أخرى بعمل المتحكم ATMEGA08 , وهي مشروحة بالتفصيل في فقرة " نوافذ الدخل/الخرج " , وعند حدوث إحدى حالات التصفير , فإن أقطاب هذه النافذة تصبح في حالة الممانعة العالية , حتى لو كانت الساعة متوقفة عن العمل .
قطب التصفير RESET :
مدخل التصفير . يولد التصفير الخارجي عند تطبيق نبضات كهربائية أطول من 50 ns ذات منطق منخفض على القطب RESET . وذلك حتى إن لم تكن الساعة في حالة عمل . و النبضات الأقصر من ذلك قد لا تؤدي بالضرورة إلى توليد التصفير .
مدخل الهزاز XTAL1 :
هو عبارة عن مدخل مضخم الهزاز العاكس وهو أيضاً مدخل لدارة تشغيل الساعة الداخلية .
مدخل الهزاز XTAL2 :
هو عبارة عن مخرج مضخم الهزاز العاكس .
AVCC:
وهو قطب جهد تغذية التغذية للمبدل التشابهي الرقمي ADC . ويجب وصله خارجياً مع القطب VCC من خلال مرشح تمرير منخفض . راجع فقرة " عمل المبدل ADC " .
AREF :
و هو قطب دخل الجهد المرجعي التشابهي للمبدل ADC . و يجب أن تتراوح قيمة هذا الجهد عند عمل المبدل ADC ما بين ( 2.7V…AVCC ) .
AGND:
إذا كانت الدارة التي تقوم بتصميمها لها أرضي تشابهي مستقل , فيجب ربط هذا القطب مع هذا الأرضي . و في الحالات نربط هذا القطب مع أرضي شريحة المتحكم GND .
الهزاز الكرستالي Crystal Oscillator :
إن القطبين XTAL1 و XTAL2 هما مدخل ومخرج الهزاز العاكس على الترتيب . فعندما نربط بلورة كرستالية أو مهتز سيراميكي مع هذين القطبين ، فإنه يتم استخدام
الشكل (6.2):توصيلات الهزاز الكريستالي
الهزاز الداخلي لتأمين نبضات الساعة للمتحكم MCU ، كما هو مبين في الشكل ( 6-2 ) . وعندما نرغب
في قيادة الشريحة من مصدر ساعة خارجي ، فإننا نهمل القطب XTAL2 و نقوم بوصل الساعة الخارجية مع القطب XTAL1 ، كما هو مبين في الشكل (6-3) :
الشكل (6.3) : قيادة المتحكم من ساعة خارجية
ملاحظة : عند استخدم هزاز المتحكم كساعة لجهاز خارجي آخر ، فإن إشارة الساعة المأخوذة من القطب XTAL2 يجب أن توصل مع دارة قيادة عالية السرعة من النوع HC .
6.4.4 لمحة بنيوية :
يقصد بالولوج السريع لملف المسجلات الذي يحتوي على اثنين و ثلاثين مسجل عمل للأغراض العامة ، على أنه الولوج الذي يستغرق زمن قدره دورة ساعة واحدة . هذا يعني أنه خلال دورة ساعة واحدة تقوم وحدة الحساب و المنطق ALU ( Arithmetic Logic Unit ) بتنفيذ عملية واحدة ، فهي تقوم أولاً بإخراج المعاملين من ملف السجلات ، ومن ثم تنفذ العملية ، ومن ثم تعيد تخزين النتيجة في ملف المسجلات. وكل ذلك يتم خلال دورة ساعة واحدة.يتألف ملف المسجلات من اثنين و ثلاثين مسجل عمل ، تشكل آخر ستة من هذه المسجلات ثلاث مسجلات مؤشر بطول 16-bit تستخدم في العنونة غير المباشرة لعنونة حيز المعطيات ، والتي تسهل حساب العنوان الفعال ، كما يستخدم أحد هذه المسجلات الثلاث كمؤشر عنونة للجداول المنشأة في ذاكرة البرنامج Flash . نرمز لهذه المسجلات الثلاث بالرموز التالية : المسجل X ، المسجل Y ، المسجل Z .
تدعم وحدة الحساب و المنطق ALU العمليات الحسابية و المنطقية بين المسجلات أو بين عدد فوري ثابت و مسجل . كما تقوم وحدة الحساب و المنطق بتنفيذ بعض العمليات على مسجل وحيد . يبين الشكل (4) بنية المتحكم ATMEGA08 AVR Enhanced RISC .و بالإضافة لفعالية المسجل ، فإننا نستطيع استخدام أنماط عنونة الذاكرة التقليدية لعنونة ملف المسجلات أيضاً . و هذا متاح على اعتبار أن ملف المسجلات معين باثنين و ثلاثين مسجلاً متوضعة عند حيز عنونة المعطيات السفلي ( $00 - $1F ) مما يسمح لنا بالولوج إلى ملف المسجلات كمواقع ذاكرية .كما يحتوي حيز ذاكرة I/O على أربع وستين عنواناً مخصصة
لوظائف وحدة المعالجة المركزية CPU المحيطية peripheral ، مثل مسجلات التحكم ، المؤقتات/العدادات ، المبدلات A/D ، و وظائف I/O الأخرى . ونستطيع الولوج إلى حيز I/O بشكل مباشر ، أو من خلال عناوين حيز المعطيات التالي لملف المسجلات ( $20 - $5F ) .لقد اعتمدت متحكمات AVR مفهوم بنية هارفارد Harvard التي تعنون ذاكرة المعطيات و ذاكرة البرنامج بخطوط منفصلة . حيث يتم الولوج لذاكرة البرنامج بدورة ممر واحدة . فعندما تبدأ وحدة المعالجة المركزية CPU بتنفيذ التعليمة الأولى ، فإنه يتم إحضار شيفرة التعليمة التالية من ذاكرة البرنامج ، و بالتالي أدت هذه البنية إلى تنفيذ التعليمة بدورة ساعة واحدة . ونذكر هنا أن ذاكرة البرنامج هي ذاكرة وميضية Flash قابلة لإعادة البرمجة مبنية على شريحة المتحكم MCU .
تقوم تعليمات القفز النسبي و الاستدعاء النسبي بعنونة كامل حيز ذاكرة البرنامج 1K Word بشكل مباشر . فمعظم تعليمات بنية AVR لها شيفرة تعليمة وحيدة بطول 16–bit ، هذا يعني أنه في كل عنوان ضمن حيز ذاكرة البرنامج شيفرة تعليمة بطول 16 أو 32 خانة .
يخزن عنوان عودة عداد البرنامج ( PC ) عند خدمة المقاطعات أو البرامج الفرعية في المكدس Stack ، يتوضع المكدس فعلياً في ذاكرة المعطيات العامة SRAM ، و بالتالي فإن حجم المكدس يتحدد فقط بحجم الذاكرة SRAM الإجمالي . ويقع على عاتق المبرمج تهيئة مؤشر المكدس SP في روتين خدمة التصفير reset وذلك قبل تنفيذ البرامج الفرعية و المقاطعات . ومؤشر المكدس هو عبارة عن مسجل بعرض 8–bit نستطيع قراءته أو الكتابة عليه ، ويتم الوصول إليه بعنوانه المتوضع في حيز ذاكرة I/O .كما أننا نستطيع الولوج إلى كل من ذاكرة المعطيات 128 Bytes SRAM و ملف المسجلات و مسجلات I/O بخمسة أنماط عنونة مختلفة تتمتع بها بنية AVR . يمتلك نظام المقاطعة المرن مسجلات تحكم في حيز ذاكرة I/O ويضاف إلى ذلك خانة تمكين المقاطعة العامة الموجودة في مسجل الحالة SREG . و يوجد لكل مقاطعة شعاع مستقل يتوضع في جدول أشعة المقاطعات عند بداية ذاكرة البرنامج . و لكل مقاطعة أولوية priority في الخدمة ويتحدد ذلك حسب موقع شعاع المقاطعة.
ملف المسجلات ذات الأغراض العامة:
الشكل

6.4) مسجلات العمل ذات الأغراض العامة بنية AVR .
يبين الشكل (6.4) تركيبة structure مسجلات الأغراض العامة الاثنين و الثلاثين في وحدة المعالجة المركزية CPU .إن تعليمات مسجل العمل في مجموعة التعليمات لها دورة ولوج واحدة و ذلك بالنسبة لكامل ملف المسجلات . يستثنى من ذلك فقط خمس تعليمات حسابية و منطقية : SBCI ، SUBI ، CPI ، ANDI ، ORI بين عدد ثابت ومسجل ، وكذلك بالنسبة لتعليمة تحميل المعطيات الثابتة الفورية LDI . و تطبق هذه التعليمات على مسجلات النصف الثاني لملف المسجلات R16…R13 .كما تطبق التعليماتSBC ، SUB، CP،AND، OR وكل التعليمات الأخرى بين مسجلين أو على مسجل وحيد على كامل ملف المسجلات. و نلاحظ أن لكل مسجل عنوان في حيز عنونة ذاكرة المعطيات ، وتحتل هذه المسجلات على خريطة الذاكرة أول اثنان و ثلاثون موقعاً . ومما يجدر ذكره هنا أن ملف المسجلات ليس منجزاً implemented فيزيائياً كمواقع الذاكرة SRAM ، ولقد منح هذا التنظيم للذاكرة مرونة كبيرة في الولوج للمسجلات ، مثل المسجلات X ، Y ، Z التي تعمل كمؤشرات لأي مسجل في ملف المسجلات .
ذاكرة البرنامج الوميضية القابلة لإعادة التحميل
The Downloading Flash Program Memory
تحتوي شريحة المتحكم ATMEGA08على ذاكرة وميضية قابلة لإعادة التحميل downloading بطول 2Kbytes مخصصة لتخزين البرنامج . وكما نعلم أنه لكل التعليمات تقريباً شيفرة وحيدة بطول كلمة 16-bit أو كلمتين 32–bit ولهذا فقد نظمت هذه الذاكرة 1k16 كلمة . وديمومة الذاكرة الوميضية أقل من 1000دورة كتابة/مسح . و يتمتع المتحكم ATMEGA08 بعداد برنامج PC (Program Counter) بعرض 10-bit والذي يقوم بعنونة ذاكرة البرنامج الوميضية التي طولها 1024كلمة .و لمزيد من المعلومات التفصيلية حول تحميل المعطيات للذاكرة الوميضية راجع فقرة " برمجة الذاكرة الوميضية " .
ذاكرة المعطيات EEPROM The EEPROM Data Memory
يحتوي المتحكم ATMEGA08 على bytes128 كذاكرة معطيات من النوع EEPROM ، وهي منظمة كحيز معطيات منفصل ، و يمكن القراءة من أو الكتابة على أي بايت من بايتات هذه الذاكرة بشكل مستقل . و ديمومة هذه الذاكرة أقل من 100.000 دورة كتابة/مسح . وقدتم شرح كيفية الاتصال ما بين الذاكرة EEPROM و وحدة المعالجة المركزية CPUفي فقرة " دورة القراءة/الكتابة للذاكرة EEPROM " بالترتيب التالي : مسجل عنوان EEPROM ، مسجل معطيات EEPROM ، مسجل التحكم بالذاكرة EEPROM . ولمزيد من المعلومات حول كيفية تحميل هذه الذاكرة بنمط البرمجة التسلسلي من النافذة التسلسلية SPI راجع فقرة " التحميل التسلسلي " .
ذاكرة المعطيات SRAM The SRAM Data Memory
يبين الشكل )6-5) تنظيم ذاكرة المعطيات للمتحكم ATMEGA08 .
يتألف حيز عنونة ذاكرة المعطيات من 224 موقع مخصصة لملف المسجلات وحيز ذاكرة I/O وذاكرة معطيات SRAM ، حيث خصص أول 96 موقع لملف المسجلات وحيز ذاكرة I/O ، وخصص آخر 128 موقع لعنونة ذاكرة المعطيات SRAM .
تمتلك بنية AVR خمسة أنماط عنونة مختلفة لتغطية ذاكرة المعطيات وهي : عنونة مباشرة ، عنونة غير مباشرة مع إزاحة ، عنونة غير مباشرة ، عنونة غير مباشرة مع إنقاص المؤشر قبل العملية ، عنونة غير مباشرة مع زيادة المؤشر بعد العملية . تتميز المسجلات R26 … R31 في ملف المسجلات بأنها مسجلات مؤشر تستخدم للعنونة غير المباشرة . وتغطي العنونة المباشرة كامل حيز عنونة المعطيات الداخلي . و يتميز نمط العنونة غير المباشرة مع الإزاحة بتغطية 63 موقعاً ابتداءً من عنوان القاعدة المعطى في المسجل Y أو Z .
الشكل (6.5): تنظيم ذاكرة المعطيات SRAM
6.4.5مسجل الحالة : THE STATUS REGISTER :
الخانة I – 7 : خانة تمكين المقاطعة العامة :
عندما نرغب في تأهيل المقاطعات فإننا نفعّل خانة تمكين المقاطعة العامة أي I=1 . ويتم التحكم بتمكين كل مقاطعة على حدى بتفعيل خانتها في مسجلات أقنعة المقاطعة MASKS GIMSK ، و TIMSK . تحجب كل المقاطعات عند تصفير خانة تمكين المقاطعة العامة I=0 ، ويتم إهمال قيم مسجلات أقنعة المقاطعة GIMSK و TIMSK . و بعد حدوث المقاطعة يُصفر الكيان Hardware الداخلي للمتحكم MCU الخانة I=0 ، وعند تنفيذ تعليمه العودة من روتين خدمة المقاطعة RETI يُفعّل كيان المتحكم MCU الخانة I=1 كي يتثنى خدمة المقاطعات الأخرى .
الخانة T – 6 :خانة تخزين :
إن تعليمات نسخ الخانة مثل BLD (Bit LoaD ) و BST (Bit STore ) تستخدم الخانة T كمعامل مصدر أو هدف للعمليات المطبقة على الخانة . فيمكن القيام بعملية نسخ قيمة إحدى خانات أحد مسجلات ملف المسجلات register file إلى الخانة T وذلك عند تنفيذ التعليمة BST .كما يمكن نسخ قيمة الخانة T إلى إحدى خانات أحد مسجلات ملف المسجلات وذلك عند تنفيذ التعليمة BLD .
الخانة H – 5 : علم الحمل النصفي :
يشير علم الحمل النصفي H إلى الحمل النصفي الناتج عن بعض العمليات الحسابية . لمزيد من المعلومات التفصيلية راجع فصل قائمة التعليمات .
الخانة S - 4: علم الإشارة S = N xor V :
إن قيمة علم الإشارة S هي دائماً ناتج العملية المنطقية XOR ما بين علم السالبية N و علم طفحان المتمم الثنائي V . لمزيد من المعلومات راجع فصل قائمة التعليمات.
الخانة V - 3 : علم طفحان المتمم الثنائي :
يدعم علم طفحان المتمم الثنائي V حسابية المتمم الثنائي two’s complement ، لمزيد من المعلومات التفصيلية راجع فصل قائمة التعليمات .
الخانة N - 2: علم السالبية:
يشير علم السالبية N إلى النتيجة السالبة بعد تنفيذ مختلف أنواع العمليات الحسابية والمنطقية . لمزيد من المعلومات التفصيلية راجع فصل قائمة التعليمات
الخانة Z – 1 :علم الصفر :
يشير علم الصفر Z إلى النتيجة الصفرية بعد تنفيذ مختلف أنواع العمليات الحسابية و المنطقية . لمزيد من المعلومات التفصيلية راجع فصل قائمة التعليمات .
الخانة C - 0:علم الحمل:
يشير علم الحمل C إلى الحمل الناتج عن العمليات الحسابية أو المنطقية . لمزيد من المعلومات راجع فصل قائمة التعليمات .
6.4.6مسجل مؤشر المكدس : THE STACK POINTER – SP
يُعرف مؤشر المكدس SP على أنه مسجل ذو العرض 8 - BIT الذي يتوضع عند العنوان $3D ( $5D ) في حيز ذاكرة I/O للمتحكم ATMEGA08 . ويستخدم هذا المسجل لعنونة ذاكرة المعطيات SRAM ذات الطول 128bytes المحصورة بين العناوين $60 - $DF .
يشير مؤشر المكدس إلى مساحة تكديس معطيات الذاكرةSRAM حيث يتوضع مكدس البرنامج الفرعية subroutine والمقاطعات interrupt . يقوم المبرمج بتعريف حيز التكديس في ذاكرة المعطيات SRAM قبل تنفيذ أيٍ من البرامج الفرعية أو المقاطعات . و يتم إنقاص مؤشر المكدس بمقدار واحد عند دفع المعطيات إلى المكدس عند تنفيذ تعليمة PUSH، كما يتم إنقاص مؤشر المكدس بمقدار اثنان عندما تكون المعطيات المدفوعة إلى المكدس عند ناتجة عن استدعاء البرامج الفرعية CALL أو عند تحقق شرط معالجة روتين خدمة المقاطعات . و يزداد مؤشر المكدس بمقدار واحد عند سحب المعطيات من المكدس عند تنفيذ تعليمة POP ، ويزاد مؤشر المكدس بمقدار اثنان عندما تكون المعطيات مسحوبة من المكدس عند تنفيذ تعليمة العودة من البرامج الفرعية RET أو عند العودة من برامج خدمة المقاطعة RETI .
فالعنوان الأخفض هو الشعاع ذو الأولوية الأعلى . فالمقاطعة التصفير RESET مثلاً الأولوية الأعلى ، ومن ثم المقاطعة الخارجية INT0 .
رقم الشعاع عنوان برنامج المقاطعة مصدر المقاطعة تعريف المقاطعة
1 $000 RESET تصفير القطب الخارجي و مؤقت المراقبة
2 $001 INT0 طلب مقاطعة خارجية 0
3 $002 INT1 طلب مقاطعة خارجية 1
4 $003 TIMER1 CAPT1 حادثة مسك المؤقت/العداد1
5 $004 TIMER1 COMP1 مقارنة نظير المؤقت/العداد1
6 $005 TIMER1 OVF1 طفحان المؤقت/العداد1
7 $006 TIMER0 OVF0 طفحان المؤقت/العداد0
8 $007 UART،RX اكتمال استقبال وحدة UART
9 $008 UART،UDRE فراغ مسجل معطيات وحدة UART
الخانة INT1 – 7 : خانة تمكين طلب مقاطعة خارجية 1 :
تؤهل المقاطعة الخارجية 1 على قطب المتحكم عند تفعيل كل من الخانتين INT1=1 وI=1 . وتحدد الخانتان ISC10 و ISC11 الواقعتان في مسجل التحكم العام بالمتحكم MCUCR حساسية فعالية المقاطعة الخارجية 1 هل هي عند الجبهة الصاعدة أم الهابطة أم عند المستوى المنطقي المنخفض . ويمكن تفعيل المقاطعة الخارجية 1 حتى لو هيئ قطب المقاطعة الخارجي كقطب خرج . ينفذ روتين خدمة المقاطعة المطابق للمقاطعة الخارجية 1 ابتداءً من العنوان $002 في ذاكرة البرنامج الوميضية . أنظر أيضاً " فقرة المقاطعات الخارجية "
الخانة INT0 – 6 : خانة تمكين طلب مقاطعة خارجية :
تؤهل المقاطعة الخارجية 0 على قطب المتحكم عند تفعيل كل من الخانتين INT0=1 وI=1 . وتحدد الخانتان ISC10 و ISC11 الواقعتان في مسجل التحكم العام بالمتحكم MCUCR حساسية فعالية المقاطعة الخارجية 0 هل هي عند الجبهة الصاعدة أم الهابطة أم عند المستوى المنطقي المنخفض . ويمكن تفعيل المقاطعة الخارجية 0 حتى لو هيئ قطب المقاطعة كقطب خرج . ينفذ روتين خدمة المقاطعة المطابق للمقاطعة الخارجية 0 ابتداءً من العنوان $001 في ذاكرة البرنامج الوميضية . أنظر أيضاً " فقرة المقاطعات الخارجية "
الخانات Res – 5 …0 : خانات محجوزة :
هذه الخانات هي خانات محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي.
الخانة INTF1 – 7 : علم المقاطعة الخارجية 1 :
تؤدي الإشارة الكهربائية المطبقة على قطب المتحكم INT1 إلى طلب مقاطعة ، فيصبح العلم INTF1=1 ، و ذلك شريطة أن تكون خانة تمكين المقاطعة العامة I=1 الواقعة في مسجل الحالة SREG مع الخانة INT1=1 الموجودة في مسجل قناع المقاطعة GIMSK ، و بالتالي سوف يقفز المتحكم MCU إلى شعاع المقاطعة المتوضع عند العنوان $002 في ذاكرة البرنامج الوميضية Flash ، ويقوم الكيان Hardware الداخلي للمتحكم بتصفير هذا العلم عندما ينفذ روتين خدمة المقاطعة . وبشكل مشابه يمكن تصفير هذا العلم بكتابة المنطق واحد عليه .
الخانة INTF0 – 6 : علم المقاطعة الخارجية 0 :
تؤدي الإشارة الكهربائية المطبقة على قطب المتحكم INT0 إلى طلب مقاطعة ، فيصبح العلم INTF0=1 ، و ذلك شريطة أن تكون خانة تمكين المقاطعة العامة I=1 الموجودة في مسجل الحالة SREG مع الخانة INT0=1 الموجودة في مسجل قناع المقاطعة GIMSK ، و بالتالي سوف يقفز المتحكم MCU إلى شعاع المقاطعة المتوضع عند العنوان $001 في ذاكرة البرنامج الوميضية Flash ، ويقوم الكيان Hardware الداخلي للمتحكم بتصفير هذا العلم عندما ينفذ روتين خدمة المقاطعة . وبشكل مشابه يمكن تصفير هذا العلم بكتابة المنطق واحد عليه .
الخانات Res – 5 …0 : خانات محجوزة :
هذه الخانات هي خانات محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي
الخانة TOIE1 – 7 : خانة تمكين مقاطعة طفحان المؤقت/العداد 1 :
يتم تفعيل مقاطعة المؤقت/العداد1 عند تفعيل كلٍ من الخانتين TOIE1=1 وخانة تمكين المقاطعة العامة I=1 الموجودة في مسجل الحالة SREG . ويتم الانتقال إلى روتين خدمة مقاطعة المؤقت/العداد1 الواقع عند الشعاع $005 في ذاكرة البرنامج الوميضية Flash عند طفحان مسجل المؤقت/العداد1. ويفعل عندها أيضاً علم طفحان المؤقت/العداد1 أي TOV1=1 الواقع في مسجل أعلام مقاطعة المؤقت/العداد TIFR . و عند استخدام المؤقت/العداد1 في نمط PWM ، فإن علم طفحان المؤقت يُفعل عندما يغير العداد اتجاه العد عند القيمة $0000
الخانة OCIE1A – 6 : خانة تمكين مقاطعة خرج مقارنة النظير للمؤقت/العداد 1 :
يتم تفعيل مقاطعة خرج مقارنة النظير للمؤقت/العداد 1 عند تفعيل كلٍ من الخانتين OCIE1=1 وخانة تمكين المقاطعة العامة I=1 الموجودة في مسجل الحالة SREG . و ينفذ المتحكم روتين خدمة مقاطعة خرج مقارنة النظير للمؤقت/العداد 1 الواقع عند الشعاع $004 في ذاكرة البرنامج الوميضية Flash وذلك عندما تتساوى القيمة الموجودة في مسجل مقارنة الخرج OCR1AH/OCR1AL مع القيمة الآنية لمسجل المؤقت/العداد TCNT1 ، فيصبح علم خرج المقارنة للمؤقت/العداد1OCF1A=1- الواقع في مسجل أعلام مقاطعة المؤقت/العداد1.
الخانات Res – 5،4 : خانات محجوزة :
هذه الخانات هي خانات محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي.
الخانة TICIE1 – 3 : علم مقاطعة مدخل المسك للمؤقت/العداد 1 :
تُفعّل مقاطعة حادثة المسك للمؤقت/العداد1 عند تفعيل كلٍ من الخانتين TICE1=1 وخانة تمكين المقاطعة العامة I=1الموجودة في مسجل الحالة SREG . وينفذ المتحكم MCU شعاع المقاطعة الواقع عند العنوان $003 في ذاكرة المتحكم الوميضية إذا حدثت حادثة المسك عند قطب المتحكم 11 ، PD6 (ICP) . فيصبح علم مدخل المسك للمؤقت/العداد1ICF1=1 - الواقع في مسجل أعلام المؤقت/العداد TIFR .
الخانات Res – 2 : خانة محجوزة :
هذه الخانة هي خانة محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي .
الخانة TOIE0 – 0 : خانة تمكين مقاطعة طفحان المؤقت/العداد 0 :
يتم تفعيل مقاطعة المؤقت/العداد0 عند تفعيل كلٍ من الخانتين TOIE0=1 وخانة تمكين المقاطعة العامة I=1 الموجودة في مسجل الحالة SREG . ويتم الانتقال إلى روتين خدمة مقاطعة المؤقت/العداد0 الواقع عند الشعاع $006 في ذاكرة البرنامج الوميضية Flash عند طفحان مسجل المؤقت/العداد0. ويفعل عندها أيضاً علم طفحان المؤقت/العداد 0 أي TOV0=1 الواقع في مسجل أعلام مقاطعة المؤقت/العداد TIFR .
الخانات Res – 0 : خانة محجوزة :
هذه الخانة هي خانة محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي .
6.4.7مسجل أعلام مقاطعة المؤقت/العداد TIFR
Timer/Counter Interrupt Flag Register – TIFR
الخانة TOV1 – 7 : علم طفحان المؤقت/العداد 1 :
يُفعّل علم طفحان المؤقت/العداد1 أي TOV1=1 عندما يحدث طفحان في مسجل المؤقت/العداد1- TCNT1 . و يصفر هذا العلم TOV1=0من الكيان Hardware الداخلي للمتحكم عند تنفيذ روتين خدمة مقاطعة طفحان المؤقت/العداد1 . وبشكل مشابه يمكن تصفير هذا العلم بكتابة المنطق واحد عليه ، فعندها ينفذ أيضاً روتين خدمة مقاطعة طفحان المؤقت/العداد1 . أما عند استخدام المؤقت 1 في نمط PWM فإن هذا العلم يُفعّل TOV1=1 عندما يغير المؤقت/العداد1 اتجاه عده عند القيمة $0000 .
الخانة OCF1A – 6 : علم خرج المقارنة 1A :
يُفعّل العلم OCF1A=1 عندما تحدث المساواة بين القيمة الموجودة في مسجل المؤقت/العداد1 - TCNT1 و المعطيات الموجودة في مسجل مقارنة الخرج 1A – OCR1A . و يتم تصفير هذا العلم OCR1A=0 من الكيان Hardware الداخلي للمتحكم عند تنفيذ روتين خدمة المقاطعة المطابق . وبشكل مشابه يمكن تصفير هذا العلم OCF1A=0 بكتابة المنطق واحد عليه . و نذكر هنا أن مقاطعة مقارنة نظير المؤقت/العداد1 تُؤهل عند تفعيل كلٍ من الخانات : خانة تمكين المقاطعة العامة I=1 الواقعة في مسجل الحالة SREG وخانة تمكين مقاطعة خرج مقارنة نظير المؤقت/العداد 1 - OCIE1A=1 الواقعة في مسجل قناع مقاطعة المؤقت/العداد TIMSK وعلم خرج المقارنة1A - OCF1A=1 .
الخانات Res – 5،4 : خانتان محجوزتان :
هذه الخانات هي خانات محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي.
الخانة ICF1 – 3 : علم مدخل الدخل 1 :
تُفعّل الخانة ICF1=1 عند تطبيق إشارة قادحة على مدخل المسك ( القطب 11(PD6) )، وتشير إلى أن قيمة مسجل المؤقت/العداد1 – TCNT1 قد انتقلت إلى مسجل مدخل المسك – ICR1 . وعندما تنفذ وحدة المعالجة المركزية CPU روتين خدمة المقاطعة المطابق ، فان الكيان الداخلي للمتحكم MCU يُصفر هذا العلم ICF1=0. وبشكل مشابه يمكن تصفير هذا العلم بكتابة المنطق واحد عليه .
الخانات Res – 2 : خانة محجوزة :
هذه الخانة هي خانة محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي .
الخانة TOV0 - : علم طفحان المؤقت /العداد0 :
يُفعّل علم طفحان المؤقت/العداد0 أي TOV0=1 عندما يحدث طفحان في مسجل المؤقت/العداد0 - TCNT0. و يُصفر هذا العلم TOV0=0من الكيان Hardware الداخلي للمتحكم عند تنفيذ روتين خدمة مقاطعة طفحان المؤقت/العداد0 . وبشكل مشابه يمكن تصفير هذا العلم بكتابة المنطق واحد عليه ، يتم الانتقال إلى تنفيذ روتين خدمة مقاطعة المؤقت/العداد0 الواقع عند العنوان $006 في ذاكرة البرنامج الوميضية Flash فقط إذا كانت الخانات الثلاث التالية مُفعّلة : خانة تمكين المقاطعة العامة I=1 الواقعة في مسجل الحالة SREG وخانة تمكين مقاطعة طفحان المؤقت/العداد0 - TOIE0=0 الواقعة في مسجل قناع مقاطعة المؤقت/العدادTIMSK وعلم الطفحان TOV0=1 الواقعة في هذا المسجل TIFR .
الخانات Res – 0 : خانة محجوزة :
هذه الخانة هي خانة محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي .
المقاطعات الخارجية External Interrupt
إن للمتحكم ATMEGA08 مقاطعتان خارجيتان ، يتم تأهيل هاتين المقاطعتين من قطبي المتحكم INT0 و INT1 وذلك عند تمكين المقاطعات . و تؤهل هاتان المقاطعتان حتى لو هيئ قطبي المقاطعة INT0 و INT1 كقطبي خرج. فتمنحنا هذه الميزة طريقة إضافية لتوليد مقاطعتان برمجيتان . تقدح المقاطعات الخارجية إما بالجبهة الصاعدة أو الهابطة أو بالمستوى المنطقي المنخفض . وقد أشرنا إلى هذه الحالات عند شرح مسجل التحكم بالمتحكم MCU – MCUCR . ومما يجدر ذكره أنه عند تأهيل المقاطعات الخارجية وتهيئة الإشارة القادحة لها عند المستوى المنطقي المنخفض ، فإن المقاطعة ستظل مقدوحة طوال فترة بقاء المنطق المنخفض على قطب المقاطعة NT0/INT1 .
ولقد تم شرح إعدادات المقاطعة الخارجية في فقرة مسجل التحكم بالمتحكم MCU – MCUCR .
6.4.8مسجل التحكم بالمتحكم MCU – MCUCR MCU Control Register – MCUCR
الخانات Res – 7, 6 : خانتان محجوزتان :
هذه الخانات هي خانات محجوزة في المتحكم ATMEGA08 وتقرأ دائماً صفر منطقي
الخانة SE – 5 : خانة تمكين النوم Sleep :
حتى نجعل المتحكم MCU يدخل في نمط النوم sleep عند تنفيذ التعليمة SLEEP ، فإنه يجب علينا تفعيل خانة تمكين النوم أي SE=1 قبل تنفيذ تعليمة النوم SLEEP .
الخانة SM – 4 : خانة نمط النوم Sleep :
تحدد قيمة هذه الخانة أحد نمطين من أنماط النوم المتاحة . فعندما تكون قيمة الخانة SM=0 ، فإنه يتم اختيار نمط البطالة Idle Mode كنمط نوم للمتحكم MCU . أما عندما تكون قيمة الخانة SM=1 ، فإنه يتم اختيار نمط الطاقة التحتية power down mode كنمط نوم للمتحكم MCU . لمزيد من المعلومات حول هذين النمطين راجع فقرة " أنماط النوم Sleep Mode " .
الخانتان ISC11 - 3, 2، ISC10: خانتي التحكم بحساسية المقاطعة الخارجية 1 :
تُفعّل المقاطعة الخارجية 1 عند تطبيق إشارة كهربائية معينة على قطب المقاطعة الخارجي INT1 وذلك عند تفعيل كلٍ من العلمين I=1 الواقع في مسجل الحالة SREG و INT1=1 الواقع في مسجل قناع المقاطعة العام GISMK . وتحدث المقاطعة الخارجية 1 عند القطب INT1 إما بفعالية مستوى الإشارة المطبق عليه و إما بإحدى جبهتي الإشارة المطبقة عليه ، ويتحدد ذلك بقيمة الخانتين ISC11/ISC10 كما هو مبين في الجدول التالي :
ISC10 ISC11 الشرح
o 0 إن تطبيق مستوى منطقي منخفض على القطب INT1 ،سيولد طلب للمقاطعة
1 0 محجوزة
0 1 إن تطبيق جبهة هابطة على القطب INT1 ، سيولد طلب للمقاطعة
1 1 إن تطبيق جبهة صاعدة على القطب INT1 ، سيولد طلب للمقاطعة
الجدول1: خانتي التحكم بحساسية المقاطعة الخارجية 1
ملاحظة : عندما نرغب في تغير قيمة الخانتين ISC11/ISC10 ، فإنه يجب علينا أولاً حجب المقاطعة الخارجية 1 بتصفير خانة تمكين المقاطعة INT1=0 الواقعة في مسجل قناع المقاطعة العام GIMSK . وإلا قد تحدث المقاطعة في الحالات الأخرى .
الخانتان ISC01 - 1, 0، ISC00 : خانتي التحكم بحساسية المقاطعة الخارجية 0 :
تُفعّل المقاطعة الخارجية0 عند تطبيق إشارة كهربائية معينة على قطب المقاطعة الخارجي INT0 وذلك عند تفعيل كلٍ من العلمين I=1 الواقع في مسجل الحالة SREG وINT0=1 الواقع في مسجل قناع المقاطعة العام GISMK . وتحدث المقاطعة الخارجية0عند القطب INT0 إما بفعالية مستوى الإشارة المطبق عليه و إما بإحدى جبهتي الإشارة المطبقة عليه، ويتحدد ذلك بقيمة الخانتين ISC01/ISC00 كما هو مبين في الجدول التالي :
ISC00 ISC01 الشرح
0 0 إن تطبيق مستوى منطقي منخفض على القطب INT0 ،سيولد طلب للمقاطعة
1 0 محجوزة
1 1 إن تطبيق جبهة هابطة على القطب INT0 ، سيولد طلب للمقاطعة
1 1 إن تطبيق جبهة صاعدة على القطب INT0 ، سيولد طلب للمقاطعة
ملاحظة : عندما نرغب في تغير قيمة الخانتين ISC01/ISC00، فإنه يجب علينا أولاً حجب المقاطعة الخارجية 0 بتصفير خانة تمكين المقاطعة INT0=0 الواقعة في مسجل قناع المقاطعة العام GIMSK . وإلا قد تحدث المقاطعة في الحالات الأخرى .
6.4.9أنماط النوم Sleep Mode :
كي نُدخل المتحكم MCU في نمط النوم sleep ، فإنه يجب علينا تفعيل خانة النوم أي SE=1 الموجودة في المسجل MCUCR وذلك قبل تنفيذ تعليمة النوم SLEEP ، فإذا كان المتحكم في نمط النوم و حدثت إحدى المقاطعات المؤهلة فإن المتحكم يستيقظ awake وينفذ روتين خدمة المقاطعة التي أيقظته ، و من ثم يعمد إلى تنفيذ البرنامج الرئيسي من التعليمة التالية لتعليمة SLEEP .أما إذا كان المتحكم في نمط النوم وحدث تصفير خارجي له ، فإنه سيستيقظ من نمط النوم و يبدأ بتنفيذ برنامجه من شعاع التصفير الواقع عند الشعاع $000 في ذاكرة البرنامج الوميضية Flash .
ملاحظة : عندما نستخدم المستوى المنطقي المنخفض لقدح المقاطعة من أجل إيقاظ المتحكم MCU من نمط الطاقة التحتية ، فإنه يجب علينا مسك المستوى المنطقي المنخفض على قطب المقاطعة لمدة زمنية أطول من زمن إقلاع الهزاز والذي مدته حوالي 16ms . و في كل الحالات الأخرى قد يرجع علم المقاطعة إلى الصفر قبل بدء إقلاع المتحكم MCU لتنفيذ برنامجه .
6.4.10المؤقتات/العدادات Timer/Counter
لقد تم تزويد المتحكم ATMEGA08 بمؤقتين/عدادين يستخدمان للأغراض العامة . الأول مؤقت/عداد بطول 8–bit و الثاني مؤقت/عداد بطول 16 – bit . يطبق على دخل المؤقتات/العدادات نبضات ساعة مقسمة prescaler من مؤقت تقسيمي prescaling داخلي طوله 10 – bit . وكلا المؤقتين/العدادين يستخدمان إما كمؤقت داخلي دخله من القاعدة الزمنية لساعة المتحكم وإما كعداد للحوادث المطبقة أقطاب العد الخارجية .