ڈسپلے کسی بھی مشین کا ضروری حص partہ ہوتا ہے چاہے وہ کوئی گھریلو سامان ہو یا صنعتی مشینیں۔ ڈسپلے نہ صرف مشین کو چلانے کے لئے کنٹرول کے اختیارات ظاہر کرتا ہے بلکہ اس مشین کے ذریعہ انجام دیئے گئے کام کی حیثیت اور آؤٹ پٹ کو بھی ظاہر کرتا ہے۔ الیکٹرانکس میں بہت سی قسم کی ڈسپلے استعمال ہوتی ہیں جیسے 7 طبقہ ڈسپلے ، 16x2 LCD ڈسپلے ، TFT ٹچ اسکرین ڈسپلے ، OLED ڈسپلے وغیرہ۔
16x2 LCD ڈسپلے سب سے بنیادی ڈسپلے ماڈیول ہے اور کچھ چھوٹے الیکٹرانکس آلات جیسے کیلکولیٹر ، ڈیجیٹل میٹر وغیرہ میں بھی استعمال ہوتا ہے ہم نے 16X2 LCD کا استعمال کرتے ہوئے بہت سارے پروجیکٹس کیے ہیں جس میں دیگر مائکروکانٹرولرز کے ساتھ بنیادی انٹرفیسنگ بھی شامل ہے۔
- 8051 مائکروکانٹرولر کے ساتھ LCD انٹرفیسنگ
- اے ٹی میگا 32 مائکروکونٹرولر کے ساتھ انٹرفیسنگ LCD
- پی سی سی مائکروکانٹرولر کے ساتھ ایل سی ڈی انٹرفیسنگ
- ارڈوینو کے ساتھ انٹرفیسنگ 16x2 LCD
- ازگر کا استعمال کرتے ہوئے راسبیری پائی کے ساتھ 16x2 LCD انٹرفیسنگ
اس ٹیوٹوریل میں ، ہم دیکھیں گے کہ کس طرح 16x2 LCD کو Atmega16 AVR مائکروقابو کنٹرولر کے ساتھ انٹرفیس کیا جائے اور ایک آسان استقبالیہ پیغام ڈسپلے کیا جائے۔
ضروری اجزاء
- اتمیگا 16
- 16x2 LCD ماڈیول
- جمپرز
- بریڈ بورڈ
سرکٹ ڈایاگرام
16x2 LCD ڈسپلے کے لئے پروگرامنگ Atmega16
پروگرامنگ کے لئے کسی بیرونی لائبریریوں کی ضرورت نہیں ہے۔ یہاں اٹمیگا 16 کو یو ایس بی اے ایس پی اور اتمیل اسٹوڈیو 7.0 کا استعمال کرتے ہوئے پروگرام کیا گیا ہے ۔ پروجیکٹ کے اختتام پر مکمل پروگرام اور ورکنگ ویڈیو دیا گیا ہے ، پروگرام کو اتمیگا 16 میں اپ لوڈ کریں اور ایل سی ڈی کی چمک کو ایڈجسٹ کرنے کے لئے 10 ک POT گھمائیں۔ابتدائی طور پر سی پی یو فریکوئینسی کی وضاحت کریں اور ضروری لائبریریاں شامل کریں جو اتمیل اسٹوڈیو پیکیج کے ساتھ آئیں جیسے IO پنوں تک رسائی حاصل کرنے کے ل and اور
پروگرام میں LCD کے RS اور EN پن کی وضاحت کریں ۔ آر ایس پنوں کو ڈیٹا اور کمانڈ رجسٹر کو منتخب کرنے کے لئے استعمال کیا جاتا ہے۔ قابل پن ڈیٹا کو لیچ کرتا ہے۔
# ڈیفائن این پی اے 3 # ڈیفائن آر ایس پی اے 2
اس کی وضاحت کریں کہ LCD کو انٹرفیس کرنے کے لئے Atmega16 کا کون سا PORT استعمال کیا جائے گا۔ یہاں ، پورٹا استعمال ہوتا ہے۔
# ڈیفائن ایل سی ڈی ڈائریکشن ڈی ڈی آر اے # ڈیفائن ایل سی ڈی پورٹ پورٹا
اگلا مرحلہ ایک فنکشن تیار کرنا ہے جو پیرامیٹر پاس کرکے کمانڈ قبول کرے گا۔ بہت سے LCD HEX کمانڈ ہیں۔ LCD کے کام کی وضاحت کے لئے ہیکس کمانڈز استعمال کیے جاتے ہیں۔ چونکہ ہم LCD کا 4 بٹ موڈ استعمال کر رہے ہیں ، اس لئے بائٹ (8 بٹ) دو پیکٹوں میں بھیجی جائے گی۔ ایک پیکٹ اپر نیبل (4 بٹ) اور دوسرے پیکٹ لوئر نبل (4 بٹ) کے ہوں گے۔
باطل lcdCommand (دستخط شدہ چار احکامات) { lcdPort = (lcdPort & 0x0F) - (احکامات اور 0xF0)؛ lcdPort & = ~ (1 <
اگلا مرحلہ حروف کو قبول کرنا اور اسے LCD کی بندرگاہ پر جکڑنا ہے ۔ موصول ہونے والے حروف کو پھر گھٹیا بذریعہ LCD گھماؤ کو بھیجا جاتا ہے۔ فنکشن پیرامیٹر کے ذریعہ پاس کا استعمال کرتے ہوئے کردار کو لیتا ہے اور پھر اوپر اور نچلے حصے میں لے جاتا ہے۔ اعداد و شمار کے اندراج کے لئے 'آر ایس' پن اعلی پر رکھا گیا ہے اور پھر اعداد و شمار کو لچ کرنے کے لئے ایک بڑھتی ہوئی نبض بھیجی جاتی ہے۔ اسی طرح نچلے حصے کو قابل کی قیمت کو تبدیل کرکے اور بڑھتی ہوئی نبض کو اہل بنا کر بھیج کر بھیجا گیا ہے۔
باطل lcdChar (بغیر دستخط شدہ چار تار) { lcdPort = (lcdPort & 0x0F) - (تار اور 0xF0)؛ lcdPort - = (1 <
یہ فنکشن صرف کردار کو تار میں بدلتا ہے اور بعد میں جہاں لکھنے کے سلسلے کی ضرورت ہوتی ہے پروگرام میں استعمال ہوسکتی ہے۔
باطل lcdString (چار * str) { انٹ جے؛ کے لئے (J = 0؛! STR = 0؛ J + +) { lcdChar (STR)؛ } }
اب ایک فنکشن صرف اسکرین کو صاف کرنے کے لئے لکھا گیا ہے ۔ آپ کو HEX میں صرف کمانڈ 01 بھیجنا ہوگا اور پھر کرسر کو ابتدائی پوزیشن پر سیٹ کریں۔
باطل lcdClear () { lcdCommand ہے (0x01)؛ _ڈیلا_س (2)؛ lcdCommand (0x80)؛ }
اب مرکزی تقریب میں ، LCD شروع کی گئی ہے۔ ابتدائی طور پر LCD کے انٹرفیس کے لئے PORT سمت طے کریں۔ یہاں ، پورٹ کو آؤٹ پٹ کے طور پر سیٹ کیا گیا ہے لہذا ایف ایف کو سیٹ کریں۔
lcdirection = 0xFF؛ _ ڈیلے_نمز (20)
پھر ہیکس میں 02 بھیج کر LCD کو 4 بٹ موڈ میں سیٹ کریں ۔ اسے 2 لائن میں ، 15x7 میٹرکس پکسلز کو 4 بٹ موڈ میں سیٹ کرنے کے لئے 28 ہیکس میں بھی بھیجیں۔
lcdCommand (0x02)؛ lcdCommand (0x28)؛
کمانڈ 0C اور 06 کرسر پوزیشن کو کنٹرول کرنے کے لئے استعمال کیا جاتا ہے. اور آخر میں صرف ہیکس میں 01 بھیج کر اسکرین صاف کریں۔ اس سے LCD کی ابتداء ختم ہوجائے گی۔
lcdCommand (0x0c)؛ lcdCommand (0x06)؛ lcdCommand (0x01)؛
ابتداء ختم ہونے کے بعد صرف اسٹرنگ بھیج کر LCD کی جانچ کریں۔ یہاں ہم ایک تار "بھیج رہے interfacing کے LCD 1 میں" سینٹ صف.
lcdString ("انٹرفیسنگ LCD")؛
پھر ہیکس میں c0 کمانڈ بھیج کر کرسر کو اگلی صف میں منتقل کریں ۔ اور آخر کار اس پوزیشن پر ، " Atmega1 6 کے ساتھ" سٹرنگ لکھیں ۔
lcdCommand (0xC0)؛ lcdString ("Atmega16 کے ساتھ")؛
اس میں Atmega16 کے ساتھ 16x2 LCD انٹرفیس کرنے پر مکمل ٹیوٹوریل ختم ہوتا ہے ۔ نوٹ کریں کہ اگر آپ کو کوئی شبیہہ یا پکسلز نہیں ملتے ہیں تو یا تو کوڈ اور سرکٹ ڈایاگرام کے مطابق اپنی وائرنگ کو چیک کریں یا LCD کے V0 پن سے منسلک POT کی قدر کو تبدیل کریں۔ اگر آپ کو کوئی شک یا مشورہ ہے تو آپ ہمارے فورم پر لکھ کر یا نیچے تبصرہ کرکے ہم تک پہنچ سکتے ہیں۔