قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 30-05-2011, 01:47 PM المشاركة 17   
افتراضي



إخراج البيانات Outputting data
الميكروكونترولر PIC هو جهاز رقمى digital device كما ذكرنا عدة مرات لذلك فخرجه هو إشارة رقمية digital signal . فى أغلب الحالات نستخدم هذا الخرج فى توصيل وفصل on-off شىء ما . الصفر يعنى الفصل '0' = 'off' والواحد يعنى التوصيل '1' = '0n' على سبيل المثال .
إفترض أننا إعددنا المنفذ port B كمنفذ للمخارج (أو ندع برمجيات Flowcode تقوم بذلك نيابة عنا) . يوجد أربع أطراف بالمنفذ port B لذلك يمكننا تحويل 8 أجهزة بين حالتى التوصيل و الفصل .
من المهم التخطيط لطريقة توصيل هذه الأجهزة وإلا عملت بطرقة مخالفة لما نريد . الشكل التالى يبين توصيل 8 ليدات إلى المنفذ port B .
لاحظ أن الأربع ليدات الحمراء مموصلة بين الطرف الموجب للمنبع وأطراف المنفذ portB . فى هذه الحالة الميكروكونترولر " يبتلع" 'sinking'تيار (بالوعة أو مصب) . الليدات الخضراء موصلة بين أطراف المنفذ وبين طرف صفر الجهد 0V . فى هذه الحالة الميكروكونترولر "يصدر" 'sourcing' تيار ( مصدر أو منبع) . كل ليد حمراء تضىء عندما يكون طرفها فى حالة الجهد المنخفض أى عندما يخرج '0'. وكل ليد خضراء تضىء عندما يكون طرفها فى حالة الجهد المرتفع أى عندما يخرج '1' .


ملحوظة :
توجد حدود لكمية التيار التى يمكن للمنفذ تناولها . عمليا كل طرف يمكن أن يتناول تيار حتى 25mA . هذا التيار كافى لتشغيل ليد و عنصر تنبيه buzzer مباشرة ولكن الأجهزة التى تحتاج إلى قدرة مرتفعة سوف تحتاج إلى دوائر إضافية للربط مع الميكروكونترولر (سوف نتناول ذلك فيما بعد ) . أقصى لجميع المنافذ فى حدود 100mA لذلك فليس كل المنافذ يمكنها إخراج 25mA فى نفس الوقت .
كما سوف ترى فإن برمجيات Flowcode تمتلك نظام للمحاكاة يسمح لك بإلحاق attach (وضع) ليدات لمشاهدة (مراقبة) حالة أطراف الميكروكونترولر عندما تستخدم كمخارج . محاكاة وظيفة الليد داخل برمجيات Flowcode تفترض أن التيار يصدر من الميكروكونترولر مثل الليدات الخضراء بالشكل العلوى .

حفظ البيانات Storing data

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 30-05-2011, 04:10 PM المشاركة 18   
افتراضي


حفظ البيانات Storing data
الأنظمة الفرعية التى تحفظ البيانات تسمى "ذاكرة" 'memory' حيث يمكنها حفظ البيانات الرقمية فقط .
يتم حفظ كل عنصر من عناصر البيانات فى مكان بالذاكرة (يسمى سجل) . البيانات يمكن أن تكون تركيبة صحيحة بغرض إطلاق تنبيه لجهاز إنذار أو التحكم فى درجة حرارة آلة .
كل سجل بالذاكرة له عنوان منفرد به unique address وهو عدد يستخدم لتعريف مكان سجل معين . هذا يعنى أنه يمكننا رسم خريطة للذاكرة تبين أى البيانات يحفظ فى كل سجل .






بيان النظام العشرى للعنوان وضع لجعل قراءة الجدول أكثر سهولة .
الأنظمة الإلكترونية تفهم فقط الأعداد الثنائية . أصغر ذاكرة (السجل) تمتلك 8 مواقع . لاحظ أنه وكالمعتاد الترقيم يبدأ من الصفر . هذه الذاكرة تحتاج إلى عدد مكون من 3 خانات ثنائية لتسمح بالتفرقة فى عناوين كل موقع . وهى تسمح لنا بحفظ بيانات بطول 8 خانات والتى تعرف بالبايت B'byte'. هذا المثال من الذاكرة يمكن تسميته : ذاكرة 8 x 1B .
أنظمة الذاكرة المستخدمة فى الكومبيوتر أكبر بكثير من هذا . فعادة ما يتم حفظ البيانات كأعداد مكونة من
32 bit بما يسمح بحفظ أعداد أكبر .كما يوجد أيضا أماكن أكثر .
أنواع الذاكرة Types of memory

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 30-05-2011, 04:14 PM المشاركة 19   
افتراضي


أنواع الذاكرة Types of memory
يوجد العديد من أنواع الذاكرة الإلكترونية وكل نوع له وظيفة مختلفة قليلا نوعا ما .
يمكننا تقسيم الذاكرة إلى مجموعتين رئيسيتين :
1- ذاكرة القراءة فقط Read Only Memory (ROM) :
  • هذه الأجهزة فى العادة ما تقرأ فقط خلال تشغيل البرنامج .
  • محتوياتها غير متطايرة ( البيانات يتم الحفاظ عليها حتى عند فصل منبع القدرة )
  • غالبا ما تستخدم فى حفظ البرامج الأساسية والتى تعرق باسم "أنظمة التشغيل"
'operating systems' التى يحتاجها الكومبيوتر .
  • هذه المجموعة تضم :
# PROM (Programmable Read Only Memory) .
# EPROM (Erasable Programmable Read Only Memory) .
# EEPROM (Electrically Erasable Programmable Read Only Memory).

الذاكرة PROM هى جهاز (لمرة واحدة) . تصل هذه الذاكرة خالية blank وجاهزة لاستقبال البيانات . يمكن حرق (وضع – تحميل ) 'burned' البيانات بها ولكن لمرة واحدة . بعد ذلك تتصرف كشريحة ROM أى يمكن قراءتها كثير من المرات ولكن بدون تغييرها .

مع الذاكرة EPROM تستخدم أشعة فوق بنفسجية ساطعة من خلال نافذة موجودة بأعلا الشريحة بغرض مسح المحتويات . عندئذ يمكن حرق بيانات جديدة بالذاكرة .
الذاكرة EEPROM تعمل بنفس طريقة EPROM فيما عدا أن المحتويات يتم مسحها بإرسال تتابع خاص من الإشارات الكهربائية إلى طرف محدد .

ذاكرة "الفلاش" 'Flash' memory هى شكل من الذاكرة EEPROM وتستخدم على مدى واسع كوسط تخزين فى الكاميرات الرقمية (the memory stick) وفى أجهزة ألعاب الفديو المنزلية .

2- ذاكرة الوصول العشوائى Random Access Memory (RAM) :
  • تسمح ذاكرة RAM بعمليتى القراءة والكتابة خلال تشغيل البرنامج .
  • محتويات ذاكرة RAM متطايرة وتختفى بمجرد فصل مصدر القدرة ( يستثنى من ذلك الذاكرة
NVRAM, Non-Volatile RAM أى الغير متطايرة حيث تضم بطارية لحفظ المحتويات وقد تضم شريحة ذاكرة RRPROM كجزء من الذاكرة لحفظ المحتويات عند فقد القدرة ) .
  • غالبا ما تستخدم فى الحفظ المؤقت للبيانات أو برامج التطبيقات .

ذاكرة الميكروكونترولر PIC :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 30-05-2011, 04:45 PM المشاركة 20   
افتراضي


ذاكرة الميكروكونترولر PIC :
تمتلك شريحة الميكروكونترولر PIC ثلاثة مساحات منفصلة من الذاكرة : ذاكرة البرنامج
program memory و ذاكرة المستخدم المتغيرة RAM و الذاكرة EEPROM .وأسماؤها تعطى دلالة على الغرض من كل مساحة . بالنسبة للميكروكونترولر PIC16F84 ذات 18 طرف فأن الشكل التالى يوضح تنظيم الذاكرة :







ذاكرة البرنامج تستخدم فى حفظ البرنامج . هذه الذاكرة غالبا ما تكون من نوع تقنية الفلاش FLASH . وهذا يعنى أنع يمكن برمجتها ومسحها العديد من المرات .
ذاكرة البيانات تستخدم فى حفظ البيانات . جزء من هذه الذاكرة من النوع RAM وجزء آخر من النوع EEPROM . ذاكرة EEPROM تسمح لنا بالحفاظ على البيانات الهامة حتى إذا تم فصل منبع القدرة عن النظام . على سبيل المثال , افترض أن الميكروكونترولر PIC هو جزء من متحكم فى درجة حرارة والذى يحافظ على حضانة incubator عند درجة حرارة محددة . من المنطقى حفظ قيمة درجة الحرارة المطلوبة فى ذاكرة EEPROM بحيث لا نضطر على إدخالها إلى النظام فى كل مرة يتم فيها توصيل الحضانة .
الميكروكونترولر PIC16F84 هو جهاز صغير نسبيا . فى الميكروكونترولر PIC16F877 يوجد 8192 كلمة من ذاكرة البرنامج ( كل كلمة word تحتوى على 14 bits) , وعلى 368 بايت من ذاكرة المستخدم RAM وعلى 256 بايت من الذاكرة EEPROM .

ما هو البرنامج program ؟


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 30-05-2011, 10:33 PM المشاركة 21   
افتراضي


ما هو البرنامج program ؟
أجهزة الميكروكونترولر هى أجهزة قابلة للبرمجة وهى تفعل ما تخبرها بفعله تماما ولا شىء آخر . البرنامج قو قائمة من التعليمات جنبا إلى جنب مع أى بيانات مطلوب تنفيذها .
لسوء الحظ فإن أجهزة الميكروكونترولر لا تفهم اللغة الإنجليزية . الشىء الوحيد الذى تفهمه هو الأعداد . إذا هناك مشكلة ! فنحن لا نستطيع التخاطب بالأعداد وهى لا تفهم الإجليزية !
هناك حلان والاثنان يحتاجان لشكل ما من الترجمة . يمكن أن تكتب نحن البرنامج بالإنجليزية أو بشىء قريب منها ثم يكون لدينا شىء يترجم النتيجة إلى أعداد .
البديل , يمكننا التفكير بالإنجليزية ثم نترجمه بأنفسنا إلى لغة تشبه الأعداد ( هذه العملية تسمى "أسمبلر" 'assembler' أو الأسمبلى ) وبعدها تتبقى خطوة سريعة وبسيطة للتحويل إلى كود عددى يفهمه الميكروكونترولر .
ويعرف هذان النقيضان بالبرمجة بلغة عالية المستوى high-level language ( شىء قريب من الإنجليزية) أو البرمجة بلغة منخفضة المستوى low-level language .
الطريقة الأولى عادة أسرع وأسهل للمبرمج ولكنها تأخذ حيز ومدة أطول لتشغيل البرنامج بسبب الحاجة لترجمتها للميكروكونترولر .
الطريقة الثانية أبطأ بكثير للمبرمج ولكنها تؤدى إلى العمل السريع جدا على المعالج الدقيق .
قد تعتقد أن الأمر معقد جدا .
أنت محق فى ذلك .
لكن لا تقلق : برمجيات Flowcode تستخدم مخططات (خرائط) المسار flowcharts والتى تمثل أسهل والأعلى مستوى فى البرمجة .

عملية برمجيات Flowcode :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 30-05-2011, 10:39 PM المشاركة 22   
افتراضي


عملية برمجيات Flowcode :
توفر برمجيات Flowcode طريقة سهلة لبرمجة شرائح الميكروكونترولر كما سوف ترى .بمجرد تصميم مخطط المسار على الشاشة والضغط على زر تتم ترجمته إلى كود عددى .
توجد عملية تحتاج لفهم : يرمجيات Flowcode تمرر البرنامج من خلال عدد من العمليات قبل أن ترسله إلى الميكروكونترولر : أولا يعالج مخطط المسار لإنتاج كود بلغة السى ثم بعد ذلك يعالج لإنتاج كود بلغة الأسمبلى وفى النهاية يعالج يعالج لإنتاج كود بأعداد سداسية عشر أو 'Hex' . الميكروكونترولر يفهم الأعداد السداسية عشر .
يرسل الكود HEX إلى الميكروكونترولر . لهذا السبب تقوم برمجيات Flowcode بتشغيل برمجيات فرعية تسمى 'PPP' . عندما تختار القائمة والأمر CHIP...CONFIGURE من قوائم برمجيات Flowcode فإن البرنامج PPP هو ما تراه . البرنامج PPP يتحكم فى عدد من خيارات الميكروكونترولر وفى الإعدادات عن طريق تحديد قيم للسحلات الموجودة بداخل الميكروكونترولر عندما تقوم بتحميل البرنامج .







يتم حرق كود Hex بذاكرة البرنامج للميكروكونترولر . تذكر أن ذاكرة البرنامج من النوع الغير متطاير وهذا يعنى أن البرنامج لا يفقد عندما رفع الميكروكونترولر من جهاز البرمجة بما يسمح لك باستخدامه فى الدائرة .ويعنى أيضا أنه يمكنك إعادة استخدام الميكروكونترولر وإعادة كتابة برنامج جديد على ذاكرة البرنامج .
تشغيل البرنامج Running the program :
بمجرد توصيل القدرة إلى الميكروكونترولر ويكون به ساعة clock يبدأ فى العمل لينفذ البرنامج الموجود بذاكرة البرنامج .
إذا ضغطت على زر إعادة التشغيل reset يبدأ البرنامج العمل من البداية .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 31-05-2011, 12:55 AM المشاركة 23   
افتراضي


الأنواع المختلفة من الميكروكونترولر PIC :
يوجد العديد من أجهزة الميكروكونترولر PIC المتاحة فمنها النوع المتواضع مثل PIC16F84 ومنها الأكبر والأعقد مثل PIC16F877 ذات الأربعين طرف .
الأنواع المختلفة من الميكروكونترولر تمتلك : عدد مختلف من المنافذ أو من أطراف المداخل / المخارج
I/O pins و عدد مختلف من المداخل التناظرية و مساحات مختلفة من الذاكرة وإمكانيات مختلف من الاتصالات التسلسلية مثل RS232 و SPI والتى سوف نتناولها فيما بعد .

قرار أى نوع من الميكروكونترولر يستخدم لمشروع بعينه يمكن أن يكون مهمة task فى حد ذاته .

سوف نستخدم هنا الميكروكونترولر PIC16F887A ذات الأرعين طرف والذى يمتلك دوائر داخلية كثيرة ( مثل المحول A/D والمنفذ التسلسلى) .

مقدمة :










حيث أننا سوف نستخدم الميكروكونترولر PIC16F877A فى التدريبات فيجب علينا التعرف عليه عن قرب من حيث ماذا يفعل وكيف يستخدم .
سوف تحتاج إلى فهم توصيلات المداخل والمخارج وكمية الذاكرة المتاحة لك .

المنفذ PORT A :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 31-05-2011, 01:01 AM المشاركة 24   
افتراضي


المنفذ PORT A :
  • 6 أطراف متاحة فقط للمنفذ PORT A بالميكروكونترولر PIC16F877A .
  • الأطراف RA0-RA5 يمكن أن تستخدم كمداخل رقمية .
  • الأطراف RA0-RA5 يمكن أن تستخدم كمخارج رقمية .
  • الأطراف AN0-AN4 يمكن أن تستخدم كمداخل تناظرية ( أى خمس مداخل تناظرية بالمنفذ PORT A ) .





المنفذ PORT B :
  • يمكن استخدام جميع الأطراف الثمانية بالمفذ PORT B للميكروكونترولر PIC16F877A .
  • الأطراف RB0-RB7 يمكن أن تستخدم كمداخل رقمية .
  • الأطراف RB0-RB7 يمكن أن تستخدم كمخارج رقمية .
  • إمكانية المقاطعة الخارجية عن طريق الطرف RB0 .
  • إمكانية المقاطعة الخارجية عن طريق الأطراف RB4-RB7 .




المنفذ PORT C :
  • يمكن استخدام جميع الأطراف الثمانية بالمفذ PORT C للميكروكونترولر PIC16F877A .
  • الأطراف RC0-RC7 يمكن أن تستخدم كمداخل رقمية .
  • الأطراف RC0-RC7 يمكن أن تستخدم كمخارج رقمية .
  • إمكانية نظام التعديل فى عرض النبضات على بالأطراف RC1 و RC2 .
  • يحتوى المنفذ PORT C أيضا على إمكانية للاتصال التسلسلى USART .




المنفذ PORT D :
  • يمكن استخدام جميع الأطراف الثمانية بالمفذ PORT C للميكروكونترولر PIC16F877A .
  • الأطراف RD0-RD7 يمكن أن تستخدم كمداخل رقمية .
  • الأطراف RD0-RD7 يمكن أن تستخدم كمخارج رقمية .




المنفذ PORT E :
  • المتاح فقط 3 أطراف للمنفذ PORT E بالميكروكونترولر PIC16F877A .
  • الأطراف RE0-RE2 يمكن أن تستخدم كمداخل رقمية .
  • الأطراف RE0-RE2 يمكن أن تستخدم كمخارج رقمية .
  • الأطراف AN5-AN7 يمكن استخدامها كمداخل تناظرية( ثلاثة مداخل تناظرية بالمنفذ (PORT E


ذاكرة الميكروكونترولر PIC16F877A :



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:30 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)