انسانی دنیا اور مشین کی دنیا کے مابین ایک اچھا مواصلت قائم کرنے کے لئے ، ڈسپلے یونٹ ایک اہم کردار ادا کرتے ہیں۔ اور اسی طرح وہ سرایت شدہ نظام کا ایک اہم حصہ ہیں۔ ڈسپلے یونٹ - بڑے یا چھوٹے ، اسی بنیادی اصول پر کام کریں۔ گرافک ڈسپلے اور تھری ڈی ڈسایپس جیسے پیچیدہ ڈسپلے یونٹوں کے علاوہ ، کسی کو بھی 16x1 اور 16x2 یونٹوں جیسے سادہ ڈسپلے کے ساتھ کام کرنا جاننا چاہئے۔ 16x1 ڈسپلے یونٹ میں 16 حرف ہوں گے اور وہ ایک لائن میں ہوں گے۔ 16x2 LCD میں کل 16 ان 1 سینٹ لائن میں 32 حرف ہوں گے اور دوسرا 16 میں 2 این ڈی میں ہوں گےلائن یہاں ایک شخص کو سمجھنا چاہئے کہ ہر کردار میں 5x10 = 50 پکسلز ہیں لہذا ایک کردار کو ظاہر کرنے کے لئے تمام 50 پکسلز کو مل کر کام کرنا ہوگا۔ لیکن ہمیں اس کی فکر کرنے کی ضرورت نہیں ہے کیونکہ ڈسپلے یونٹ میں ایک اور کنٹرولر (HD44780) ہے جو پکسلز کو کنٹرول کرنے کا کام کرتا ہے۔ (آپ اسے ایل سی ڈی یونٹ میں دیکھ سکتے ہیں ، یہ پیچھے کی کالی آنکھ ہے)۔
ضروری اجزاء
ہارڈ ویئر:
اے ٹی میگا 32 مائکروکانٹرولر
بجلی کی فراہمی (5v)
AVR-ISP پروگرامر
JHD_162ALCD (16x2 LCD)
100uF کاپاکیسیٹر۔
سافٹ ویئر:
اٹیل اسٹوڈیو 6.1
پیشرفت یا فلیش جادو
سرکٹ ڈایاگرام اور وضاحت
جیسا کہ ATmega32 سرکٹ میں LCD انٹرفیسنگ میں دکھایا گیا ہے ، آپ دیکھ سکتے ہیں کہ ATMEGA32 کا پورٹا ڈیٹا پورٹ LCD سے منسلک ہے۔ یہاں کسی کو فیوج بائٹس کو تبدیل کرکے اے ٹی ایم ای جی اے کے پی او آر ٹی سی میں جے ٹی مواصلات کو غیر فعال کرنا یاد رکھنا چاہئے ، اگر کوئی پی او آر ٹی سی کو عام مواصلات کی بندرگاہ کے طور پر استعمال کرنا چاہتا ہے۔ 16x2 LCD میں سب سے زیادہ 16 پن ہیں ، اگر بیک لائٹ نہیں ہے ، اگر بیک لائٹ نہیں ہے تو 14 پن ہوں گے۔ کوئی بیک لائٹ پنوں کو طاقت یا چھوڑ سکتا ہے۔ ابھی 14 پنوں میں 8 ڈیٹا پنز (7-14 یا D0-D7)، 2 بجلی کی فراہمی پنوں سے ہیں (1 & 2 یا VSS & VDD یا GND & + 5V)، 3 RD برعکس کنٹرول کے لئے پن (VEE کنٹرولز کس طرح موٹی حروف ہونا چاہیے دکھایا گیا) ، 3 کنٹرول پن (RS & RW & E)
مذکورہ بالا سرکٹ میں انٹرویو کرنے کے لئے 16x2 LCD کے ساتھ AVR مائکروقابو کنٹرولر کے ساتھ ، آپ مشاہدہ کرسکتے ہیں کہ میں نے صرف دو کنٹرول پن لیا ہے۔ اس سے بہتر تفہیم کی لچک مل جاتی ہے۔ اس کے برعکس تھوڑا سا اور READ / WRITE اکثر استعمال نہیں ہوتے ہیں لہذا ان کو زمین پر چھوٹا جاسکتا ہے۔ یہ ایل سی ڈی کو سب سے زیادہ برعکس اور پڑھنے کے موڈ میں رکھتا ہے۔ ہمیں حرف اور ڈیٹا بھیجنے کے لئے صرف انبل اور آر ایس پنوں کو کنٹرول کرنے کی ضرورت ہے۔
اے ٹی میگا 32 مائکروکانٹرولر اور 16 ایکس 2 ایل سی ڈی کے درمیان رابطے ذیل میں دیئے گئے ہیں:
PIN1 یا VSS - گراؤنڈ
پن 2 یا وی ڈی ڈی یا وی سی سی۔ + 5 وی پاور
PIN3 یا VEE - گراؤنڈ (ایک ابتدائی کے لئے زیادہ سے زیادہ اس کے برعکس بہترین دیتا ہے)
پن 4 یا آر ایس (رجسٹر سلیکشن) - مائکروکانٹرولر کا PD6
پن 5 یا آر ڈبلیو (پڑھیں / لکھیں) - گراؤنڈ (ایل سی ڈی کو پڑھنے کے موڈ میں رکھتا ہے جس سے صارف کے لئے مواصلات آسان ہوجاتے ہیں)
پن 6 یا ای (قابل بنائیں) - مائکروکانٹرولر کا PD5
PIN7 یا D0 - مائکروقابو کنٹرولر کا PA0
PIN8 یا D1 - PA1
PIN9 یا D2 - PA2
پن 10 یا ڈی 3 - پی اے 3
PIN11 یا D4 - PA4
پن 12 یا ڈی 5 - پی اے 5
پن 13 یا ڈی 6 - پی اے 6
PIN14 یا D7 - PA7
سرکٹ میں آپ دیکھ سکتے ہیں کہ ہم نے 8 بٹ مواصلات (D0-D7) کا استعمال کیا ہے تاہم یہ لازمی نہیں ہے اور ہم 4 بٹ مواصلات (D4-D7) بھی استعمال کرسکتے ہیں لیکن 4 بٹ مواصلاتی پروگرام کے ساتھ ابتدائیوں کے لئے تھوڑا سا پیچیدہ ہوجاتا ہے لہذا ہم صرف ساتھ ہی گئے 8 بٹ مواصلات.
لہذا مندرجہ بالا جدول سے محض مشاہدے سے ہم ایل سی ڈی کے 10 پنوں کو کنٹرولر سے جوڑ رہے ہیں جس میں 8 پنوں کو ڈیٹا پن اور کنٹرول کے لئے 2 پن ہیں۔
کام کرنا
اب شروع کرنے کے ل you آپ کو 16 پن 2 ایل سی ڈی (8 ڈیٹا پن + 2 کنٹرول پن) کے 10 پنوں کے افعال کا پتہ ہونا چاہئے ۔ 8 ڈیٹا پن LCD کو ڈیٹا یا کمانڈ بھیجنے کے لئے ہیں۔ دو کنٹرول پنوں میں:
1. آر ایس (رجسٹر سلیکشن) پن LCD کو بتانا ہے کہ آیا ہم اس میں ڈیٹا بھیج رہے ہیں یا اس کو کمانڈ کر رہے ہیں۔
مثال کے طور پر:
مندرجہ بالا جدول میں "0b0010 1000 یا 0x28" کے ڈیٹا پورٹ (D7-D0) ویلیو کے لئے LCD کو "(" علامت) ظاہر کرنے کے لئے کہا گیا ہے۔ ٹیبل دو میں 0x28 کی ایک ہی قدر LCD کو بتاتی ہے کہ "آپ 5x7 ڈاٹ LCD ہیں اور ایک کی طرح برتاؤ کریں ، لہذا اسی قدر کے ل the صارف دو چیزوں کی وضاحت کرسکتا ہے ، اب اس صورتحال کو رجسٹر سلیکشن پن کے ذریعہ غیر جانبدار کردیا گیا ہے ، اگر آر ایس پن کم ہے تو ایل سی ڈی سمجھتا ہے کہ ہم کمانڈ بھیج رہے ہیں۔ اگر ہم آر ایس پن کو اونچائی پر رکھتے ہیں تو LCD سمجھتا ہے کہ ہم ڈیٹا بھیج رہے ہیں۔ اور اسی طرح دونوں صورتوں میں LCD RS پن ویلیو کے مطابق ڈیٹا پورٹ ویلیو کا احترام کرتا ہے۔
2. E (چالو) پن صرف "پی سی کی طاقت کا اشارہ ایل ای ڈی" بتانا ہے ، ایل سی ڈی کو "کنٹرولر کا ڈیٹا فارم ڈیٹا پورٹ وصول کرنے کے لئے" بتانے کے لئے یہ پن اونچائی پر لگا ہوا ہے۔ ایک بار جب یہ پن اونچی ہونے کے بعد کم ہوجاتا ہے تو ، LCD موصولہ اعداد و شمار پر کارروائی کرتا ہے اور اس کا نتیجہ ظاہر کرتا ہے۔ لہذا یہ پن اعداد و شمار بھیجنے سے پہلے اعلی پر رکھ دیا گیا ہے اور ڈیٹا بھیجنے کے بعد زمین پر نیچے کھینچ لیا جاتا ہے۔
اب ہارڈویئر سے مربوط ہونے کے بعد ، ایٹمل اسٹوڈیو شروع کریں اور پروگرام لکھنے کے لئے ایک نیا پروجیکٹ شروع کریں ، اب پروگرامنگ اسکرین کھولیں اور رینگ پروگرام شروع کریں۔ پروگرام مندرجہ ذیل شو کی پیروی کرنا ہے۔
پہلے ہم کنٹرولر کو بتاتے ہیں کہ ہم LCD کے ڈیٹا اور کنٹرول کے لئے کونسی بندرگاہیں استعمال کررہے ہیں۔ پھر کنٹرولر کو بتائیں کہ اس کے مطابق آر ایس اور ای پنوں کے ساتھ کھیل کر ڈیٹا یا کمانڈ کب بھیجنا ہے۔
پروگرام میں استعمال شدہ تصورات کی مختصر وضاحت:
1. E اعلی ہے (LCD کو ڈیٹا وصول کرنے کو کہتے ہیں) اور RS کم مقرر ہے (LCD کو بتا رہے ہیں کہ ہم کمانڈ دے رہے ہیں)
2. سکرین کو صاف کرنے کے لئے کمانڈ کے بطور ڈیٹا پورٹ کو 0x01 ویلیو دینا
3. E اعلی ہے (LCD کو ڈیٹا موصول کرنے کو کہتے ہیں) اور RS اونچی مقرر ہے (LCD کو بتانا کہ ہم ڈیٹا دے رہے ہیں)
characters. ہر کردار کو ایک ایک کر کے بھیجنے والے حروف کی تار لینا۔
5. ای کم ہے (LCD کو یہ بتانا کہ ہم ڈیٹا بھیجنے میں کام کر رہے ہیں)
6. آخری کمانڈ کے بعد LCD مواصلات کو ختم کرتا ہے اور ڈیٹا پر کارروائی کرتا ہے اور اسکرین پر کرداروں کی تار دکھاتا ہے۔
اس منظر نامے میں ہم ایک کے بعد ایک کرداروں کو بھیجنے جارہے ہیں۔ کرداروں کو LCD کو ASCII کوڈز (امریکن اسٹینڈرڈ کوڈ برائے انفارمیشن انٹرچینج) نے دیا ہے۔
ASCII کوڈوں کا جدول اوپر دکھایا گیا ہے۔ LCD کے لئے ایک کردار "@" ظاہر کرنے کے لئے ، ہمیں ایک ہیکساڈیسمل کوڈ "64" بھیجنا ہوگا۔ اگر ہم LCD پر '0x62' بھیجتے ہیں تو وہ '>' کی علامت ظاہر کرے گا۔ اس کی طرح ہم نام ظاہر کرنے کیلئے مناسب کوڈ LCD کو بھیج رہے ہیں۔
ایل سی ڈی اور اے ٹی میگا 32 اے وی آر مائکروکانٹرلر کے مابین مواصلات کے طریقے کو ذیل میں سی کوڈ کے قدم بہ قدم نیچے بیان کیا گیا ہے ،