- 16x2 ڈاٹ میٹرکس LCD کنٹرولر IC HD44780:
- 16x2 LCD پر اپنی مرضی کے مطابق کردار کی نمائش:
- پروگرامنگ اور ورکنگ وضاحت:
- سرکٹ رابطے اور جانچ:
ہمارے پچھلے سبق میں ، ہم نے سیکھا ہے کہ پی آئی سی مائکروکانٹرولر کے ساتھ 16 * 2 LCD کا انٹرفیس کیسے کریں۔ ہم آپ کو مشورہ دیتے ہیں کہ اگر آپ پی آئی سی مائکروکنٹرولر میں ابتدائی ہیں تو ، مزید آگے جانے سے پہلے اس میں سے گزریں۔ اس سے قبل ہم نے پی آئی سی مائکروقابو کنٹرولر میں ایل ای ڈی بلنکنگ پروگرام اور ٹائمر استعمال کرکے پی آئی سی کی بنیادی باتیں بھی سیکھ لیں۔ آپ یہاں پی پی آئی سی ایکس اور ایکس سی 8 کمپیلر کا استعمال کرتے ہوئے لرننگ پی آئی سی مائکروکنٹرولرز سے متعلق سبھی سبق دیکھ سکتے ہیں۔
اس ٹیوٹوریل میں ، آئیے ہم اپنی مرضی کے مطابق کرداروں کو تخلیق کرکے اور PIC16F877A PIC مائکروکنوٹرر کا استعمال کرکے اپنی LCD اسکرین پر ان کی نمائش کرکے اسے مزید دلچسپ بناتے ہیں ۔ نیز ایچ ڈی 44780 اے آئی سی کے ذریعہ دیئے گئے کچھ پہلے سے طے شدہ زیادہ تر استعمال شدہ حسب ضرورت حروف بھی موجود ہیں ، ہم یہ بھی دیکھیں گے کہ ہم ان کو کیسے استعمال کرسکتے ہیں۔ جیسا کہ ہمارے گذشتہ سبق میں وضاحت کی گئی ہے کہ ہمارے LCD میں ایک ہٹاچی HD44780 کنٹرولر موجود ہے جو ہمیں کرداروں کو ظاہر کرنے میں مدد کرتا ہے۔ ہر ایک کردار جو ہم دکھاتے ہیں وہ پہلے سے ہی HD44780 IC کے ROM کے اندر پہلے سے طے شدہ ہے۔ ہم LCD پر کردار کی نمائش سے پہلے LCD کنٹرولر IC HD44780 کے بارے میں سیکھیں گے۔
16x2 ڈاٹ میٹرکس LCD کنٹرولر IC HD44780:
کسٹم کسٹر کو ظاہر کرنے کے ل we ، ہمیں کسی نہ کسی طرح آئی سی کو بتانا ہوگا کہ کسٹم کسٹر کی طرح دکھائے گا۔ ایسا کرنے کے لئے یہ ہے کہ ہم کے بارے میں کیا پتہ ہونا چاہیئے HD44780 LCD کنٹرولر آایسی اندر یادیں موجود کی تین اقسام:
کریکٹر جنریٹر روم (سی جی آر او ایم): یہ صرف پڑھنے والی میموری ہے ، جیسا کہ پہلے کہا گیا ہے ، اس کے اندر پہلے سے بیان کردہ حروف کے تمام نمونوں پر مشتمل ہے۔ یہ ROM ہر قسم کے انٹرفیس IC سے مختلف ہوگا ، اور کچھ کے ساتھ ان میں کچھ پہلے سے طے شدہ حسب ضرورت کردار بھی ہوسکتا ہے۔
ڈسپلے ڈیٹا رام (DDRAM): یہ ایک بے ترتیب رسائی میموری ہے۔ ہر بار جب ہم کسی کردار کو دکھاتے ہیں تو اس کا نمونہ CGROM سے لے کر ڈی ڈی آر ایم میں منتقل کیا جائے گا اور پھر اسکرین پر رکھا جائے گا۔ اسے آسان الفاظ میں بتانے کے لئے ، ڈی ڈی آرام کے پاس ایسے تمام حروف کے نمونے ہوں گے جو اس وقت ایل سی ڈی اسکرین پر آویزاں ہیں۔ اس طرح ہر چکر کے لئے آئی سی کو سی جی آر او ایم سے اعداد و شمار کی بازیافت کرنے کی ضرورت نہیں ہے ، اور مختصر اپ ڈیٹ فریکوینسی حاصل کرنے میں معاون ہے
کریکٹر جنریٹر رام (سی جی آر اے ایم): یہ ایک بے ترتیب رسائی میموری بھی ہے ، لہذا ہم اس سے ڈیٹا لکھ سکتے اور پڑھ سکتے ہیں۔ جیسا کہ نام سے ظاہر ہوتا ہے کہ یہ میموری وہی ہوگی جو کسٹم کردار کو تخلیق کرنے میں استعمال ہوسکتی ہے۔ ہمیں کردار کے لئے ایک نمونہ تشکیل دینا ہے اور اسے سی جی آر اے ایم میں لکھنا ہے ، جب ضرورت ہو تو اس نمونے کو سکرین پر پڑھا اور ڈسپلے کیا جاسکتا ہے۔
اب ، چونکہ ہمیں HD44780 انٹرفیس IC میں موجود میموری کی اقسام کی بنیادی تفہیم ملی ہے۔ آئیے ہم اس کے ڈیٹاشیٹ پر ایک نظر ڈالیں اور کچھ اور سمجھنے کے ل.۔
جیسا کہ ، ڈیٹاشیٹ سے ظاہر ہوتا ہے ، ایچ ڈی 44780 آئی سی نے سی جی آر اے ایم میں ہمارے کسٹم نمونوں کو ذخیرہ کرنے کے لئے 8 مقامات کی حیثیت سے فراہم کی ہے ، دائیں طرف بھی ہم دیکھ سکتے ہیں کہ کچھ پہلے سے طے شدہ حرف ہیں جو ہماری LCD اسکرین پر بھی آویزاں ہوسکتے ہیں۔ آئیے دیکھیں کہ ہم اسے کیسے کر سکتے ہیں۔
16x2 LCD پر اپنی مرضی کے مطابق کردار کی نمائش:
کسٹم کردار کو ظاہر کرنے کے لئے ہمیں پہلے اس کے لئے ایک نمونہ تیار کرنا ہوگا اور پھر اسے سی جی آر اے ایم میں محفوظ کرنا ہوگا۔ چونکہ ہمارے پاس لائبریری کا کام پہلے سے موجود ہے لہذا ، کچھ آسان احکامات کے ذریعہ ایسا کرنا آسان ہونا چاہئے۔ یہاں LCD افعال کے لئے لائبریری موجود ہے ، لیکن یہاں ہم نے پروگرام میں ہی لائبریری کے تمام افعال کو کاپی پیسٹ کیا ہے ، لہذا ہمارے ہیڈر فائل کو اپنے پروگرام میں شامل کرنے کی ضرورت نہیں ہے۔ اس مضمون کو بنیادی LCD کام کرنے اور اس کے پن آؤٹ کے لئے بھی دیکھیں۔
پہلا قدم ایک نمونہ یا کسٹم کردار پیدا کرنا ہے۔ جیسا کہ ہم جانتے ہیں کہ ہر کردار 5 * 8 نقطوں کا مجموعہ ہے۔ ہمیں منتخب کرنا ہے کہ کون سا ڈاٹ (پکسل) اونچا جانا چاہئے اور کون سا کم رہنا چاہئے۔ صرف نیچے کی طرح ایک ڈبہ کھینچ کر اپنے کردار کی بنیاد پر علاقوں کو سایہ کریں۔ میرا کردار یہاں ایک چھڑی والا آدمی ہے (امید ہے کہ ایسا ہی لگتا ہے)۔ ایک بار شیڈ شیڈ کرنے کے بعد ، نیچے دکھائے گئے مطابق ہر بائٹ کی مساوی بائنری ویلیو لکھیں۔
ہر بائٹ کے لئے سایہ دار خطے پر صرف '1' اور غیر شیڈ خطے پر ایک '0' لگائیں ، اور یہی ہمارا کسٹم نمونہ تیار ہے۔ اسی طرح میں نے اپنی 8 میموری خالی جگہوں کے لئے 8 کسٹم پیٹرن کوڈز تیار کیے ہیں جو اسے CGROM میں پیش کرتے ہیں ۔ وہ نیچے دیئے گئے جدول میں درج ہیں۔
سیریل نمبر: |
کسٹم کریکٹر |
پیٹرن کوڈ |
1 |
|
0b01110 ، 0b01110 ، 0b00100 ، 0b01110 ، 0b10101 ، 0b00100 ، 0b01010 ، 0b01010 |
2 |
|
0b00000 ، 0b00000 ، 0b01010 ، 0b00100 ، 0b00100 ، 0b10001 ، 0b01110 ، 0b00000 |
3 |
|
0b00100 ، 0b01110 ، 0b11111 ، 0b11111 ، 0b01110 ، 0b01110 ، 0b01010 ، 0b01010 |
4 |
|
0b01110 ، 0b10001 ، 0b10001 ، 0b11111 ، 0b11011 ، 0b11011 ، 0b11111 ، 0b00000 |
5 |
|
0b01110 ، 0b10000 ، 0b10000 ، 0b11111 ، 0b11011 ، 0b11011 ، 0b11111 ، 0b00000 |
6 |
|
0b00000 ، 0b10001 ، 0b01010 ، 0b10001 ، 0b00100 ، 0b01110 ، 0b10001 ، 0b00000 |
7 |
|
0b00000 ، 0b00000 ، 0b01010 ، 0b10101 ، 0b10001 ، 0b01110 ، 0b00100 ، 0b00000 |
8 |
|
0b11111 ، 0b11111 ، 0b10101 ، 0b11011 ، 0b11011 ، 0b11111 ، 0b10001 ، 0b11111 |
نوٹ: سی جی آر اے ایم میں فراہم کردہ 8 جگہوں کو لوڈ کرنا لازمی نہیں ہے۔
پروگرامنگ اور ورکنگ وضاحت:
اب ہمارے پیٹرن کوڈ تیار ہیں ، ہمیں انہیں LCD کے CGRAM پر لوڈ کرنا ہے اور PIC مائکروکانٹرولر کا استعمال کرتے ہوئے انھیں ڈسپلے کرنا ہے۔ انہیں سی جی آر اے ایم میں لادنے کے ل To ہم عناصر کی 5 * 8 سرنی تشکیل دے سکتے ہیں اور ' لوپ فار لوپ ' استعمال کرکے ہر بائٹ کو لوڈ کرسکتے ہیں۔ پیٹرن کوڈ کا سرنی نیچے دکھایا گیا ہے:
کانسٹ غیر دستخط شدہ چھوٹا کسٹم_چھار5x8 = {0b01110،0b01110،0b00100،0b01110،0b10101،0b00100،0b01010،0b01010، // CGRAM میموری کی جگہ کے لئے کوڈ 1 0b00000،0b00000،0b01010b0100 ، 100b0100 ، 100b0100 ، 100b0100 سی جی آر اے ایم میموری کی گنجائش 2 0b00100،0b01110،0b11111،0b11111،0b01110،0b01110،0b01010،0b01010 ، // سی جی آر اے ایم میموری کی جگہ کے لئے کوڈ 3 0b01110،0b10001،0b10001،0b11111011111111111 ، 01b0110110 اسپیس 4 0b01110،0b10000،0b10000،0b11111،0b11011،0b11011،0b11111،0b00000 ، // CGRAM میموری کی جگہ کے لئے کوڈ 5 0b00000،0b10001،0b01010،0b10001،0b00100،0b01110،0b10001، C010001001001 0b00000،0b00000،0b01010،0b10101،0b10001،0b01110،0b00100،0b00000 ، // CGRAM میموری کی جگہ کے لئے کوڈ 7 0b11111،0b11111،0b10101،0b11011،0b11011،0b111110b10001011111110111111
ہر میموری کی جگہ اس کے معزز کردار کے نمونے سے لدی ہوئی ہے۔ اس پیٹرن کو ایچ ڈی 44780 آای سی میں لوڈ کرنے کے لئے ، ایچ ڈی 44780 کی ڈیٹا شیٹ کا حوالہ دینا ہوگا ، لیکن یہ صرف لائن آف کمانڈ ہے جو سی جی آر اے ایم ایڈریس کو سیٹ کرنے کے لئے استعمال کیا جاسکتا ہے۔
// *** CGROM میں کسٹم چار لوڈ کریں *** ////// Lcd_Cmd (0x04)؛ // سی جی آر اے ایم ایڈریس Lcd_Cmd (0x00) سیٹ کریں؛ //.. کے لئے سی جی آر اے ایم ایڈریس مقرر کریں (i = 0؛ i <= 63؛ i ++) ایل سی ڈی_پرینٹ_چار (کسٹم_چھار5x8)؛ Lcd_Cmd (0)؛ // گھر واپس لوٹ آئیں Lcd_Cmd (2)؛ //.. واپس گھر // // * کسٹم چار لوڈ ہو رہا ہے مکمل *** //////
یہاں ، ' لوپ کے لئے ' کے اندر ہر بائنری ویلیو CGROM میں لاد جاتی ہے۔ ایک بار جب پیٹرن لوڈ ہو جاتا ہے تو ، حسب ضرورت حروف کو نمونہ کے لئے پیٹرن کے محل وقوع پر کال کرکے Lcd_Ppr_Char (چارٹ ڈیٹا) فنکشن کا استعمال کرکے نیچے دکھایا گیا ہے۔
ایل سی ڈی_پرنٹ_چار (0)؛ // ڈسپلے کسٹم کریکٹر 0 Lcd_Pپرن_Char (1)؛ // اپنی مرضی کے مطابق کردار 1 ایل سی ڈی_پرنٹ_چھر (2) ڈسپلے کریں؛ // ڈسپلے کسٹم کریکٹر 2 ایل سی ڈی_پرنٹ_چار (3)؛ // ڈسپلے کسٹم کریکٹر 3 ایل سی ڈی_پرنٹ_چار (4)؛ // ڈسپلے کسٹم کریکٹر 4 ایل سی ڈی_پرنٹ_چار (5)؛ // ڈسپلے کسٹم کریکٹر 5 ایل سی ڈی_پرینٹ_چار (6)؛ // ڈسپلے کسٹم کریکٹر 6 ایل سی ڈی_پرینٹ_چار (7)؛ // اپنی مرضی کے مطابق کردار 7 دکھائیں
پیش وضاحتی خصوصی کریکٹر پرنٹ کریں:
ایچ ڈی 44780 آئی سی میں کچھ پہلے سے طے شدہ خصوصی حرف ہیں جو ڈی ڈیرووم میں محفوظ ہیں۔ ڈیٹاشیٹ میں اس کے بائنری ویلیو کا حوالہ دے کر یہ حروف براہ راست اسکرین پر چھاپ سکتے ہیں۔
مثال کے طور پر: "ALPHA" حرف کی بائنری ویلیو 0b11100000 ہے۔ اس کو حاصل کرنے کا طریقہ ذیل کے اعدادوشمار سے سمجھا جاسکتا ہے ، اسی طرح آپ کسی خاص کردار کی بھی قیمت حاصل کرسکتے ہیں جو کہ آئی سی میں پہلے سے طے شدہ ہے۔
ایک بار جب بائنری ویلیو کا پتہ چل جاتا ہے تو ، اسی طرح کے کردار کو صرف باطل Lcd_Ppr_Char (چارہ ڈیٹا) فنکشن کا استعمال کرکے اسکرین پر پرنٹ کیا جاسکتا ہے جیسا کہ ذیل میں دکھایا گیا ہے ،
ایل سی ڈی_پرنٹ_چار (0b11100000)؛ ڈیٹا شیٹ سے الفا کی // بائنری ویلیو
اس پروجیکٹ کا مکمل کوڈ کوڈ سیکشن میں ذیل میں دیا گیا ہے ، اس ٹیوٹوریل کے آخر میں ویڈیو تفصیل کی تفصیل بھی دیکھیں۔
سرکٹ رابطے اور جانچ:
اس پروجیکٹ میں کسی بھی اضافی ہارڈویئر کی ضرورت نہیں ہے ، ہم نے گذشتہ LCD انٹرفیسنگ ٹیوٹوریل سے صرف اتنے ہی رابطے استعمال کیے ہیں اور اسی بورڈ کا استعمال کیا ہے جو ہم نے ایل ای ڈی ٹمٹمانے ٹیوٹوریل میں بنایا ہے۔ ہم ہمیشہ کی طرح اپنے آؤٹ پٹ کی تصدیق کے ل Pr پروٹیوس کا استعمال کرتے ہوئے پروگرام کی تقلید کرتے ہیں۔
ایک بار ہمارے پاس توقع کے مطابق نقالی چلنے کے بعد ، ہمارے ہارڈ ویئر کے سیٹ اپ میں کوڈ کو براہ راست جلانے دیں۔ پروگرام کی پیداوار کچھ اس طرح ہونا چاہئے:
لہذا آپ MPPLX اور XC8 مرتب کنندہ کے ساتھ PIC مائکروکونٹرولر کا استعمال کرتے ہوئے 16x2 LCD پر کسی بھی کسٹم کسٹر کو ظاہر کرسکتے ہیں ۔ یہاں ہمارا مکمل PIC مائکرو قابو پانے والا لرننگ سیریز بھی چیک کریں۔