ملتقى مهندسي كردستان
اهلا بك زائرنا الكريم انت غير مسجل لدينا يشرفنا الانضمام الى اسرتنا بالضغط على ( تسجيل ) او الذهاب الى القسم الذي تريد وتمتع بوقتك معنا
ملتقى مهندسي كردستان
اهلا بك زائرنا الكريم انت غير مسجل لدينا يشرفنا الانضمام الى اسرتنا بالضغط على ( تسجيل ) او الذهاب الى القسم الذي تريد وتمتع بوقتك معنا
ملتقى مهندسي كردستان
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.



 
المجلةالرئيسيةأحدث الصورالتسجيلدخول

 

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

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



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

نجد من توزيع ارجل الميكروكنترولر ان الرجل رقم 4 تستخدم فى عمل reset وهذه الكلمة تعنى اعادة الميكرو الى وضع حالته المعروفة
و ذلك عندما يكون الميكروكنترولر فى حالة غريبة او نتائجه غير دقيقة .
وكما ذكرنا سابقا ان الخط الموجود فوق كلمة MCLR تعنى عمل reset للميكرو فى حالة ان هذه الرجل تساوى صفر وليس 1
والشكل الاتى يوضح الدائرة المستخدمة فى ذلك
كل شيئ عن ( PIC 16F8X ) الجزء الثالث Ooo_3_10
وهذه الدائرة أكثر تفصيلا

كل شيئ عن ( PIC 16F8X ) الجزء الثالث Ooo_3_11
ويحدث ايضا للميكرو reset فى الحالات الاتية
1- عند تشغيله وتوصيله بمصدر قدرة
2- عند استخدام الامر SLEEP
3- عندما يحدث زيادة لل Watchdog
4- عندما يقل مصدر القدرة عن قيمته المطلوبة
وفى التطبيقات الصناعية فان مصدر القدرة يكون غير منتظم ويتغير باستمرار ولذلك فانه لن يحدث ال reset الا بعد 72 ثانية
من استقرار مصدر القدرة حتى يتجب عمل ريست بدون داعى
موضح فى الشكل الاتى
كل شيئ عن ( PIC 16F8X ) الجزء الثالث Ooo_3_12
Central Processing Unit
وحدة المعالجة المركزية
فى هذا الجزء سنقوم بدراسة وحدة المعالجة المركزية بتفصيل اكثر حيث انها تمثل مخ الميكروكنترولر وهو الجزء المسئول عن احضار
وتنفيذ تعليمات البرنامج وتركيبها موضح فى الشكل الاتى :
كل شيئ عن ( PIC 16F8X ) الجزء الثالث Ooo_3_13
ويجب ملاحظة انه عندما يقوم المبرمج بكتابه برنامج معين فان التعليمات تكون مثلا فى الصورة الاتية MOVLW 0×20 ولكن هذه التعليمات لا يفهمها الميكرو
ولذلك يجب ان تحول الى صفر و واحد وهذه الصيغة تسمى opcode وهى التى يفهمها الميكرو .
وعملية تحويل الحروف الى الصيغة opcode تتم بواسطة المترجم translator او يسمى احيانا assembler .
ويوجد ايضا بالميكروكنترولر وحدة فرعية تسمى وحدة الحساب والمنطق ALU وهى المسئولة عن العمليات الحسابية والعمليات المنطقية وايضا تقوم بتنفيذ عمليات
التحويل ونقل البيانات من والى المسجلات وفى الشكل الاتى نرى وحدة الحساب والمنطق حيث يدخل اليها التعليمة المراد تنفيذها من instruction register مع
حالتها وحالة التعليمة السابقة من status register ثم تقوم باخراج النواتج الى working register .

كل شيئ عن ( PIC 16F8X ) الجزء الثالث Ooo_3_14
وفى الشكل الاتى نرى التركيب العام لاجزاء للميكرو كنترولر

كل شيئ عن ( PIC 16F8X ) الجزء الثالث Ooo_3_15
STATUS Register
وهو من اهم المسجلات الموجودة فى الميكركنترولر
ولكن دعنا الان نلقى نظرة على المسجلات الموجودة فى الميكروكنترولر
وهى موضحة فى الشكل الاتى :

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

كل شيئ عن ( PIC 16F8X ) الجزء الثالث Ooo_3_17
وكما واضح من الشكل انه يحتوى على 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 ) المطلوب العمل بها
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://noratron.kobani.eu
 
كل شيئ عن ( PIC 16F8X ) الجزء الثالث
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» كل شيئ عن ( PIC 16F8X ) الجزء الثاني
» كل شيئ عن ( PIC 16F8X ) الجزء الاول
» المذربورد الجزء 4
» المذربورد الجزء 5
» كل شيئ عن الدش جزء 1

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