- PIC16F877A میں EEPROM:
- سرکٹ ڈایاگرام اور وضاحت:
- PIC EEPROM کے استعمال کی نقالی:
- پروگرامنگ PIC برائے EEPROM:
- کام کرنا:
اس ٹیوٹوریل میں ہم سیکھیں گے کہ PIC16F877A مائکروکانٹرولر میں موجود EEPROM کا استعمال کرتے ہوئے ڈیٹا کو محفوظ کرنا کتنا آسان ہے ۔ زیادہ تر ریئل ٹائم پروجیکٹس میں ہمیں کچھ ڈیٹا محفوظ کرنا پڑے گا جو بجلی بند ہونے پر بھی مٹانا نہیں چاہئے۔ یہ ایک پیچیدہ عمل کی طرح محسوس ہوسکتا ہے ، لیکن XC8 کمپائلر کی مدد سے یہ کام صرف ایک لائن کوڈ کا استعمال کرکے کیا جاسکتا ہے۔ اگر میگا بائٹس کے لحاظ سے ڈیٹا بڑا ہے تو ہم اسٹوریج ڈیوائس جیسے ایس ڈی کارڈ کو انٹرفیس کرسکتے ہیں اور ان ڈیٹا کو ان پر اسٹور کرسکتے ہیں۔ لیکن اگر ہم اعدادوشمار کم ہیں تو ہم تھک جانے والے اس عمل سے بچ سکتے ہیں ، ہم اپنے ڈیٹا کو بچانے اور جب بھی چاہتے ہیں اس کو بازیافت کرنے کے لئے پی آئی سی مائکروکન્ટولر میں موجود EEPROM کو صرف استعمال کرسکتے ہیں۔
یہ PIC EEPROM ٹیوٹوریل PIC مائکرو قابو پانے والے سبق کے سلسلے کا ایک حصہ ہے جس میں ہم نے ایک بہت ہی بنیادی سطح سے آغاز کیا۔ اگر آپ پچھلے سبق نہیں سیکھتے ہیں تو بہتر ہوگا کہ اب ان پر ایک نظر ڈالیں ، کیوں کہ اس سبق سے یہ فرض کیا جاتا ہے کہ آپ پی آئی سی مائکروکونٹرولر کے ساتھ انٹرفیسنگ ایل سی ڈی سے واقف ہیں اور پی آئی سی مائکروکنٹرولر کے ساتھ اے ڈی سی کا استعمال کرتے ہوئے۔
PIC16F877A میں EEPROM:
EEPROM "الیکٹرانک ایریز ایبل اور پروگرام لائق صرف پڑھنے والی میموری" کے لئے کھڑے ہیں۔ جیسا کہ نام سے پتہ چلتا ہے کہ یہ پی آئی سی مائکروکونٹرولر کے اندر موجود ایک یادداشت ہے جس میں ہم پروگرام کرنے کے ذریعہ ڈیٹا لکھ سکتے / پڑھ سکتے ہیں۔ اس میں محفوظ کردہ ڈیٹا کو تب ہی مٹایا جا. گا جب اس میں پروگرام میں ایسا کرنے کا ذکر کیا گیا ہو۔ EEPROM میں دستیاب اسٹوریج اسپیس کی مقدار ہر مائکروکانٹرولر پر مختلف ہوتی ہے۔ تفصیلات ہمیشہ کی طرح ڈیٹا شیٹ میں دی جائیں گی۔ ہمارے معاملے میں PIC16F877A کے لئے دستیاب جگہ 256 بائٹ ہے جیسا کہ اس کی تفصیلات ڈیٹا شیٹ میں مذکور ہے۔ اب آئیے یہ دیکھیں کہ ہم ان 256 بائٹس کو ایک سادہ تجرباتی سیٹ اپ استعمال کرکے ڈیٹا کو پڑھنے / لکھنے کے لئے کس طرح استعمال کرسکتے ہیں۔
سرکٹ ڈایاگرام اور وضاحت:
پروجیکٹ کے لئے سرکٹ ڈایاگرام اوپر دکھایا گیا ہے۔ ہم نے LCD انٹرفیس کیا ہے تاکہ اعداد و شمار کو محفوظ اور بازیافت کیا جاسکے۔ ایک عام پوٹینومیٹر اے این 4 ینالاگ چینل سے منسلک ہوتا ہے لہذا متغیر وولٹیج کو کھانا کھلانا ، یہ متغیر وولٹیج ایپرووم میں محفوظ ہونے والے اعداد و شمار کے طور پر استعمال ہوگا۔ ہم نے RB0 پر ایک پش بٹن کا بھی استعمال کیا ہے ، جب اس بٹن کو دبائے جانے کے بعد اینالاگ چینل کا ڈیٹا EEPROM میں محفوظ ہوجائے گا۔
یہ رابطہ روٹی بورڈ پر بنایا جاسکتا ہے۔ PIC مذکور Microcontroller کے pinouts مندرجہ ذیل ٹیبل میں دکھایا گیا ہے.
سیریل نمبر: |
پن نمبر |
پن کا نام |
سے جڑا ہوا |
1 |
21 |
آر ڈی 2 |
LCD کا RS |
2 |
22 |
آر ڈی 3 |
LCD کا ای |
3 |
27 |
آر ڈی 4 |
LCD کا D4 |
4 |
28 |
آر ڈی 5 |
LCD کا D5 |
5 |
29 |
آر ڈی 6 |
LCD کا D6 |
6 |
30 |
آرڈی 7 |
LCD کا D7 |
7 |
33 |
آر بی او / آئی این ٹی |
دبانے والا بٹن |
8 |
7 |
اے این 4 |
پوٹینومیٹر |
PIC EEPROM کے استعمال کی نقالی:
اس پروجیکٹ میں پروٹیوس کا استعمال کرتے ہوئے ڈیزائن کردہ ایک نقلیہ بھی شامل ہے ، جس کا استعمال کرتے ہوئے ہم بغیر کسی ہارڈ ویئر کے منصوبے کے کام کی نقل تیار کرسکتے ہیں۔ اس تخروپن کے لئے پروگرام اس سبق کے آخر میں دیا گیا ہے۔ آپ آسانی سے یہاں سے ہیکس فائل کا استعمال کرسکتے ہیں اور پورے عمل کو نقل کرسکتے ہیں۔
تخروپن کے دوران آپ موجودہ ADC قدر اور LEP اسکرین پر EEPROM میں محفوظ کردہ ڈیٹا کو دیکھ سکتے ہیں۔ موجودہ ADC ویلیو کو EEPROM میں محفوظ کرنے کے لئے ، صرف RB0 سے منسلک سوئچ کو دبائیں اور اس سے بچت ہوگی۔ تخروپن کا ایک سنیپ شاٹ نیچے دکھایا گیا ہے۔
پروگرامنگ PIC برائے EEPROM:
اس سبق کے لئے مکمل کوڈ اس سبق کے آخر میں دیا گیا ہے۔ ہمارے پروگرام میں ہمیں اے ڈی سی ماڈیول کی قدریں پڑھنی پڑتی ہیں اور جب ایک بٹن دب جاتا ہے تو ہمیں اس ویلیو کو اپنے EEPROM میں محفوظ کرنا ہوتا ہے۔ چونکہ ہم پہلے ہی ADCs اور LCD انٹرفیسنگ کے بارے میں جان چکے ہیں ، لہذا میں EEPROM سے ڈیٹا کو بچانے اور بازیافت کرنے کے کوڈ کی مزید وضاحت کروں گا۔
ڈیٹاشیٹ کے مطابق ، "ان آلات میں پروگرام فلیش کے 4 یا 8K الفاظ ہیں ، جس میں ایڈریس کی حد 0000h سے PIC16F877A کے لئے 1FFFh ہے"۔ اس کا مطلب یہ ہے کہ ہر EEPROM اسٹوریج کی جگہ کا ایک پتہ ہوتا ہے جس کے ذریعے اس تک رسائی حاصل کی جاسکتی ہے اور ہمارے ایم سی یو میں پتہ 0000h سے 1FFFh تک شروع ہوتا ہے۔
کسی EEPROM ایڈریس کے اندر کسی ڈیٹا کو محفوظ کرنے کے لئے نیچے دیئے گئے لائن کا استعمال کریں۔
eeprom_writ (0، adc)؛
یہاں “adc” ٹائپ انٹیجر کی ایک متغیر ہے جس میں محفوظ کرنے والا ڈیٹا موجود ہے۔ اور "0" EEPROM کا پتہ ہے جس پر ہمارا ڈیٹا محفوظ ہوتا ہے۔ نحو "eeprom_writ" ہمارے XC8 کمپلر کے ذریعہ فراہم کیا گیا ہے لہذا رجسٹر خود کار طریقے سے مرتب کرنے والے کے ذریعہ دیکھ بھال کریں گے۔
EEPROM میں پہلے سے ذخیرہ شدہ ڈیٹا کو بازیافت کرنے اور اسے متغیر میں محفوظ کرنے کیلئے درج ذیل کوڈ کی لائن استعمال کی جاسکتی ہے۔
سیڈک = (انٹ) ایپرم_ریڈ (0)؛
یہاں ، "سیڈک" متغیر ہے جس میں EEPROM سے آنے والا ڈیٹا محفوظ ہوگا۔ اور "0" EEPROM کا پتہ ہے جہاں سے ہم ڈیٹا بازیافت کر رہے ہیں۔ نحو "eeprom_read" ہمارے XC8 کمپلر کے ذریعہ فراہم کیا گیا ہے لہذا رجسٹر خود کار طریقے سے مرتب کرنے والے کے ذریعہ دیکھ بھال کریں گے۔ EEPROM میں محفوظ کردہ ڈیٹا ہیکساڈیسمل قسم میں ہوگا۔ لہذا ہم نحو سے پہلے ان (انٹ) کو پہلے سے بنا کر انٹیجر ٹائپ میں تبدیل کرتے ہیں۔
کام کرنا:
ایک بار جب ہم سمجھ گئے کہ کوڈ کس طرح کام کرتا ہے اور ہارڈ ویئر کے ساتھ تیار ہوجاتا ہے تو ہم کوڈ کو جانچ سکتے ہیں۔ کوڈ کو اپنے پی آئی سی مائکروکنٹرولر پر اپ لوڈ کریں اور سیٹ اپ کو طاقت دیں۔ اگر ہر چیز توقع کے مطابق کام کر رہی ہے تو پھر آپ کو ایل ڈی سی میں دکھائے جانے والے موجودہ اے ڈی سی قدروں کو دیکھنا چاہئے۔ اب آپ ADE قدر EEPROM میں محفوظ کرنے کے لئے بٹن دبائیں۔ اب آپ چیک کریں کہ آیا سارا سسٹم آف کرکے اور اسے دوبارہ آن کر کے قدر محفوظ کی گئی ہے یا نہیں۔ جب آپ چلاتے ہو تو LCD اسکرین پر پچھلی محفوظ قیمت کو دیکھنا چاہئے۔
پی آئی سی مائکروکنٹرولر EEPROM استعمال کرنے کے لئے اس منصوبے کا مکمل کام ذیل ویڈیو میں دکھایا گیا ہے۔ امید ہے کہ آپ ٹیوٹوریل کو سمجھ گئے ہوں گے اور اسے کرنے میں لطف اندوز ہوں گے۔ اگر آپ کو کوئی شبہ ہے تو آپ ذیل میں کمنٹ سیکشن پر لکھ سکتے ہیں یا ہمارے فورمز پر پوسٹ کرسکتے ہیں۔