الحمد لله رب العالمين والصلاة والسلام على سيدنا محمد صلى الله عليه وسلم صاحب الخلق العظيم وعلى آله وأصحابه أجمعين ...
نبدأ على بركة الله تعالى في الحلقة الأول من دراسة المتحكم الصغريMicroController من نوع AVR ..
المتحكم الذي سندرسه اسمه ATmega16 ومعنى اسمه كما يلي :
AT وتعني أن الشركة المصنعة هي ATMEL
Mega وهو كنية المتحكم (يعني اسم عائلته
) وهناك عوائل أخرى مثل tiny ..
16 وتعني أن الذاكرة المخصصة لحفظ البرنامج فيه هي 16 كيلو بايت
_____________________________________________________
أود منذ البداية أن أنوه إلى بعض النقاط أرجو التركيز عليها :
1. أهم مرجع على الإطلاق لأي عنصر إلكتروني أو أي دارة متكاملة .. هي التعليمات المرفقة من الشركة المصنعة ... وتُعرف باسم Data Sheet.. وتحتوي على جميع المواصفات الكهربائية والفيزيائية للعنصر .. وعلى شرح جميع وظائف الدارة المتكاملة ..
وأضع بين يديكم datasheet لمتحكمنا atmega16
وسنتعاون بإذن الله على فهمها بالتفصيل ... بحيث نقرأ الصفحات التي تجيب على أسئلتنا بوضوح ...
2. هدف هذه الدروس هو تلخيص الأفكار الهامة والابتعاد عن أي معلومة غير مفيدة للمبتدئ... وسأحاول بإذن الله تعالى ... وضع كل معلومة في مكانها المناسب ...
وبالتالي فهذه الدروس ليست أكثر معلومات من المراجع العربية المتوفرة أو الكتب الالكترونية ولكنها أكثر تركيزاً ... وأقل حجماً ...
وإن شاء الله تعالى تكون أكثر فائدة ..وسأعمل بإذن الله تعالى على الاعتناء بتنسيقها جيداً ..فتكون المعلومة أيسر للفهم وأوضح للمتعلم بإذن الله تعالى ..
3. لن ندخل في تفصيلات أو تعدادات لن تفيدنا في مجال دراستنا بشكل مباشر ...
فمثلاً .. لن تكون البداية عن التقدم التكنولوجي ولا عن تعداد أسماء الشركات وأنواع المتحكمات .. والفروق بينها ...
فهناك من اهتم بهذه الأمور ولذلك سأذكر مرجعاً يمكن الاستزادة منه عند كل تفصيل أجد أن عدم الدخول فيه أبسط ..
4. أخيراً ...أرجو من الله تعالى التوفيق والسداد والثبات ...والقبول ..فإني نذرت هذا العمل لوجه الله تعالى ..
ولا أطلب فيه غير رضاه ..والله ولي التوفيق..
أما بعد ..
ببساطة ...مم يتألف الحاسوب Computer ؟
من معالج .. وذاكرة (ولها عدة أنواع) ..وأجهزة دخل و خرج ..وما يصل بينها جميعاً بتنسيق ما...
ببساطة ...مم يتألف المتحكم الصغري MicroController ؟
من معالج .. وذاكرة (ولها عدة أنواع ) .. وأرجل تربطه بالعالم الخارجي ...وما يصل بينها جميعاً بتنسيق ما ...
إذا ..فالمتحكم الصغري هو عبارة عن حاسوب صغير ...ولكن بدون أجهزة الدخل والخرج ...
هناك نوعان لمعظم الدارات المتكاملة ...ربما يمكننا وصفها كما يلي . نوع له أرجل شاقولية ..ونوع له أرجل أفقية ...
النوع الأول :

النوع الثاني :

الفرق بينهما هو في كيفية توزع الأرجل ... وطريقة توصيله مع الدارات المجاورة ... والذي يستخدم في الحواسيب غالبا هو النوع الثاني ..أما في الدارات اليدوية فنستخدم النوع الأول ..
بحيث نغرز أرجله على الTestBoard كهذه الصورة مثلاً ...

ببساطة ... مم يتألف المعالج ؟
وحدة تقوم بالعمليات الحسابية arithmetic كالجمع والطرح والمنطقية Logic كعملية and و or ... وفيه بضعة حجرات ذاكرة .. وممر للنقل والتنسيق بينهما وبين العالم الخارجي ...
ولكل متحكم برنامج خاص ..ومعظم الأجهزة الالكترونية التي نستعملها يوميا تحتوي على متحكم ..
كأمثلة : المايكروويف .. والتلفاز ..والغسالات الحديثة والموازين الالكترونية .والكثير الكثير ....قرأت مرة عنوانا يقول : How Many Microcontrollers Did You Use Today?
...لماذا نهتم المتحكم الصغري ؟؟
لأنه يوفر علينا صنع دارة كثيرة العناصر ومعقدة الصنع ...وغالية الثمن ولها وظيفة واحدة غير قابلة للتغيير ...عن طريق برمجة المتحكم ليقوم بهذه الوظيفة برمجياً بدل القيام بها .. هاردويريّا ...![]()
مثال سيوضح أهميته ثم سنبدأ ....
لعمل دارة تقوم بإضاءة عدد من المصابيح ..بشكل متسلسل ..الأول ثم الثاني ثم الثالث ....
سيلزمنا (بدون استخدام المتحكم ) أن نقوم بعمل دارة توقيت..ستحوي مكثفات ومقاومات ..وسنقوم بعمل دارة لاختيار المصباح لإضاءته ..
وسنقوم بربطهم معاً ..ضمن آلية ما ..الكثير من العناصر والكثير من الأسلاك ..والكثير من التعقيد ..لوظيفة واحدة لا يمكن تغييرها ... وهذه الوظيفة تبدو بسيطة بالنسبة للناظر ..!!
بالمقابل ..سنكتب ما لا يزيد عن خمسة أسطر بلغة C مثلاً ..ونصل المتحكم إلى الحسوب ونقوم بشحن البرنامج داخله ..وينتهي الأمر.. (ولكن يجب الانتباه إلى أن المتحكم لا يمكنه إضاءة المصابيح بنفسه ..لأسباب تتعلق بالتيار الأعظمي الذي يمكن أن يمر عبر المتحكم ..لذلك يتم وضع ترانزستورtransistor أو حاكمة relay .. لحل هذه المشكلة ...وهذه العملية تسمى interfacing أي تنسيق واحهة التخاطب بين المتحكم وبين ما نريد أن نتحكم به (وواجهة التخاطب عنا هي الجهود والتيارات))
لنبدأ ....
سنستخدم في دراستنا للمتحكم ..
· برنامجاً لمحاكات الدارات الإلكترونية ..وذلك لتوفير المال والجهد ...(وهذا جيد للمبتدئ فقط ...ولا يصبح خبيراً حتى يجرب بيده على أرض الواقع ..)
· بيئة نقوم فيها بكتابة البرنامج بلغة C ثم إنتاج الملف الذي نشحنه في المتحكم لبرمجته ...
أي أننا سنتعلم برمجة المتحكم بلغة C .. ويجب الإلمام بالأساسيات على الأقل في اللغة ... (من المتحولات حتى التوابع على الأقل )
سنستخدم برنامج Proteus للمحاكاة ..وبيئة Code vision لكتابة البرنامج ...وسأضع البرنامجين مع شرح لطريقة التنصيب في درس مستقل بإذن الله تعالى ...الأهم أن نفهم المتحكم الآن..
إذا درسنا المتحكم بشكل عام فإنه يتألف من معالج و ذاكرة ..وطبعاً من برنامج يقوم بتنفيذه ... (ومن المهم برأيي أن نعتبر البرنامج جزء من المتحكم )
الذاكرة لها 3 أنواع لكل واحد وظيفة ... الأنواع الثلاثة هي :SRAM وFlashوEEPROM
Flash تحفظ الكود ..(ولا تمحى بانقطاع التيار )
SRAM تخزن فيها المتحولات العادية وفيها بعض الحجرات المحجوزة سنتكلم عنها في وقتها ... (وتعتبر Stack للبرنامج )
EEPROM وتمثل ال HEAP للبرنامج ويمكن الكتابة عليها والقراءة منها ... ولا تمحى بانقطاع التيار ..
للمتحكم أرجل تصله بالعالم الخرجي ...(أي بالعناصر الإلكترونية المجاورة )
كل رجل لها وظيفة خاصة ووظيفة عامة ...
الوظائف العامة تتمثل بالدخل والخرج ... والوظائف الخاصة سنتحدث عن كل واحدة منها في وقتها بإذن الله ..
ويتم اعتماد وظيفة الرجل من خلال البرنامج ...سواء دخل أو خرج .. (أم لاستخدام وظيفته الخاصة )
في المتحكم Atmega16 هناك أربع مجموعات من الأرجل ... كل مجموعة فيها 8 أرجل (ونسمي المجموعة بوابة PORT)
لنلقي نظرة على المتحكم ... ونرى البوابات .. والأرجل ..
يمكنك ملاحظة أن عدد الأرجل الكلي هو 40 ... منها 32 للبوابات ...
والباقي نراه من الصورة :
المستطيل الزهري (لشيء اسمه المحول من تشابهي إلى رقمي ... يعني نستعمله عندما نريد استخدام ADC analog to digital converter وسنتحدث عنه في وقته ان شاء الله )
المستطيل الأزرق ... نضع عنده العنصر الالكتروني الذي يولد ترددات ... ( كريستالة ) .. في حالات خاصة ... (لأن بداخل المتحكم يوجد مولد ترددات يصل إلى 16Mhz ... سريع ما شاء الله
)
لاحظ الأحمر vcc نصله إلى جهد التغذية 5 ... وgnd إلى الجهد 0v
والبنفسجي .. هي رجل إعادة التشغيل ... وسنتعلم استخدامها في الدرس الثاني بإذن الله تعالى ...
والآن بعد أن أنهينا هذه النظرة العامة ...على ما يهمنا في المتحكم ... انتهت المقدمة ...
وسندرس في الدرس القادم استعمال الدخل والخرج في المتحكم بإذن الله تعالى ...
وسأفرد درساً لتنصيب البرنامجين proteus و codevision بإذن الله تعالى ...
وسنتعلم استخدامهما في الدرس الأول إن شاء الله تعالى ...
والله ولي التوفيق ..
والسلام عليكم ورحمة الله وبركاته ...
بما أنه لدينا 4 بوابات وكل بوابة فيها 8 أرجل ...يمكننا برمجة الأرجل لتكون 32 رجل دخل أو 32 رجل خرج .. أو أن نخلط بينها دخل وخرج ...سنتعلم برمجتها في الدرس الأول بإذن الله ...

