http://www.youm7.
19.04.08تجمع «مهندسون ضد الحراسة» يبدأ اعتصامًا شاملاً اليوم بسبب تجاهل الحكم القضائي إجراء انتخابات النقاب
http://www.almasry-
تجمع «مهندسون ضد الحراسة» يبدأ اعتصامًا شاملاً اليوم بسبب تجاهل الحكم القضائي إجراء انتخابات النقابة
كتب محمد عبدالخالق مساهل ١٨/٤/٢٠٠٨دعا تجمع «مهندسون ضد الحراسة» المهندسين في جميع أنحاء الجمهورية إلي المشاركة في اعتصام سلمي شامل اليوم، في نادي سابا باشا بمدينة الإسكندرية، احتجاجًا علي تجميد نقابة المهندسين وعدم رفع الحراسة عنها رغم صدور حكم قضائي نافذ يقضي بضرورة الإعلان عن موعد لإجراء الانتخابات.
وقال التجمع في بيان أمس إن الاعتصام سيتم نقله إلي القاهرة في مقر النقابة العامة ١٠ مايو العام المقبل، مطالبًا بتنفيذ الحكم القضائي. وأشار التجمع إلي أن الاعتصام سيتضمن المطالبة بتحسين الأوضاع المعيشية للمهندسين بزيادة الحد الأدني لراتب الخريج إلي ١٠٠٠ جنيه، وزيادة معاش نقابة المهندسين إلي ١٠٠٠ جنيه شهريا. وانتقد البيان «التسويف الحكومي» في تنفيذ الحكم القضائي واجب النفاذ مع عدم ظهور أي بادرة للاستجابة للمطالب العادلة للمهندسين برفع الحراسة عن نقابتهم وإجراء الانتخابات الحرة.
وقال البيان: «علينا أن نظهر عزمنا علي استرداد حقوقنا وأن نبرهن للمستبدين الذين يسلبون هذه الحقوق أننا لن نقبل استمرار اختطاف نقابتنا»، وأضاف «فلنقف معا في وجه المغتصبين لنقابتنا وليعلو صوتنا، مطالبين بنقابة حرة في وطن حر».
19.04.08الدرس الرابع ج3
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 المطلوب العمل بها .
__________________
19.04.08الدرس الرابع ج2
Central Processing Unit
وحدة المعالجة المركزية
فى هذا الجزء سنقوم بدراسة وحدة المعالجة المركزية بتفصيل اكثر حيث انها تمثل مخ الميكروكنترولر وهو الجزء المسئول عن احضار وتنفيذ تعليمات البرنامج وتركيبها موضح فى الشكل الاتى :
ويجب ملاحظة انه عندما يقوم المبرمج بكتابه برنامج معين فان التعليمات تكون مثلا فى الصورة الاتية MOVLW 0×20 ولكن هذه التعليمات لا يفهمها الميكرو
ولذلك يجب ان تحول الى صفر و واحد وهذه الصيغة تسمى opcode وهى التى يفهمها الميكرو .
وعملية تحويل الحروف الى الصيغة opcode تتم بواسطة المترجم translator او يسمى احيانا assembler .
ويوجد ايضا بالميكروكنترولر وحدة فرعية تسمى وحدة الحساب والمنطق ALU وهى المسئولة عن العمليات الحسابية والعمليات المنطقية وايضا تقوم بتنفيذ عمليات التحويل ونقل البيانات من والى المسجلات وفى الشكل الاتى نرى وحدة الحساب والمنطق حيث يدخل اليها التعليمة المراد تنفيذها من instruction register مع حالتها وحالة التعليمة السابقة من status register ثم تقوم باخراج النواتج الى working register .
وفى الشكل الاتى نرى التركيب العام لاجزاء للميكرو كنترولر
19.04.08الدرس الرابع ج1
Reset
نجد من توزيع ارجل الميكروكنترولر ان الرجل رقم 4 تستخدم فى عمل reset وهذه الكلمة تعنى اعادة الميكرو الى وضع حالته المعروفة و ذلك عندما يكون الميكروكنترولر فى حالة غريبة او نتائجه غير دقيقة .
وكما ذكرنا سابقا ان الخط الموجود فوق كلمة MCLR تعنى عمل reset للميكرو فى حالة ان هذه الرجل تساوى صفر وليس 1
والشكل الاتى يوضح الدائرة المستخدمة فى ذلك
وهذه الدائرة أكثر تفصيلا
ويحدث ايضا للميكرو reset فى الحالات الاتية
1- عند تشغيله وتوصيله بمصدر قدرة
2- عند استخدام الامر SLEEP
3- عندما يحدث زيادة لل Watchdog
4- عندما يقل مصدر القدرة عن قيمته المطلوبة
وفى التطبيقات الصناعية فان مصدر القدرة يكون غير منتظم ويتغير باستمرار ولذلك فانه لن يحدث ال reset الا بعد 72 ثانية من استقرار مصدر القدرة حتى يتجب عمل ريست بدون داعى
موضح فى الشكل الاتى
19.04.08الدرس الثالث ج2
توصيف الارجل
فى الشكل الاتى نجد الميكروكنترولر مع اسم كل رجل
وكما نلاحظ فالميكروكنترولر يحتوى على 18 رجل وفائدة كل رجل موضحة كما يلى :
1- RA2 الرجل الثانية فى المرفأ A
2- RA3 الرجل الثالثة فى المرفأ A
3- RA4 الرجل الرابعة للمرفأ A ولها وظيفة اضافية هى TOCK وتستخدم مثل المؤقت او المذبذب
4- MCLR وهى RESET INPUT والخط الموجود فوقها يدل على انها تعمل فى حالة تحول الاشارة من قيمة موجبة الى الصفر ويوصل بها VPP وهو الفولت اللازم لبرمجة الميكرو
5- VSS خط الارضى GROUND
6- RB0 الرجل رقم صفر فى المرفا B ولها وظيفة اضافية حيث تستخدم فى عمل ال INTERRUPT
7- RB1 الرجل الاولى فى المرفا B
8- RB2 الرجل الثانية فى المرفأ B
9-RB3 الرجل الثالثة فى المرفأ B
10-RB4 الرجل الرابعة فى المرفأ B
11- RB5 الرجل الخامسة فى المرفأ B
12- RB6 الرجل السادسة فى المرفأ B وهى التى تستخدم فى دخول الساعة الى الميكروكنترولر
13-RB7 الرجل السابعة فى المرفأ B وهى التى تستخم فى دخول البيانات
14-Vdd توصل بالجهد الموجب 15-OSC1 توصل بالمذبذب
16- OSC2 توصل بالمذبذب 17- RA0 الرجل رقم صفر فى المرفا A
18- RA1 الرجل الاولى فى المرفا A
Clock generator - oscillator
المذبذب
والان سنتعرف عن قرب على المذبذب وكيفية توصيله وانواعه
من خصائص الميكرو - الذى هو محل دراستنا - انه يمكنه ان يتعامل مع اربعة اشكال مختلفة من المذبذب .
ولكن عادة نستخدم نوعين فقط هما
crystal oscillator
او
resistor-capacitor
والنوع الاول يسمى XT او كما معروف فى الاسواق بى الكريستالة
وشكله كما يلى
والنوع الثانى هو
RC وهذا النوع اقل دقة من النوع الاول وقد يستخدم فى بعض التطبيقات التى قد لا تحتاج دقة عالية فى المذبذب .
ويعتمد هذا النوع على الجهد الداخل الى المقاومة والمكثف والذى يولد بما يسمى Resonant frequency
ونلاحظ ان هذا النوع قد تم توصيله بالرجل رقم 3 TOCK1
ويجب ملاحظة ان فى النوع الاول المذبذب او الكريستالة لا تعمل عند توصيل الكهرباء مباشرة ولكن تنتظر لفترة تعرف بى Crstal start up time وهى فتره كافيه ليصل المذبذب الى حالة الاستقرار والتخلص من الضوضاء وموضحة فى الشكل الاتى .
19.04.08الدرس الثالث ج1
والان سنبدا فى التعرف على
Microcontroller PIC16F84
وهذا هو النوع الذى ستكون دراستنا فى الدورة مبنية عليه
وهذه بعض الملاحظات على هذا النوع
1- هذا الميكروكنترولر من فئة 8 -bit وتركيبة من النوع RISC ويسمى ايضا Harvard
والشكل العام لهذا التركيب كما فى الصورة الاتية
والنوع الاخر يسمى من تركيب الميكروكنترولات هو
CISC او von-Neumann
وتركيبه كما فى الشكل الاتى
وطبعا واضح من الرسم ما هو الفرق بينهم
ولتوضيح الفرق بينهم أكثر
نجد ان النوع هارفارد أحدث من فون نيومان حيث يعمل على زيادة سرعة الميكروكنترولر بفصل باص البيانات عن باص العناوين
ولكن فى النوع فان نيومان يكون الباصان معا وتنقل البيانات او التعليمات التى تنفذ مع البرنامج واحدة تلو الاخرى فى هذا الباص الواحد مما يسبب بطى لوحدة المعالجة المركزية .
ونجد ايضا ان كلمة RISC تعنى Reduced Instruction Set Computer اى ان هذا النوع يعتمد على تقليل عدد التعليمات المخزنة وتصل فى هذا النوع الى 35 تعليمة.
اما كلمة CISC فتعنى Complex Instruction Set Computer .
2- ذاكرة البرنامج
وهى من النوع فلاش Flash اى يمكننا بسهولة مسح البيانات التى عليها واعادة كتابتها مرة اخرى .
وعند فصل التيار الكهربى فان البيانات الموجودة بيها يتم مسحها ولا تخزن ولا يمكن استرجاعها
وتساوى فى هذا النوع الف كلمة
والكلمة او word تساوى 8-bit او تساوى 2 byte
3- EEPROM
وهى ذاكرة القراءة فقط والتى بها بيانات الميكروكنترولر وتعليماته وهذه الذاكرة لا يتم ازالتها عند فصل التيار الكهربى
وتساوى 64 بايت
4- RAM
وهى ذاكرة ايضا خاصة ببيانات الميكروكنترولر والتى يقوم باستخدمها اثناء تنفيذ البرنامج مثل البيانات المؤقتة التى يضعها الميكرو على المداخل والمخارج ليقوم باستخدامها الاجهزة المتصله به .
وتساوى 68 بايت
وهذا الميكرو لديه بورتان او مرفاءن
1- PORTA
ويحتوى على 5 أرجل
2- PORTB
يحتوى على 8 أرجل
5- FREE-RUN TIMER
وهو مسجل register خاص داخل الميكرو ويقوم بالعد من صفر الى 255 وله زمن معين بين كل عده والتى تليها .
ويستخدم فى معرفة الزمن بمعلومية الفترة التى يستغرقها بين العدة والتى تليها .
وفى الشكل الاتى نجد الشكل العام لل PIC16F84
Clock / instruction cycle
كما معروف لدينا ان الميكروكنترولر يقوم بتنفيذ التعليمات بصورة تتابعية
ولذلك لابد من وجود ساعة تنظم هذه العملية مع الوقت
والساعة فى الميكروكنترولر تسمى oscillator او المذبذب وتكون لها قيمة محددة معروفة بى الزمن بين كل ذبذبة والذبذبة التى تليها او الزمن الذى يستغرقه فى عمل ذبذبة كاملة او التردد وكما معروف لدينا فى الساعة العادية ان قيمة هذه الفترة تسمى الثانية
وتردد المذبذب يساوى 10 MHZ
ويتم توصيل المذبذب بالرجل التى تسمى OSC1 ثم يتم تقسيمها الى اربعة فترات
Q1, Q2, Q3, and Q4
وهذه الاربعة فترات تكون دورة تعليمة واحدة او تسمى كما معروف عند الجميع
machine cycle
وهى كالاتى
فى الفترة Q1 يتم استدعاء التعليمة التى عليها الدور فى التنفيذ
فى الفترة من Q2 الى Q3
يتم تحويل التعليمة الى صورة مفهومة للميكروكنترولر وهذه العملية تسمى Decoding ثم تنفيذها
فى الفترة Q4 يتم كتابة هذه التعليمة فى المسجل الخاص بها
وفى الشكل الاتى نلاحظ التقسيمات الداخلية للفترة الزمنية او الذبذبة الداخلة من
OSC1
19.04.08الدرس الثانى ج3
مكونات الميكروكنترولر
Memory unit
وحده الذاكرة
وهى جزء من اجزاء الميكروكنترولر المسئول عن تخزين البيانات بها .
وتقوم الذاكرة بترتيب البيانات فى امكان معينة ويكون لكل مكان فيها عنوان معين والفائدة من وضع العناوين هى سهولة استرجاع البيانات منها .
وتستخدم الذاكرة فى كتابة وقراءة البيانات فيها ومنها فلذلك يوجد بها خط او باص لتحديد نوع العملية سواء كانت عملية قراءة او عملية كتابة بالاضافة الى الخطوط الاخرى
وهى
خط البيانات data bus
حيث تقوم الذاكرة بتبادل البيانات مع وحدة المعالجة المركزية حسب نوع العملية فمثلا اذا كانت العملية هى قراءة فان البيانات ترسل من الذاكرة الى خط البيانات ثم تقوم وحدة المعالجة بقراءتها .
اما اذا كانت العملية هى كتابة فانها تأخد البيانات الموجودة فى خط البيانات وتقوم بوضعها فى امكانها حسب العناوين المحدده من قبل وحدة المعالجة .
الخط الاخر هو خط العناوين
وهو خط له اتجاة واحد من وحدة المعالجة الى الذاكرة ولا يسمح بالعكس حيث تقوم وحدة المعالجة المركزية بارسال العناوين المطلوب تخزين البيانات فيها او قراءتها منها حسب نوع العملية .
Central Processing Unit
وحدة المعالجة المركزية
وهى تتكون من جزءين هما
وحده الحساب والمنطق :
وهى الوحده التى تتم بها العمليات الحسابية مثل الجمع والطرح والضرب والقسمة وايضا العمليات المنطقية مثل اكبر من و اصغر من ويساوى
والجزء الثانى هى المسجلات registers :
وهى امكان يتم بها تخزين مؤقت للبيانات بغرض تنفيذها فى وحده الحساب والمنطق .
Bus
وهو مجموعة الاسلاك التى تقوم بنقل الاشارات الكهربية الرقمية بين اجزاء الميكروكنترولر ويجد ثلاثة انواع من الباص .
Address bus
ويحتوى على عدد اسلاك كافى للتعبير عن حجم الذاكرة
فمثلا لو كان حجم الذاكرة 64 k
فان عرض الباص يمكن استنتاجه من المعادلة الاتية
اذن فى المثال الموجود لدينا نجد n تساوى 8 وهى التى تعبر عن عرض الباص او عدد الاسلاك الموجودة به ويسمى 8-bit
data bus
وهو الذى يستخدم فى نقل البيانات من وحدة الذاكرة الى وحدة المعالجة المركزية والعكس من وحدة المعاجة المركزية الى الذاكرة .
control bus
وهو الخط المستخدم فى نقل اشارات التحكم من وحده المعالجة المركزية الى وحدات الميكروكنترولر المختلفة مثل أمر القراءة او الكتابة من الذاكرة ولا يسمح بالعكس
Input-output units
وحدات الادخال والاخراج
وهى التى تربط الميكروكنترولر بالعالم الخارجى وتسمى ports وهى تعمل كانها اماكن فى الذاكرة حيث يقوم الميكروكنترولر بوضع البيانات بها ليقوم باخدها الجهاز الخارجى الموصل بها .
Timer unit



































