كيفية واجهة LED مع متحكم 8051

جرب أداة القضاء على المشاكل





نحن على دراية كبيرة بـ 'Hello world!' كود البرنامج الأساسي في المرحلة الأولية من أي لغة برمجة لتعلم بعض الأشياء الأساسية. وبالمثل لتبدأ مع 8051 Microcontroller ، فإن واجهة LED هي شيء أساسي في برمجة واجهة وحدة التحكم الدقيقة. يختلف كل متحكم دقيق في بنيته ، لكن مفهوم الواجهة متماثل تقريبًا لجميع وحدات التحكم الدقيقة. سيعطيك هذا البرنامج التعليمي واجهة LED مع 8051.

التواصل هو طريقة توفر الاتصال بين وحدة التحكم الدقيقة وجهاز الواجهة. الواجهة هي إما جهاز إدخال أو جهاز إخراج أو جهاز تخزين أو جهاز معالجة.




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

أجهزة واجهة الإخراج: LED ، LCD ، الجرس ، سائق التتابع ، سائق محرك DC ، شاشة 7-Segment إلخ.



أجهزة واجهة التخزين: تستخدم لتخزين / الاحتفاظ بالبيانات ، على سبيل المثال ، بطاقة SD ، EEPROM ، DataFlash ، ساعة الوقت الحقيقي ، إلخ.

نموذج واجهة MicroController

نموذج واجهة MicroController

واجهات LED مع 8051

تتكون الواجهة من الأجهزة (جهاز الواجهة) والبرامج (رمز المصدر للتواصل ، ويسمى أيضًا باسم برنامج التشغيل). ببساطة ، لاستخدام LED كجهاز إخراج ، يجب توصيل LED بمنفذ Microcontroller ويجب برمجة MC من الداخل لجعل LED ON أو OFF أو يومض أو خافت. يسمى هذا البرنامج باسم برنامج التشغيل / البرنامج الثابت. يمكن تطوير برنامج التشغيل باستخدام أي لغة البرمجة مثل التجميع ، C إلخ.


8051 متحكم

تم اختراع جهاز التحكم الدقيق 8051 في عام 1980 بواسطة شركة Intel. يعتمد أساسها على هندسة هارفارد وقد تم تطوير هذا المتحكم الدقيق بشكل أساسي لاستخدامه في الأنظمة المضمنة. لقد ناقشنا سابقا 8051 تاريخ وأساسيات متحكم دقيق . وهي عبارة عن 40 دبوس PDIP (حزمة بلاستيكية مزدوجة مضمنة).

8051 يحتوي على مذبذب على رقاقة ، لكنه يتطلب ساعة خارجية لتشغيله. بلورة كوارتز متصل بين دبابيس XTAL في MC. تحتاج هذه البلورة إلى مكثفين من نفس القيمة (33pF) لتوليد إشارة ساعة بالتردد المطلوب. تم شرح ميزات 8051 Microcontroller في مقالتنا السابقة.

وصلات كريستال متحكم دقيق

وصلات كريستال متحكم دقيق

LED (الصمام الثنائي الباعث للضوء)

LED هو جهاز أشباه الموصلات تستخدم في العديد من الأجهزة الإلكترونية ، وتستخدم في الغالب لأغراض إرسال الإشارات / بيان الطاقة. إنه رخيص للغاية ومتوفر بسهولة في مجموعة متنوعة من الأشكال واللون والحجم. تُستخدم مصابيح LED أيضًا في لوحات عرض رسائل التصميم وأضواء إشارات التحكم في حركة المرور وما إلى ذلك.

لها طرفان موجب وسالب كما هو موضح في الشكل.

قطبية LED

قطبية LED

الطريقة الوحيدة لمعرفة القطبية هي إما اختبارها بمقياس متعدد أو من خلال المراقبة الدقيقة داخل مؤشر LED. الطرف الأكبر داخل الصمام هو -ve (الكاثود) والأقصر هو + ve (الأنود) ، هذه هي الطريقة التي نكتشف بها قطبية LED. هناك طريقة أخرى للتعرف على القطبية وهي ، توصيل الخيوط ، طول المحطة الموجبة أطول من الطرف السلبي.

واجهة LED حتى 8051

هناك طريقتان يمكننا من خلالهما ربط LED بالمتحكم الدقيق 8051. لكن الاتصالات وتقنيات البرمجة ستكون مختلفة. توفر هذه المقالة معلومات حول واجهة LED مع رمز 8051 وامض LED لـ متحكم AT89C52 / AT89C51.

واجهات LED لطرق 8051

واجهات LED لطرق 8051

لاحظ بعناية أن واجهة LED 2 منحازة للأمام لأن جهد الدخل 5 فولت متصل بالطرف الموجب لمؤشر LED ، لذلك هنا يجب أن يكون دبوس وحدة التحكم الدقيقة عند المستوى المنخفض. والعكس مع واجهة التوصيل 1.

يعد المقاوم مهمًا في واجهة LED للحد من التيار المتدفق وتجنب إتلاف LED و / أو MCU.

  • سوف تتوهج الواجهة 1 LED ، فقط إذا كانت قيمة PIN الخاصة بـ MC عالية حيث يتدفق التيار نحو الأرض.
  • سوف تتوهج الواجهة 2 LED ، فقط إذا كانت قيمة PIN الخاصة بـ MC منخفضة حيث يتدفق التيار نحو PIN نظرًا لإمكاناته المنخفضة.

يظهر مخطط الدائرة أدناه. LED متصل بالطرف 0 من المنفذ 1.

دائرة محاكاة البروتيوس

دائرة محاكاة البروتيوس

سوف أشرح كود البرنامج بالتفصيل. علاوة على ذلك ، يرجى الرجوع إلى هذا الرابط ' برنامج تعليمي لبرمجة لغة سي مضمن مع لغة كايل '. تم توصيل بلورة 11.0592 ميجا هرتز لتوليد الساعة. كما نعلم أن 8051 Microcontroller ينفذ تعليمات في 12 دورة من دورات وحدة المعالجة المركزية [1] ، ومن ثم فإن هذه البلورة التي تبلغ 11.0592 ميجا هرتز تجعل هذا 8051 يعمل بسرعة 0.92 MIPS (ملايين التعليمات في الثانية).

في الكود أدناه ، يتم تعريف مؤشر LED على أنه دبوس 0 من المنفذ 1. في الوظيفة الرئيسية ، يتم تبديل LED بعد كل نصف ثانية. وظيفة 'تأخير' تنفذ عبارات فارغة في كل مرة عندما يتم تنفيذها.

تولد قيمة 60000 (تم تجميعها باستخدام برنامج Keil micro-vision4) حوالي ثانية واحدة (وقت تأخير) وقت تنفيذ عبارة فارغة عند استخدام الكريستال 11.0592 ميجا هرتز. وبهذه الطريقة ، يتم وضع مؤشر LED المتصل بدبوس P1.0 ليومض باستخدام الكود الوارد أدناه.

الشفرة

#يشمل

sbit LED = P1 ^ 0 // تم تسمية pin0 للمنفذ 1 باسم LED

// إقرارات الوظيفة

cct_init باطل (باطل)

تأخير باطل (int a)

int main (باطل)

{

cct_init ()

بينما (1)

{

LED = 0

تأخير (60000)

الصمام = 1

تأخير (60000)

}

}

cct_init باطل (باطل)

{

P0 = 0x00

P1 = 0x00

P2 = 0x00

P3 = 0x00

}

تأخير باطل (int a)

{

إنت أنا

لـ (أنا = 0 أنا

}

تقدم هذه المقالة معلومات حول كيفية تفاعل LED مع 8051. هذا هو مفهوم التفاعل الأساسي لمشاريع متحكم 8051.

آمل من خلال قراءة هذا المقال أن تكون قد حصلت على المعرفة الأساسية حول كيفية واجهة وحدة LED مع 8051. إذا كان لديك أي استفسارات بخصوص هذه المقالة أو حول مشاريع متحكم ، من فضلك لا تتردد في التعليق في القسم أدناه.