- مطلوبہ مواد:
- فلیش میموری:
- آئی سی ایس پی (سرکٹ سیریل پروگرامنگ میں):
- سرکٹ اور ہارڈ ویئر:
- ایم پی ایل ای پی آئی پی کا استعمال کرتے ہوئے کوڈ کو جلا دینا:
ہمارے پچھلے دو سبق میں ہم نے اس بات پر تبادلہ خیال کیا کہ پی پی سی کے ساتھ کس طرح پی پی ایل ایکس اور ایکس سی 8 مرتب کا استعمال کرتے ہوئے آغاز کیا جائے ، ہم نے پی آئی سی کے ساتھ اپنا پہلا ایل ای ڈی بلنکنگ پروگرام بھی بنایا ہے اور نقلی شکل سے اس کی تصدیق کی ہے۔ اب وقت آگیا ہے کہ ہم ہارڈ ویئر پر ہاتھ ڈالیں۔ اس ٹیوٹوریل میں ہم PIC کا استعمال کرتے ہوئے ایل ای ڈی پلکنے کے لئے ایک پرفور بورڈ پر ایک چھوٹا سرکٹ بنائیں گے ۔ ہم پروگرام کو اپنے PIC مائکروقابو کنٹرولر پر پھینک دیں گے اور ایل ای ڈی پلک جھپکنے کی تصدیق کریں گے۔ PIC MCU کو پروگرام کرنے کے لئے ہم MPLAB IPE استعمال کریں گے۔
مطلوبہ مواد:
جیسا کہ ہمارے گذشتہ سبق میں زیر بحث آیا ہمیں مندرجہ ذیل مواد کی ضرورت ہوگی۔
- PicKit 3
- PIC16F877A IC
- 40 - پن آئی سی ہولڈر
- کامل بورڈ
- 20 میگا ہرٹز کرسٹل او ایس سی
- خواتین اور مرد برگسٹک پن
- 33 پی ایف کیپسیٹر - 2 نمبر ، 100 اف اور 10 اف کیپ۔
- 680 اوہم ، 10 کے اور 560 ہیم ریسائٹر
- کسی بھی رنگ کی ایل ای ڈی
- 1 سولڈرنگ کٹ
- آئی سی 7805
- 12V اڈاپٹر
جب ہم مائکرو قابو پانے والے کو "جلا" دیتے ہیں تو کیا ہوتا ہے !!
یہ معمول کی بات ہے کہ کوڈ کو ایک ایم سی یو میں اپ لوڈ کریں اور اسے ایم سی یو کے اندر کام کریں۔
اس کو سمجھنے کے ل our ، ہمارے پروگرام پر ایک نظر ڈالتے ہیں
جیسا کہ ہم دیکھ سکتے ہیں کہ یہ کوڈ سی-لینگویج میں لکھا ہوا ہے اور اس سے ہمارے ایم سی یو کو کوئی فائدہ نہیں ہوگا۔ یہ وہ جگہ ہے جہاں ہمارے مرتب کا حصہ آتا ہے۔ ایک مرتب کرنے والا وہ ہوتا ہے جو اس کوڈ کو مشین پڑھنے کے قابل شکل میں تبدیل کرتا ہے۔ اس مشین کے پڑھنے کے قابل فارم کو HEX کوڈ کہا جاتا ہے ، ہر پروجیکٹ جو ہم تخلیق کرتے ہیں اس کا HEX کوڈ ہوگا جو درج ذیل ڈائریکٹری میں ہوگا
** آپ کا مقام ** \ پلک جھپکانا \ Blink.X \ dist \ default \ product \ blink.X. product.hex
اگر آپ جاننے میں اتنی دلچسپی رکھتے ہیں کہ HEX کوڈ کیسا لگتا ہے تو ، نوٹ پیڈ کا استعمال کرکے اسے کھولیں۔ ہمارے پلکیں پروگرام کے لئے ، HEX کوڈ درج ذیل کی طرح نظر آئے گا:
: 060000000A128A11FC2F18: 100FAA008316031386018312031386018312031324: 100FBA0086150D30F200AF30F100C130F000F00BB1: 100FCA00E42FF10BE42FF20BE42F0000831203133A: 100FDA0086110D30F200AF30F100C130F000F00B95: 100FEA00F42FF10BF42FF20BF42F0000DB2F830107: 060FFA000A128A11D52F36: 02400E007A3FF7: 00000001FF
اس کو پڑھنے کے طریقے اور اس کو سمجھنے اور اس کو اسمبلی زبان میں واپس کرنے کے طریقے کیسے ہیں ، لیکن یہ اس ٹیوٹوریل کے دائرہ کار سے بالکل باہر ہے۔ لہذا ، اسے محض مختصر الفاظ میں ڈالنا۔ ایچ ای ایکس ہمارے کوڈنگ کا حتمی سافٹ ویئر نتیجہ ہے اور ایم سی یو کو جلانے کے لئے ایم پی ایل ای پی آئی پی ای کے ذریعہ بھیجا جائے گا۔
فلیش میموری:
ہیکس کوڈ فلیش میموری نامی ایک جگہ میں MCU میں ذخیرہ کیا جاتا ہے. فلیش میموری وہ جگہ ہے جہاں ہمارا پروگرام MCU کے اندر اسٹور کیا جائے گا اور وہاں سے پھانسی دی جائے گی۔ ایک بار جب ہم اپنے ایم پی ایل ایکس ایکس میں پروگرام مرتب کرتے ہیں تو ، ہمیں آؤٹ پٹ کنسول پر میموری کی قسم کے بارے میں درج ذیل معلومات مل جاتی۔
چونکہ ہم نے ابھی ایک چھوٹا سا ایل ای ڈی ٹمٹمانے والا پروگرام مرتب کیا ہے ، میموری کا خلاصہ یہ ظاہر کرتا ہے کہ ہم نے ابھی دستیاب پروگرام کی جگہ کا 0.5٪ اور ڈیٹا کی جگہ کا 1.4٪ استعمال کیا ہے۔
PIC16F877 مائکروقابو کنٹرولر کی یادداشت کو بنیادی طور پر 3 اقسام میں تقسیم کیا گیا ہے:
پروگرام میموری: اس میموری میں یہ پروگرام ہے (جسے ہم نے لکھا تھا) ، اسے جلانے کے بعد۔ ایک یاد دہانی کے طور پر ، پروگرام کاؤنٹر ایک کے بعد ایک ، پروگرام میموری میں محفوظ احکامات پر عمل درآمد کرتا ہے۔ چونکہ ہم نے بہت چھوٹا پروگرام لکھا ہے ، لہذا ہم نے کل جگہ کا صرف 0.5٪ استعمال کیا ہے۔ یہ ایک غیر مستحکم میموری ہے ، اس کا مطلب ہے کہ بجلی بند ہونے کے بعد ذخیرہ شدہ ڈیٹا ضائع نہیں ہوگا۔
ڈیٹا میموری: یہ رام میموری ٹائپ ہے ، جس میں ایک خصوصی رجسٹر شامل ہیں جیسے SFR (اسپیشل فنکشن رجسٹر) جس میں واچ ڈاگ ٹائمر ، براؤن آؤٹ ریسیٹ وغیرہ اور جی پی آر (جنرل مقصد رجسٹر) شامل ہے جس میں TRIS اور PORT وغیرہ شامل ہیں۔ پروگرام کے دوران ڈیٹا میموری میں ہمارے ایم سی یو کو آف کرنے کے بعد حذف کردیا جاتا ہے۔ پروگرام میں اعلان کردہ کوئی بھی تغیرات ڈیٹا میموری کے اندر ہوں گے۔ یہ بھی ایک مستحکم میموری ہے۔
ڈیٹا ایپروم (بجلی سے خارج ہونے والے پروگرام سے متعلق پڑھنے کے قابل صرف میموری): ایک ایسی میموری جو تحریری پروگرام کو جلانے کے نتیجے میں متغیرات کو ذخیرہ کرنے کی اجازت دیتی ہے۔ مثال کے طور پر اگر ہم ایک متغیر "a" تفویض کرتے ہیں تاکہ اس میں 5 کی قیمت کو بچایا جاسکے اور اسے EEPROM میں اسٹور کیا جاسکے تو یہ ڈیٹا ضائع نہیں ہوگا یہاں تک کہ اگر پاور آف ہے تو۔ یہ ایک غیر مستحکم میموری ہے۔
پروگرام میموری اور EEPROM غیر مستحکم یادیں ہیں ، اور اسے فلیش میموری یا EEPROM کہا جاتا ہے ۔
آئی سی ایس پی (سرکٹ سیریل پروگرامنگ میں):
ہم اپنے MCU میں دستیاب ICSP آپشن کا استعمال کرتے ہوئے اپنے PIC16F877A کو پروگرام کر رہے ہیں۔
اب ، آئی سی ایس پی کیا ہے؟
آئی سی ایس پی ایک آسان طریقہ ہے جو ایم سی یو کو ہمارے پروجیکٹ بورڈ کے اندر رکھنے کے بعد بھی پروگرام کرنے میں ہماری مدد کرتا ہے۔ ایم سی یو کو پروگرام کرنے کے لئے علیحدہ پروگرامر بورڈ رکھنے کی ضرورت نہیں ہے ، ہمیں صرف PicKit3 پروگرامر سے ہمارے بورڈ تک 6 رابطے ہیں:
1 |
VPP (یا MCLRn) |
پروگرامنگ موڈ میں داخل ہونے کے لئے۔ |
2 |
وی سی سی |
پاور پن 11 یا 32 |
3 |
GND |
گراؤنڈ پن 12 یا 31 |
4 |
پی جی ڈی - ڈیٹا |
آر بی 7۔ پن 40 |
5 |
پی جی سی۔ گھڑی |
آر بی 6 پن 39 |
6 |
PGM - LVP قابل بنائیں |
آر بی 3 / آر بی 4۔ لازمی نہیں ہے |
آئی سی ایس پی تمام پی آئی سی پیکجوں کے لئے موزوں ہے۔ ہمیں صرف اتنا کی ضرورت ہے کہ ذیل میں دی گئی تصویر میں دکھائے جانے والے ایم سی یو سے Pitit3 تک یہ پانچ پن (6 ویں پن پی جی ایم اختیاری ہے) نکالیں۔
سرکٹ اور ہارڈ ویئر:
اب ، ہمارے پاس ہمارا HEX کوڈ تیار ہے اور ہم یہ بھی جانتے ہیں کہ آئی سی ایس پی کا استعمال کرتے ہوئے اپنے PicKit 3 کو ہمارے PIC MCU سے کیسے جوڑنا ہے۔ تو ، آئیے آگے چلیں اور سرکیٹ کو نیچے دیئے گئے حکمت عملی کی مدد سے ڈھونڈیں:
مذکورہ بالا سرکٹ میں میں نے اپنے PIC MCU میں آؤٹ پٹ 5V کو باقاعدہ کرنے کے لئے 7805 استعمال کیا ہے۔ اس ریگولیٹر میں 12 وی وال مارٹ اڈاپٹر چلائے جائیں گے ۔ RED Led کا استعمال اس بات کی نشاندہی کرنے کے لئے کیا جاتا ہے اگر PIC چلتی ہے۔ کنیکٹر جے 1 کو آئی سی ایس پی پروگرامنگ کے لئے استعمال کیا جاتا ہے۔ مندرجہ بالا جدول میں بحث کے طور پر پنوں سے جڑے ہوئے ہیں۔
پہلے پن ایم سی ایل آر کو 10 کلو کی مدد سے پہلے سے طے شدہ ہونا ضروری ہے۔ یہ ایم سی یو کو دوبارہ ترتیب دینے سے روک سکے گا۔ ایم سی یو کو دوبارہ ترتیب دینے کے ل the ، ایم سی ایل آر کو زمین پر رکھنا ضروری ہے جو سوئچ ایس ڈبلیو 1 کی مدد سے کیا جاسکتا ہے۔
ایل ای ڈی 560 اوہم کے ایک ریسٹر کے ذریعہ پن آر بی 3 سے منسلک ہے (ایل ای ڈی ریزٹر کیلکولیٹر دیکھیں)۔ اگر ہمارا پروگرام اپ لوڈ ہوجانے کے بعد سب کچھ ٹھیک ہوجاتا ہے تو اس پروگرام کی بنیاد پر یہ ایل ای ڈی پلک جھپکتی رہتی ہے ۔ مکمل سرکٹ اس پر موجود تمام اجزاء کو سولڈرنگ کے ذریعے پرفورڈ پر بنایا گیا ہے کیونکہ آپ سب سے اوپر کی تصویر میں دیکھ سکتے ہیں۔
ایم پی ایل ای پی آئی پی کا استعمال کرتے ہوئے کوڈ کو جلا دینا:
کوڈ کو جلانے کے لئے ، درج ذیل اقدامات پر عمل کریں:
- MPLAB IPE لانچ کریں۔
- آپ کی PicKit 3 کے ایک سرے کو اپنے کمپیوٹر سے جوڑیں اور دوسرے سرے پرایف بورڈ پر اپنے ICSP پنوں سے جوڑیں۔
- کنیکٹ کے بٹن پر کلک کرکے اپنے PIC ڈیوائس سے رابطہ کریں۔
- پلکیں ہیکس فائل کے لئے براؤز کریں اور پروگرام پر کلک کریں۔
اگر ، سب کچھ منصوبہ بندی کے مطابق ہوتا ہے تو آپ کو کامیابی کا پیغام اسکرین پر ملنا چاہئے۔ مکمل مظاہرے کے لئے نیچے کوڈ اور ویڈیو دیکھیں اور اگر آپ کو کوئی شبہ ہے تو کمنٹ سیکشن کا استعمال کریں۔
شکریہ !!!
آئیے اگلے سبق میں ملیں جہاں ہم زیادہ ایل ای ڈی اور سوئچ کے ساتھ کھیلیں گے۔