پلکنے والی ایل ای ڈی وہ پہلا قدم ہے جو آپ الیکٹرانکس کے ساتھ شروع کرنا چاہتے ہیں۔ اس ٹیوٹوریل میں ہم ایک ایل ای ڈی کو اے ٹی میگا 32 کے ساتھ مربوط کرنے جارہے ہیں ، جو ایک اے وی آر سیریز مائکروکانٹرولر ہے۔ ہم آدھے دوسرے ریٹ پر ایل ای ڈی پلک جھپکنے جارہے ہیں۔
ضروری اجزاء
ہارڈ ویئر:
ATmega32A مائکروکانٹرولر
بجلی کی فراہمی (5v)
AVR-ISP پروگرامر
100uF سندارتر
ایل. ای. ڈی
220Ω مزاحم
سافٹ ویئر
اٹیل اسٹوڈیو 6.1
پیشرفت یا فلیش جادو
سرکٹ اور ورکنگ وضاحت
جیسا کہ اے وی آر مائکروکونٹرولر کے ساتھ ایل ای ڈی انٹرفیسنگ کے لئے مذکورہ بالا سرکٹ ڈایاگرام میں دکھایا گیا ہے ، یہاں کسی بیرونی کرسٹل کو مربوط کرنے کی ضرورت نہیں ہے۔ کیونکہ اے ٹی ایم ای جی اے پہلے سے طے شدہ طور پر اندرونی 1 میگاہرٹز ریزسٹر-کپیسیٹر آسکیلیٹر پر کام کرتا ہے۔ صرف اس وقت جب گھڑی کی درستگی کی ضرورت ہو ، اعلی صحت سے متعلق گنتی کے اطلاق کے طور پر ، بیرونی کرسٹل منسلک ہوتا ہے۔ جب کنٹرولر پہلے خریدا جاتا ہے تو ، یہ پہلے سے طے شدہ طور پر اندرونی کرسٹل پر کام کرنے میں ناکام ہوجاتا ہے۔
ایل ای ڈی سے موجودہ ڈرائنگ کو محدود کرنے کے لئے ریزسٹر یہاں منسلک ہے۔ یاد رکھیں ، کنٹرولر ٹرمینلز پر 30mA سے زیادہ فراہم نہیں کرسکتا ہے۔
پروگرامنگ وضاحت
اے ٹی میگا 32 مائکرو قابو پذیر ایل ای ڈی کو پلکنے کے لئے پروگرام نیچے دکھایا گیا ہے کوڈ میں دیئے گئے تبصرے کوڈ کی انفرادی لائن کے مقصد کی وضاحت کرتے ہیں۔
پنوں پر ڈیٹا کے بہاؤ پر قابو پانے کے ل # # ہیڈر شامل کریں
# ڈیفائن ایف_سی پی یو 1000000 // بتانا کنٹرولر کرسٹل تعدد
# شامل کریں
انٹ مین مین (باطل)
{
DDRD = 0xFF؛ // (یا 0b1111 1111) کنٹرولنگ کو کسی بندرگاہ کے کچھ خاص استعمال کو ان پٹ کے طور پر استعمال کرنے کو بتانے کے لئے "Zero" استعمال کرتے ہیں ، کیونکہ ہم اسے "ایک" استعمال کرتے ہیں۔ چونکہ ہم نے آٹھ "ون کی" رکھی ہے ، لہذا PORTD کے تمام پنوں کو آؤٹ پٹ کے بطور فعال کیا گیا ہے۔ اگر ہم ایک صفر کو "0b1111 0111" کے بطور رکھتے ہیں تو ، اب تمام پن 0،1،2،4،5،6،7 ان پٹ کے بطور فعال ہیں اور پن 3 ان پٹ کے بطور فعال ہے۔
جبکہ (1) // لوپ ہمیشہ کے لئے چلتا رہتا ہے اور ایل ای ڈی ہمیشہ کے لئے چمکتا رہتا ہے
{
پورٹڈ = 0 ایکس ایف ایف؛ // PORTD کے تمام پنوں کو 5v آؤٹ پٹ فراہم کرنے کے لئے کہا جاتا ہے یا اونچائی کھینچنے کے لئے کہا جاتا ہے (ایل ای ڈی)
_ڈیلا_س (220)؛ // 200ms کے لئے تاخیر
_ڈیلا_س (220)؛)؛ // 200ms کے لئے تاخیر
پورٹ = 0 x00؛ // PORTD کے تمام پنوں کو کہا جاتا ہے کہ وہ پیداوار میں گراؤنڈ فراہم کرتے ہیں یا نیچے کی طرف جاتے ہیں
_ڈیلا_س (220)؛)؛ // 200ms کے لئے تاخیر
_ڈیلا_س (220)؛)؛ // 200ms کے لئے تاخیر
}
}