ثالثا كلمة تعليمة طويلة : الآن دعنا نلقى نظرة على معنى "كلمة التعليمة طويلة" . كان من نتيجة استخدام ممرات منفصلة لكل من التعليمات والبيانات السماح باستخدام كلمة تعليمة طويلة . ففى حالتنا فإن كل تعليمة تمثل بكلمة واحدة تسمى كلمة التعليمة بطول 14 بت وتنفذ فى دورة تعليمة واحدة . أدى كون التعليمة فى كلمة واحدة إلى قوة التعليمة نفسها ,كما أن التنفيذ فى دورة واحدة أدى إلى سرعة عالية فى تنفيذ البرنامج دون استخدام حيز كبير من الذاكرة . مثال لكلمة التعليمة الطويلة : نوضح هنا مثال لتعليمة بكلمة طويلة فالتعليمة MOVLW #IMM والتى تحمل المسجل Wبالقيمة الفورية الثابتة التى نرمز لها بالرمز #IMM . فى التركيب البنائى الخاص بنا هذه القيمة دائما عدد ذو 8 بتات 8-bit ومن ثم يمكن أن نخزن هذه القيمة فى التعليمة بعرض 14-bit . فى هذه الحالة تخصص أربعة خانات لكود العملية op-code وهو فى هذه الحالة MOVLW .
كل أعضاء عائلة المدى الأوسط للميكروكونترولر PICلها تعليمات بعرض 14-bitومجموعة من التعليمات عددها 35 تعليمة . وشكل أو هيئة التعليمة تتبع أربع نماذج مختلفة :
تعليمات خاصة بالبايت byte .
وتعليمات خاصة بالخانة أو البت bit .
وتعليمات خاصة بالثوابت .
وتعليمات التحكم .
الأشكال التالية توضح هذه الأنواع .
لاحظ أن مجال (مكان) شفرة أو كود التعليمة متغير فى عدد الخانات ,وذلك ليسمح بوجود 35 تعليمة مختلفة . أيضا لاحظ أن التعليمات التى بها سجل ملف يكون مكون من 7 خانات . والمدى العددى للسبع خانات هو 128 قيمة . ولهذا السبب فى عائلة الميكروكونترولر الذى يحتوى على أكثر من 128 موقع ذاكرة بيانات يجب أن توزع بتقنية البنوك (المجموعات) حيث يتم يتم اختيار البنك (المجموعة) الذى به العنوان بمساعدة سجل خاص يعرف باسم مسجل الحالة Status.
مفهوم سجل الملف Register File Concept: من خصائص التركيب البنائى للميكروكونترولر PIC والتى تجعله قوى هو استخدام ملف السجل . ونعنى بملف السجل أن كل أماكن ذاكرة RAM والطرفيات peripherals ومنافذ الدخل والخرج I/O مرتبة ومنظمة على شكل بنك (مجموعة أو صف أو كومة) بسيطة من الملفات أو السجلات . جميع التعليمات يمكن أن تعمل على أى سجل ولست مضطرا لتحميل أى شىء من ذاكرة RAM إلى السجل لكى تجرى وظيفة عليه . على سبيل المثال يمكنك أن تأخذ محتويات السجل W وتضيفه إلى أى سجل بتعليمة واحدة كما يمكن إضافته إلى سجل أغراض عامة أو إلى منفذ دخل وخرج وهو ما يعرف بالتعليمة ذات المعاملين . عند استخدام تعليمة بمعاملين فإن أحد المعاملين دائما يأتى من بنك سجل ملف والمعامل الثانى يأتى دائما من السجل W. إذا استخدمت تعليمة ذات معامل واحد مثل زيادة ملف بمقدار واحد (INCF) يمكنك أخذ محتويات الملف الذى حددته إلى وحدة الحساب والمنطق ALU حيث يتم زيادته بواحد ثم يتم كتابة النتيجة بالعكس فى الملف (السجل) نفسه وكل ذلك فى تعليمة واحدة . خانة الهدف يمكن أن تستخدم مع معظم التعليمات لتحديد مكان تخزين النتيجة إما إلى الملف نفسه أو تخزن فى المسجل W . كمثال إذا أضفنا الفاصلة “comma F” إلى نهاية تعليمتنا السابقة فى عمل زيادة بمقدار واحد فإن نتيجة التعليمة سوف تخزن فى الملف نفسه وهى نفس النتيجة كما لو تركنها بدون ذلك . ولكن عند إضافة فاصلة ثم W“comma W” فى نهاية التعليمة فإن هذا يؤدى إلى أخذ محتويات الملف الذى حددته ثم عمل زيادة بمقدار واحد له ووضع النتيجة فى السجل W بدون التأثير على محتويات الملف الاصلى الذى تم قراءته فقط ولم يتم الكتابة عليه . وهذا يعطى لك خياران مختلفان فى تخزين نتيجة التعليمة .
مقدمة : يحتاج الميكروكونترولر كما هو الحال فى جميع الأنظمة التى تعتمد فى عملها على المعالج الدقيق إلى نظام أساسى هو نظام "التوقيت" ويسمى نبضات الساعة أو إختصارا "الساعة" clock وذلك من أجل توقيت تنفيذ تعليمات البرمجة وتزامن عمل مكونات الميكروكونترولر ويقوم المذبذب بتوليد هذه النبضات . تردد المذبذب يحدد سرعة تنفيذ التعليمات .التردد (الساعة) الداخلى المستخدم فى التوقيت وتزامن المكونات يساوى "ربع" 1/4تردد (ساعة) المذبذب الخارجى .
أنواع المذبذبات : 1- مذبذب الرنين Resonance ويمتاز بثبات التردد وهو الأمر المطلوب فى التطبيقات الدقيقة والتى تعمل على تردد واحد . 2- مذبذب يعتمد على دائرة مقاومة ومكثف RC Oscillator والذى يمكن تغيير تردده بتغيير الثابت الزمنى للدائرة أى قيم المقاومة والمكثف .
أنواع مذبذبات الرنين : 1- مذبذب الرنين الكريستال أو الكوارتز( يطلق عليه إختصارا كريستال) .
2- مذبذب الرنين السيراميكى وهو أقل تكلفة وأصغر حجما وأقل جودة من المبذب الكريستال (يطلق عليه إختصارا سيراميك ) .
مثال لأنظمة المذبذبات المستخدمة فى الميكروكونترولر PIC16F84A :
مثال لأنظمة المذبذبات المستخدمة فى الميكروكونترولر PIC16F84A :
يمكن أن يعمل الميكروكونترولر PIC16F84A وفق أربعة أنظمة أساسية ويمكن للمبرمج إختيار إحداها عن طريق برمجة خانتين من خانات كلمة الإعدادات هما FOSC1 و FOSC2 ( إما برمجيا عند تحميل البرنامج على الميكروكونترولر أو ينص عليها فى شفرة البرنامج نفسه عن طريق موجه لغة الاسمبلى __CONFIG ) :
1- مذبذب نظام LP : LP Low Power Crystal ( كريستال بقدرة منخفضة)
هذا النظام مصمم للعمل حيث يكون إستهلاك القدرة عامل أساسى ويستخدم فى هذا النظام كريستال بتردد 32.768KHZ (ويمكن التعرف عليها بسهولة لصغر حجمها وبشكلها الاسطوانى المميز) كما يمكن أن يعمل حتى تردد أقل من 200KHZ . والتيار المستهلك هو الاقل فى جميع الأنظمة .
2- مذبذب نوع XT : Crystal/Resonator ( كريستال أو سيراميك ).
ويستخدم هذا النظام كريستال كوارتز أو دائرة رنين سيراميك فى المدى المتوسط أى من 1MHZحتى 4MHZ كما أن إستهلاك التيار فيه متوسط .
3- مذبذب نوع HS : High Speed Crystal/Resonator (كريستال أو سيراميك بسرعة أو تردد مرتفع )
يستخدم هذا النظام كريستال كوارتز أو دائرة رنين سيراميك ذو تردد مرتفع فوق 4MHZ وإستهلاك التيار فى هذا النظام هو الأعلى .
4- مذبذب نوع RC أو EXTRC ( المقاومة والمكثف الخارجى )
مدى التردد من صفر الى 4MHZ . والقدرة المستهلكة تعتمد على التردد المستخدم . نبضات الساعة الناتجة فى هذا النظام غير دقيقة نتيجة التغير فى درجة الحرارة وتبعا لها التغير فى قيمة المكثف والمقاومة لذلك لا ينصح باستخدامه فى التطبيقات الحساسة للتوقيت مثل الاتصال المتتالى RS-232 .
يوصل الكريستال أو السيراميك إلى الاطراف OSC1/CLKIN و OSC2/CLKOUT لإنشاء مذبذب كما فى الشكل .
جدول إختيار المكثفات :
المذبذب RC :
يستخدم للتوقيت فى التطبيقات الغير حساسة بغرض توفير التكاليف . تردد مذبذب RC يعتمد على جهد المنبع وعلى قيمة المقاومة وقيمة المكثف وعلى درجة الحرارة . الشكل يوضح طريقة توصيل المقاومة والمكثف للميكروكونترولر PIC16F84
مقدمة : المقصود بعملية التصفير هو "العودة إلى الوضع الإبتدائى" المعروف والمستقر وهى عملية ضرورية للأسباب الاتية : 1- التصفير يضمن وجود حالة معروفة لبعض السجلات مثل عداد البرنامج PC وسجلات التحكم فى المنافذ وغيرها . 2- السماح لنظام الساعة فى المتحكم أن يستقر على التردد الصحيح المحدد . 3- التأكد بأنه عند وجود إنخفاض كبير فى جهد التغذية فإن المتحكم سوف يعيد تشغيل نفسه من جديد . أى ان التصفير reset يستخدم فى وضع الميكرومونترولر فى حالة معروفة بعد حدوث حالة ما تستدعى ذلك عند حدوث تصفير للميكروكونترولر يبدأ التنفيذ (بعد الخروج من التصفير) من العنوان ( 0 ) بذاكرة البرنامج حيث يوجد أول التعليمات التى سوف تنفذ ومن ثم بدء وتجهيز سجلات الوظائف الخاصة داخل الميكروكونترولر من جديد .
أنواع التصفير : يمكن للميكروكونترولر ( كمثال PIC16F84A ) أن يفرق بين أنواع التصفير الاتية : 1- التصفير عند توصيل التغذية Power-on reset (POR) . 2- التصفير أثناء العمل العادى للمتحكم عن طريق الطرف MCLR (بجعله منخفضا ). 3- التصفير أثناء الراحة Sleep عن طريق الطرف MCLR أيضا . 4- التصفير بواسطة مؤقت المراقبة WDT أثناء العمل الطبيعى (عند حدوث طفحان overflow). 5- التصفير بواسطة مؤقت المراقبة WDT أثناء الراحة Sleep .
علاقة بدأ (بناء) توصيل القدرة والتصفير: Power-up and Reset : عند بدأ توصيل القدرة إلى الميكروكونترولر يجب أن يبدأ العمل بتنفيذ البرنامج من عنوان البداية (يعرف بإسم متجه التصفير reset vector ) وهذا لن يحدث إلا إذا تم بناء دائرة داخلية للكشف عن بناء القدرة وإجبار عداد البرنامج PC على أن يكون (0 ) (يشير إلى العنوان الذى عليه الدور فى التنفيذ) . علاوة على أنه من المفيد جدا تعيين سجلات الوظائف الخاصة SFR بحيث تكون الأجهزة الطرفية فى البداية فى حالة آمنة وغير ممكنة disabled . هذه الحالة " جاهز للبدء أو الانطلاق" تسمى " التصفير " Reset . تبدأ وحدة المعالجة المركزية فى العمل عندما تترك حالة reset . فى الميكروكونترولر PIC16F84A (كمثال) دخل خاص للتصفير يسمى MCLR‘Master Clear’ (الطرف 4) .
يكون الميكروكونترولر فى حالة التصفير طالما أن حالة هذا الطرف المنطقية منخفضة . عندما يتحول إلى الحالة المنطقية المرتفعة يبدأ تنفيذ البرنامج . إذا تحولت حالة هذا الطرف إلى الحالة المنطقية المنخفضة أثناء تنفيذ البرنامج يقف تنفيذ البرنامج فورا ويجبر الميكروكونترولر إلى الدخول فى نظام التصفير . يظل هناك تساؤل عن : متى يسمح للبرنامج بالبدأ بالتنفيذ الفعلى ؟ لحظة توصيل القدرة هى الأخطر على أى نظام يعتمد على المعالجات الدقيقة. كل من مصدر القدرة ومذبذب نبضات الساعة تأخذ وقتا محدد للإستقرار وفى الأنظمة المعقدة قد تستقر الدوائر المختلفة فى أوقات مختلفة . هذا الوضع يتم تناوله بحذر . كيف يتم تأخير بدأ تنفيذ البرنامج لحين استقرار وثبات القدرة ؟ أعتمدت شركة ميكروشيب على سياسة تقليل عدد العناصر الخارجية . لذلك يحتوى الميكروكونترولر PIC16F84A بداخله على دوائر خاصة بالتصفير . فهو يحتوى على مؤقت بناء القدرة Power-up Timer (PWRT) والذى يمكن تمكينه للعمل عن طريق الخانة 3 بكلمة التهيئة أو الإعدادات . حيث يقوم الميكروكونترولر PIC16F84A بالكشف على توصيل القدرة ويقوم المؤقت PWRT بالحفاظ على الميكروكونترولر فى حالة التصفير لمدة محددة من الزمن (كمهلة) , بمجرد إنتهاء هذه المدة يترك الميكروكونترولر حالة التصفير ويبدأ فى تنفيذ البرنامج . عندئذ ما الحاجة الى الدخل MCLR ؟ يجب إدراك أن هذا الدخل يجب أن لا يترك دون توصيل بل يجب توصيله إلى جهد المنبع لتلافى حدوث تصفير خاطىء نتيجة التداخلات .
آلية (ميكانيزم) التصفير عند توصيل القدرة Power On Reset (POR) :
أ- توليد نبضة "التصفير عند توصيل التغذية" تتولد نبضة "التصفير عند توصيل التغذية" بالشريحة عند الإحساس بإرتفاع جهد التغذية الموجب VDD (فى الحدود 1.2V - 1.7V ) . للإستفادة من هذا النوع من التصفير (POR) يتم توصيل طرف التصفير MCLR مباشرة (أو خلال مقاومة) إلى الجهد الموجب VDD . عندما يستقبل الجهاز إشارة التصفير POR (وإذا لم يكن هناك حالة تصفير أخرى ) يبدأ تنفيذ البرنامج من عند متجه التصفير reset vector . يجب ملاحظة أنه لعمل دائرة POR بالطريقة الصحيحة يجب توصيل القدرة بدأ من 0V ويكون معدل الزيادة فى الجهد الموجب VDD سريعا .
ب- مؤقت بناء ( نمو) القدرة Power-up Timer (PWRT) إاشارة التصفير POR تعمل على بدء مؤقت خاص بها يسمى (PWRT) والذى يعمل على الحفاظ على الجهاز فى حالة تصفير لمدة تأخير إضافى تسمى (TPWRT) للسماح بمهلة زمنية أكبر لوصول جهد التغذية إلى مستوى الآمان . مؤقت بناء القدرة (PWRT) يعطى تأخير زمنى ( كمهلة ) قدره 72 ms من بعد عملية بناء القدرة . وهذا المؤقت يعمل على مذبذب RC داخلى (لأن المذبذب الخارجى لم يعتمد عليه بعد ) وبالتالى تظل الشريحة فى حالة التصفير طوال فترة المؤقت PWRT . وهذا التأخير يسمح للجهد VDD بالإرتفاع إلى القيمة المقبولة. بواسطة خانة التهيئة PWRTE يمكن تمكين أو عدم تمكين enable/disable المؤقت PWRT
ت- مؤقت التأخير لبدء المذبذب Oscillator Start-up Timer (OST) عند إستخدام نظام العمل بمذبذب كريستال فإنه يتم تشغيل مؤقت آخر خاص يسمى OST . هذا المؤقت يعطى تأخير زمنى لمدة 1024 دورة من دورات المذبذب ( الواصل الى الدخل OSC1 ) من بعد إنتهاء زمن التاخير للمؤقت PWRT . هذا التاخير لضمان بدء واستقرار المذبذب الكريستال أو الكوارتز . وهذا الزمن يعمل فقط مع الأنظمة XT و LP و HS وفقط عند تمكين Power-on Reset أو الإستيقاظ من الخمول (النوم) SLEEP . عندما يكون الإرتفاع فى الجهد الموجب VDD بطيئا فمن المحتمل أن تنتهى مهلة المؤقت PWRT وكذلك مهلة المؤقت OST ولم يصل هذا الجهد بعد الى القيمة المقبولة . فى هذه الحالة نحتاج إلى دائرة "تصفير عند توصيل القدرة " خارجية ( وهى الإجابة على السؤال ما الحاجة الى الدخل MCLR ؟) .
الغرض الأساسى لمؤقت الحراسة (المراقبة) الميكروكونترولر يعمل فى عالم واقعى به تداخلات وذبذبات فى مصدر القدرة وحتى أمراض وعلل فى البرمجيات . هذه المشاكل تؤثر على عمل المعالج وقد تؤدى الى تعليمات برمجية خاطئة . يوجد خطر كبير وداهم مع أى نظام يعتمد فى أساسه على المعالجات وهو أن فشل البرمجيات بطريقة ما يصبح النظام غير عامل ولا يستجيب للتعليمات . فى الكومبيوتر الشخصى المكتبى يمكنك التغلب على ذلك بإعاد التشغيل reboot. لكن فى تطبيقات الأنظمة الأخرى يمكن أن يسبب كارثة لأنه قد لا يتواجد أى مستخدم ليلاحظ أن هناك خطأ ما كما قد لا تتواجد وسيلة ربط أو واجهة interface مع المستخدم . فى كثير من المواقف قد يكون التصفير اليدوى هو كل ما نحتاجه (كما فى الكومبيوتر الشخصى) . وعلى الرغم من ذلك فهناك أيضا الكثير من الحالات لا يكون فيها التصفير اليدوى عمليا والنتيجة تكون مأساة مثل حالات أجهزة تنظيم ضربات القلب أو فى الطائرات و الأقمار الصناعية . مؤقت المراقبة أو الحراسة يقدم الحل المناسب لهده المشكلة . يمكن للمصمم المبرمج إستخدام مؤقت الحراسة أو المراقبة والذى يقوم أتوماتيكيا بعمل تصفير للجهاز .
ما هو مؤقت الحراسة ؟: مؤقت الحراسة هو عداد بمذبذب حر بدائرة RC داخل شريحة الميكروكونترولر ولا يحتاج أى مكونات خارجية والذى يقوم بالعد بإستمرار (عند تمكينه) وإذا حدث به طفحان overflow فإنه يجبر الميكروكونترولر على التصفير reset . هذا المذبذب منفصل عن مذبذب ساعة الميكروكونترولر(ساعة النظام) المتصل بالطرف OSC1/CLKIN وهذا يعنى أن مؤقت الحراسة سوف يعمل حتى لو توقف مذبذب ساعة النظام كما فى الحالة عند تنفيذ تعليمة النوم SLEEP . فى الميكروكونترولر PIC16F84A (على سبيل المثال) يتم تمكين enabled مؤقت الحراسة بواسطة أحد خانات التهيئة . ومن ثم إما أن يعمل أو لا يعمل خلال فترة تشغيل الميكروكونترولر . بالطبع قد لا ترغب فى إستخدام مؤقت الحراسة . يتم ذلك عند حرق (تحميل) البرنامج على الميكروكونترولر والأفضل وضع سطر فى البرنامج للتهيئة كما يلى :
هذا السطر لا يقوم فقط بفصل مؤقت الحراسة ( _WDT_OFF) ولكنه أيضا يحدد نوع المذبذب الداخلى (كريستال _XT_OSC) وأيضا فصل حماية شفرة البرنامج (ليسمح لك ببرمجة الجهاز مرة أخرى عند الرغبة ) ( _CP_OFF ) , كما أنه يؤدى إلى تفعيل التصفير عند بدأ توصيل القدرة ( _PWRTE_ON ) كما يمكن عدم تمكين مؤقت الحراسة من العمل disabled بجعل خانتة التهيئة WDTE بالقيمة المنطقية (0) .
الفترة الطبيعية لمؤقت الحراسة (بدون إستخدام معامل قسمة التردد prescaler ) هى 18 ms وتسمى "فترة انتهاء المهلة" time-out period . فترة إنتهاء المهلة تتغير مع درجة الحرارة والجهد الموجب VDD ونوع الميكروكونترولر . عند الرغبة فى زيادة فترة إنتهاء المهلة يتم إستخدام معامل القسمة للتردد prescaler بقيمة تصل الى 1:128 . يتم تخصيص معامل القسمة لمؤقت الحراسة برمجيا عن طريق مسجل الخيارات OPTION_REG ومن ثم يمكن الحصول على فترة إنتهاء المهلة تصل الى 2.3 seconds .
تعليمة مسح مؤقت الحراسة CLRWDT وتعليمة النوم SLEEP تقومان بتصفير مؤقت الحراسة WDT ومعامل القسمة ( إذا كان مخصصا لمؤقت الحراسة) ليعمل بالطريقة المطلوبة . الخانة (معكوس TO ) فى سجل الحالة STATUS يتم مسحها clearعند إنتهاء فترة مهلة مؤقت الحراسة
إستخدام مؤقت الحراسة يكون حسب رغبة المبرمج وعندئذ يجب التأكد من أنه خلال البرنامج يتم مسح مؤقت المراقبة WDT بصفة دورية بالتعليمة (clrwdt) . فى العادة يتم ذلك كجزء من البرنامج فى حلقة غير منتهية وبحيث يتم تنفيذ البرنامج فى كل مرة فى فترة زمنية أقل من 18ms ( فترة مهلة وتأخير ) يظل خلالها مؤقت الحراسة غير فعال . فإذا حدث خطأ ما وأنتهت هذه المهلة يقوم المؤقت عندئذ بعمل تصفير الجهاز . التصفير نتيجة مؤقت الحراسة عامة خبر غير سار للنظام حيث بالطبع يدمر جميع قيم الضبط الحالى ويبدأ البرنامج من جديد . مع ذلك فهذا افضل من عدم التشغيل كليا . لاحظ أن مؤقت الحراسة يترك دليل عمله خلفه ويكون ذلك من خلال الخانة TO بسجل الحالة STATUS . من الممكن إختبار هذه الخانة عند بداية البرنامج وبالتالى نستطيع أن نفرق بين التصفير نتيجة بداية توصيل القدرة والتصفير نتيجة مؤقت الحراسة .
آلية (ميكانيزم) عمل التصفير بمؤقت الحراسة Watchdog Timer :
هذا النوع من التصفير موجود فى جميع أفراد عائلة الميكروكونترولر PIC , مؤقت الحراسة هو مؤقت مستقل ويعمل حرا بإستخدام مذبذب خاص داخلى بدائرة RC . يستخدم مؤقت الحراسة فى وظيفتين : الوظيفة الأولى : إجبار المعالج على عمل تصفير reset لنفسه إذا أصبح تنفيذ البرنامج غير مستقر . الوظيفة الثانية : أجبار المعالج على النهوض أو الإستيقاظ من نظام الخمول أو النوم sleep دوريا.
عند إستخدام نظام "الحراسة" فإن المؤقت يتم تصفيره من خلال البرنامج باستخدام تعليمة تصفير مؤقت الحراسة (CLRWDT) . إذا حدث لأى سبب عدم استقرار فى عمل الميكروكونترولر عندئذ لن تنفذ تعليمة تصفير مؤقت الحراسة (CLRWDT) فى الوقت المحدد (فترة انتهاء المهلة timeout) حيث يقوم مؤقت الحراسة بالعد الى نهايته ويبدأ من الصفر من جديد (تسمى حالة طفحان overflow) . عند الوصول ألى هذه الحالة فإنه يتم إجبار الميكروكونترولر على البدء من حالة معروفة مرة اخرى. لذلك فإن مكان التعليمة CLRWDT مهم حتى تكون مؤثرة .
يمكن إستخدام معامل قسمة التردد prescalar لتغيير الزمن الخاص بمؤقت الحراسة . إذا كان الميكروكونترولر فى نظام النوم SLEEP فعند حدوث طفحان لمؤقت الحراسة يجبر الميكروكونترولر على الإستيقاظ واستمرار تنفيذ البرنامج من المكان بعد تعليمة النوم SLEEP . يجب ملاحظة أنه عند استخدام نظام المذبذب الكريستال فإن مؤقت بدء المذبذب سوف يعطى تأخر للمذبذب حتى يستقر بعد الاستيقاظ . بمجرد إستيقاظ الميكروكونترولر يقوم بتحديد ما إذا كان هناك تغيير فى الأحداث (مثل تغيير حالة المداخل والمخارج) ويقوم بتنفيذ الكود المناسب . بعد ذلك يقوم الكود بإرسال الميكروكونترولر مرة أخرى إلى نظام النوم وتتكرر الدورة . إستخدام مؤقت الحراسة بهذه الطريقة يوفر الطاقة لأن الميكروكونترولر يكون فى نظام النوم فى أغلب الأوقات عند استخدام مؤقت الحراسة هناك بعض النقاط الهامة التى يجب أخذها فى الإعتبار عند تصميم البرنامج : النقطة الاولى : هى أنه عند تمكين enabled مؤقت الحراسة فلا يمكن أبدا وقف عمله بالبرمجة . ويظل يعمل حتى إن كان الميكروكونترولر فى نظام النوم . النقطة الثانية : مؤقت الحراسة يستخدم مذبذب RC داخلى خاص وبسيط وفترة تأخيره تختلف من جهاز إلى اخر وتعتمد على قيمة التغير فى جهد التغذية وفى درجة الحرارة لذالك يجب على المصمم أخذ هذه التغيرات فى الاعتبار . النقطة الاخيرة : دائرة مؤقت الحراسة تسحب تيار إضافى عند تمكينها للعمل فيجب أخذ ذلك فى الاعتبار عن حساب التيار المطلوب للتطبيق .
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 02:57 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)