ملتقى مهندسي كردستان
اهلا بك زائرنا الكريم انت غير مسجل لدينا يشرفنا الانضمام الى اسرتنا بالضغط على ( تسجيل ) او الذهاب الى القسم الذي تريد وتمتع بوقتك معنا



 
المجلةالرئيسيةالتسجيلدخول

شاطر | 
 

 كل شيئ عن ( PIC 16F8X ) الجزء الثالث

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin
Admin



مُساهمةموضوع: كل شيئ عن ( PIC 16F8X ) الجزء الثالث   2012-01-29, 9:15 pm

نجد من توزيع ارجل الميكروكنترولر ان الرجل رقم 4 تستخدم فى عمل reset وهذه الكلمة تعنى اعادة الميكرو الى وضع حالته المعروفة
و ذلك عندما يكون الميكروكنترولر فى حالة غريبة او نتائجه غير دقيقة .
وكما ذكرنا سابقا ان الخط الموجود فوق كلمة MCLR تعنى عمل reset للميكرو فى حالة ان هذه الرجل تساوى صفر وليس 1
والشكل الاتى يوضح الدائرة المستخدمة فى ذلك

وهذه الدائرة أكثر تفصيلا


ويحدث ايضا للميكرو reset فى الحالات الاتية
1- عند تشغيله وتوصيله بمصدر قدرة
2- عند استخدام الامر SLEEP
3- عندما يحدث زيادة لل Watchdog
4- عندما يقل مصدر القدرة عن قيمته المطلوبة
وفى التطبيقات الصناعية فان مصدر القدرة يكون غير منتظم ويتغير باستمرار ولذلك فانه لن يحدث ال reset الا بعد 72 ثانية
من استقرار مصدر القدرة حتى يتجب عمل ريست بدون داعى
موضح فى الشكل الاتى

Central Processing Unit
وحدة المعالجة المركزية
فى هذا الجزء سنقوم بدراسة وحدة المعالجة المركزية بتفصيل اكثر حيث انها تمثل مخ الميكروكنترولر وهو الجزء المسئول عن احضار
وتنفيذ تعليمات البرنامج وتركيبها موضح فى الشكل الاتى :

ويجب ملاحظة انه عندما يقوم المبرمج بكتابه برنامج معين فان التعليمات تكون مثلا فى الصورة الاتية MOVLW 0×20 ولكن هذه التعليمات لا يفهمها الميكرو
ولذلك يجب ان تحول الى صفر و واحد وهذه الصيغة تسمى opcode وهى التى يفهمها الميكرو .
وعملية تحويل الحروف الى الصيغة opcode تتم بواسطة المترجم translator او يسمى احيانا assembler .
ويوجد ايضا بالميكروكنترولر وحدة فرعية تسمى وحدة الحساب والمنطق ALU وهى المسئولة عن العمليات الحسابية والعمليات المنطقية وايضا تقوم بتنفيذ عمليات
التحويل ونقل البيانات من والى المسجلات وفى الشكل الاتى نرى وحدة الحساب والمنطق حيث يدخل اليها التعليمة المراد تنفيذها من instruction register مع
حالتها وحالة التعليمة السابقة من status register ثم تقوم باخراج النواتج الى working register .


وفى الشكل الاتى نرى التركيب العام لاجزاء للميكرو كنترولر


STATUS Register
وهو من اهم المسجلات الموجودة فى الميكركنترولر
ولكن دعنا الان نلقى نظرة على المسجلات الموجودة فى الميكروكنترولر
وهى موضحة فى الشكل الاتى :


ونلاحظ من الشكل السابق وجود خانتين Bank 0 وهى التى يقوم المستخدم بالتعامل معها و Bank 1 هى نسخة طبق الاصل من Bank 0
وايضا تقسم ذاكرة البيانات الى جزء علوى وجزء سفلى
والجزء العلوى من 00h الى 0bh وهو 11 مكان و يسمى
Special Function Registers
(SFR)
و هو للتحكم فى الميكرو والاجهزة الخارجية المتصلة به
والجزء السفلى يسمى
General Purpose Registers (GPR)
وهو الذى يعتبر كرام RAM
وكما نرى المسجل STATUSموجود فى العنوان 03h ويمكننا ايضا استخدامه من خلال العنوان 83h
وتركيبه كما بالشكل الاتى :


وكما واضح من الشكل انه يحتوى على 8-bit والان سنبدا فى التعرف على كل bit ووظيفته على حده
bit 0 C (Carry) Transfer
وتكون قيمته تساوى 1 عندما يحدث زيادة فى ناتج اى عملية حسابية اى يزيد الناتج عن 255 وهى ال 8-bit المتاحة وفى هذه الحالة يضع
الميكرو فى هذه البت 1 لانه لا يجد مكان لتخزين الناتج
فى فى حالة عدم تجاوز 255 فان قيمته هذا البت تظل 0
وهذا البت مهم جدا ويسمى Carry Flag
bit 1 DC (Digit Carry) DC Transfer
فهو خاص باول 4 بت حيث تكون قيمته 1 فاذا كان الناتج ازيد من 15 وهى تعنى ان الناتج قد استهلك اول 4 بت
وسيقوم بتخزينه فى ال 4 بت الباقيين وفى حالة العكس تكون قيمته تساوى صفر
bit 2 Z (Zero bit) Indication of a zero result
وهذا البت يستخدم لتوضيح ان ناتج اى عملية حسابية او منطقيه يساوى صفر
وتكون قيمته تساوى 1 عندما يكون ناتج العمليات يساوى 0
وتكون قيمته تساوى 0 عندما يكون ناتج العمليات لا يساوى 0
bit 3 PD
(Power-down bit)
تكون قيمة هذا البت تساوى 1 عندما يبدا الميكرو فى العمل وذلك بعد عملية reset وتكون قيمته صفر عندما يبدا فى اعادة التشغيل وتنفيذ امر SLEEP
وتنفيذ هذا الامر يكون عند نقص القدرة المطلوبة .
bit 4 TO Time-out ; Watchdog overflow.
تكون قيمته تساوى واحد عندما ينتهى من اعادة التشغيل وتنفيذ أمر SLEEP وتصبح قيمته تساوى صفر عندما يرجع لنا Watchdog خطا معين
bit6:5 RP1:RP0
(Register Bank Select bits)
كما لاحظنا فى توزيع المسجلات انه يوجد ما يسمى Bank0 وBank1 فهذان البتان يتيحان لنا عملية اختيار البنك صفر او البنك واحد
يجب ملاحظة ان عناوين الذاكرة تتنتهى بالعنوان FFh وهذا يساوى 255 ونجد ان الميكر PIC16f84 لديه 256 فلذلك سنحتاج بت واحد فقط وهو RP0 اما RP1 فلن
يتم استخدامه ولكن تم وضعه للتطوير المستقبلى وتكون قيمته دائما صفر
اما RP0 تكون 1 عندما نستخدم Bank 1 وتكون 0 عندما نستخدم Bank 0
bit 7 IRP
(Register Bank Select bit)
ويتستخدم فى حالة العناوين الغير مباشرة حيث يقوم اختيار ال ( Bank ) المطلوب العمل بها

_________________
<div style="text-align: center;"><img src="https://i41.servimg.com/u/f41/15/71/88/74/002h0510.jpg"><br></div>
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://noratron.kobani.eu
 
كل شيئ عن ( PIC 16F8X ) الجزء الثالث
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
ملتقى مهندسي كردستان :: الاقسام الهندسية :: الميكروكونترولر-
انتقل الى: